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:
|DANIEL SEDIN||1630.218645||VAN||Left Wing|
|NICK FOLIGNO||1573.443362||CBJ||Left Wing|
|JAROMIR JAGR||1554.764764||N.J||Right Wing|
|BLAKE COMEAU||1486.698405||CBJ||Left Wing|
|PATRIC HORNQVIST||1452.409958||NSH||Right Wing|
|ERIC TANGRADI||1439.207487||WPG||Left Wing|
|JASON POMINVILLE||1436.860244||MIN||Right Wing|
|TEDDY PURCELL||1410.34322||T.B||Right Wing|
|ZACH PARISE||1404.73598||MIN||Left Wing|
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:
|JERRED SMITHSON||610.6890248||TOR||Right Wing|
|CHRIS CONNER||593.0966922||PIT||Right Wing|
|DEVANTE SMITH-PELLY||587.8289646||ANA||Right Wing|
|KRYS BARCH||584.0378267||FLA||Right Wing|
|LUKE GAZDIC||473.9170133||EDM||Left Wing|
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.