FenwickElo - Elo Rating System for the NHL Part 2

Josh W
March 26 2014 01:47PM


In my last post I introduced the concept of the Elo Rating System to use in evaluating NHL players. As a quick reminder the theory of the Elo Rating system was to try and rank players in the NHL based on who are on the ice for a lot of goals for vs against while trying to adjust for Quality of Competition and Quality of Teammates.

The previous version was based on goal data only. This was due to a couple reasons, mostly due to speed issues as well as the length of time it takes to parse an NHL Play by Play Sheet (due to their horribly written HTML markup). This version I am introducing in this post is based shot data, as many of you have come back to me and suggested.

Read past the jump to learn the newest methods, results and more.


Many of you asked for the Python code for the previous version, well here is a link to the paste bin of it.  If you haven't read the previous post I highly suggest you do before continuing. I was also directed to HockeyReference's Elo Rating of Hockey played byTwitterer @tsetse_fly. Their Elo is based on voting of who people think is better, it's a 'hot or not' version rather that looking at their on-ice work.

In this version rather than using just goals I used shot data: goals, shots and shot attempts. Basically this is a "Fenwick Elo". One of the obvious advantages is that it gives us a lot more "competitions" between on-ice squads.  I avoided blocks as I wasn't sure who would be considered the winner of that battle: the team employing the defensive maneuver or the team in the offensive zone.

I also looked at even strength shots only: 5v5, 4v4, 3v3. This should iron out some wrinkles with players who might be negatively affected for lots of penalty kill time, or remove the advantage of players with lots of power play time.

Team names and player positions were tracked if you wish to due further analysis of the data yourself.

The remainder of the Elo method remained the same in terms of calculating the two squads Elos and calculating them. K was set to 32 for maximum change. 


The full results can be found here. For a quick snippet here are the top 20 players:

Name Elo Team Position
DANIEL SEDIN 1630.218645 VAN Left Wing
NICK FOLIGNO 1573.443362 CBJ Left Wing
JAROMIR JAGR 1554.764764 N.J Right Wing
MARK GIORDANO 1512.310084 CGY Defense
JONATHAN TOEWS 1502.361344 CHI Center
BLAKE COMEAU 1486.698405 CBJ Left Wing
HAMPUS LINDHOLM 1469.21364 ANA Defense
DEREK GRANT 1459.451048 OTT Center
PATRIC HORNQVIST 1452.409958 NSH Right Wing
BRENDAN SMITH 1450.861459 DET Defense
CODY FRANSON 1450.742004 TOR Defense
TJ BRODIE 1441.704434 CGY Defense
ERIC TANGRADI 1439.207487 WPG Left Wing
JASON POMINVILLE 1436.860244 MIN Right Wing
DANIEL BRIERE 1430.555034 MTL Center
TYLER TOFFOLI 1415.028621 L.A Center
TEDDY PURCELL 1410.34322 T.B Right Wing
MATT NISKANEN 1405.799216 PIT Defense
ZACH PARISE 1404.73598 MIN Left Wing
RAPHAEL DIAZ 1404.247815 NYR Defense

Remember, the Elo rating is going to score players playing with weak teammates, this year, and against tough competition. Scoring a lot against weak competition or with strong teammates will not bring your rating up nearly as high. On the other end of the spectrum here are the 20 worst Elo scores:

Name Elo Team Position
BEN BISHOP 627.0408897 T.B Goalie
ANTON KHUDOBIN 621.7372896 CAR Goalie
JERRED SMITHSON 610.6890248 TOR Right Wing
CRAIG ANDERSON 609.2297023 OTT Goalie
ED JOVANOVSKI 604.4935272 FLA Defense
AARON NESS 599.0821654 NYI Defense
GREGORY CAMPBELL 598.0315219 BOS Center
ZACH SILL 596.5673833 PIT Center
CHRIS CONNER 593.0966922 PIT Right Wing
DEVANTE SMITH-PELLY 587.8289646 ANA Right Wing
HENRIK TALLINDER 587.8199122 BUF Defense
KRYS BARCH 584.0378267 FLA Right Wing
MANNY MALHOTRA 581.7133006 CAR Center
MIKE SMITH 569.8379964 PHX Goalie
STEPHEN WEISS 556.8314085 DET Center
SEMYON VARLAMOV 532.1128363 COL Goalie
DENNIS SEIDENBERG 508.5944875 BOS Defense
ROB SCUDERI 490.9733628 PIT Defense
LUKE GAZDIC 473.9170133 EDM Left Wing
BRIAN STRAIT 431.8880858 NYI Defense


Looking at the results the biggest take away I see initially is the huge amount of goalies in the bottom of the league while none are listed in the top 20. Since Elo is based on shot attempts the goal tender has absolutely no control over his score, it will be affected by how strong his team is and how strong their most common competition have been. We also see a lot of bottom line forwards and defencemen which makes sense given their roles and ice time.

It's still hard to say at this point whether Elo actually has any predictive powers for the NHL or if gives anything of value to these players. With the eye test it seems like the results are fairly descriptive of the good and bad players this year. 

If anything this was a fun experiment to run with. If you have any questions, ideas, suggestions, etc please feel free to share them. Any good ideas and I may continue playing with Elo and the NHL.

I'm just an hockey statistics analyst with a focus on hockey prospects. I currently live in Victoria, BC. In my free time I am either programming, writing, working on CHLStats.com or working out. While I spend too much free time in front of a computer I enjoy rowing, running and weight lifting.