Beyond +/-: A Rating System to Compare NHL Players
Dennis F. Lock
Michael E. Schuckers
St. Lawrence University
Understanding Plus/minus
Each time a goal or point is scored every player on the playing surface for the team scoring receives +1, and every player on the surface for the team being scored on receives -1.
We expand and utilize the notion of plus/minus to develop a few unique rating systems to compare NHL players (forwards and defensemen, goalies excluded).
Previous Work by Dr. Dan T. Rosenbaum(2004) Dr. Rosenbaum designed a method of using least squares and basketball
plus/minus to evaluate NBA player performance. His model:
where
MARGIN = 100*(Points per possession for the home team – points per possession for the away team)
1 if player j is playing at home, Xj is -1 if player j is playing away,
0 if player j is not playing
b0 = Home court advantage
bj = measures the difference between player j and the reference players, holding the other players constant.
Treating each unit of time in a game without a substitution as an observation, he collected more than 60,000 from the 2002/2003, and 2003/2004 seasons.
eXbXbXbbMARGIN nn ...22110
Problem Transferring to the NHL
Ratio of points/substitutions Far fewer points scored
The NBA averages 197.48 points per game, while the NHL averaged 5.75 goals per game in 2006/2007.
Many more substitutions Treating each unit of time in a game without a substitution as an observation does not
make much sense.
Solving the Low Scoring Average Problem
Since the scoring rate is so low in the NHL we decide to include a method to determine a value for other plays which occur throughout each game.
Table 1 shows a list of the plays that the NHL records in each play-by-play file.
Table 1
Blocked Shot Face-Off(Def) Face-Off(Neu) Face-Off(Off) Giveaway
Goal Goalie Pulled Hit Missed Shot Penalty
Shot Stoppage Takeaway
Determining Play Values Goal : 1 Stoppage and Goalie Pulled : 0 Face-Off, Giveaway, Hit, Missed Shot, Penalty, Takeaway:
whereYi = Value of each play,PGS(i,k) = Probability goal scored k seconds after play i,PG0(i,k) = Probability scored on k seconds after play i.
Shot, Blocked Shot:
),(),( kiPkiPY GOGSi
)),(),(()(#)(#
)(#kiPkiP
ShotsGoals
GoalsY GOGSi
Value for k
Value of k for plays other then goal, stoppage, and goalie pulled: For penalties the value of k is determined by the length of a penalty,
most commonly 120 seconds. For all other plays we determined the best value for k to be 10
seconds. We chose this value since after 10 seconds the change in PGS(i,k)-PGO(i,k)
appears to fluctuate near zero.
),(),( kiPkiPY GOGSi
Value for kFigure 1
Change in PGS(i,k) – PGO(i,k) k seconds following an event
-Shot -Faceoff(Off)-Hit -Faceoff(Neu)-Takeaway -Faceoff(Def)-Giveaway -Missed Shot-Blocked Shot
Play Value Example Ex./ takeaway:
Using our formula for the value of a takeaway,
and the play-by-play provided by the NHL we examine all 17,634 takeaways from the 1,230 games of the 2006/2007 season.
From these takeaways we discovered that the team committing a takeaway scored within 10 seconds in 359 occasions, and got scored on in 51.
So
Therefore the value for a takeaway is 0.0174.
),(),( kiPkiPY GOGSi
0174.00029.00203.0634,17
51
634,17
359)10,()10,( iPiPY GOGSi
Play ValuesPlay PGS(k) PGO(k) Value
Blocked Shot 0.0040 0.0164 *0.0957
Faceoff Won (Def) 0.0011 0.0027 -0.0017
Faceoff Won (Neu) 0.0013 0.0006 0.0007
Faceoff Won (Off) 0.0119 0.0009 0.0110
Giveaway 0.0021 0.0247 -0.0226
Goal -------- -------- 1
Hit 0.0039 0.0085 -0.0046
Missed Shot 0.0125 0.0029 0.0094
Penalty (2) 0.0225 0.1759 -0.1534
Shot 0.0171 0.0024 *0.1226
Takeaway 0.0203 0.0029 0.0174
* Indicates adjustment for )(#)(#
)(#
GoalsShots
Goals
Gathering Data Using each play-by-play and matching time on ice data provided for the
1,230 games by the NHL we create an on ice matrix X (359,322 plays x 1,053 players). For Each Play every player will receive a
1 if the player is on the ice for the home team,-1 if the player is on the ice for the away team,0 if the player is not present on the ice
Also using the play-by-play and using the play values created by our model discussed previously we create a vector Y (359,322 plays) with the value for each play. Where for the home team the value of the play is its value, but for the away team
the value of the play is (-1) times its value. Ex./ Missed shot home = 0.0094
Missed shot away = -0.0094
Expanded Plus/minus Using our on ice matrix X and our play value vector Y we can create an
expanded plus/minus rating vector R for all of the 1,053 players that played in the 2006/2007 season, accounting for all plays.
For traditional plus minus the only plays involved would be goals, and all elements of Y would be plus or minus 1.
YXR t
Expanded Plus/minus Top Ten
Player Team (#) Position R
J. Thornton SJS (19) C 142.9346
T. Holmstrom DET (96) RW 125.197
P. Datsyuk DET (13) C 121.8541
T. Selanne ANA (8) RW 121.7894
D. Boyle TBL (22) D 118.0914
J. Cheechoo SJS (14) RW 115.1877
D. Heatley OTT (15) LW 112.3418
D. Alfredsson OTT (11) RW 108.1482
J. Jagr NYR (68) RW 107.3668
M. Schneider DET (23) D 105.428
Least Squares Model (adjusting for other players on ice) With our play values, matrix X, and vector Y we create a model similar
to Rosenbaum’s model for basketball,
where: Yi is the value of play i.1 if the player is on ice at home,
Xi,j is -1 if the player is on ice away,0 if the player is not on ice.
bj is the rating for player j.
Treating each play as an observation we have over 359,000 observations from the 2006/2007 season.
eXbXbXbY niniii ,2,21,1 ...
Least Squares Model Top Ten
Player Team (#) Position b
T. Selanne ANA (8) RW 0.0392
C. Perry ANA (10) RW 0.0381
J. Staal PIT (11) C 0.0365
T. Moen ANA (32) LW 0.0356
C. Drury BUF (23) RW 0.0354
S. Doan PHX (19) RW 0.0350
D. Sedin VAN (22) RW 0.0342
O. Nolan PHX (11) RW 0.0340
*S. Crosby PIT (87) C 0.0339
T. Vanek BUF (26) LW 0.0338
*Won the Hart Memorial Trophy for league MVP.
Observed - Expected Model With our play values, matrix X, and vector Y we create a model similar to
Rosenbaum’s model for basketball,
where: 1 if home team scored within k secondsAi is an indicator -1 if away team scored within k seconds.
0 if neither team scored within k seconds.
Yi is the expected play value for play i.1 if the player is on ice at home,
Xi,j is -1 if the player is on ice away,0 if the player is not on ice.
βj is the rating for player j.
Treating each play as an observation we have 359,322 observations from the 2006/2007 season.
eXXXYA niniiii ,2,21,1 ...
Observed - Expected Model Top Ten
Player Team (#) Position β
T. Vanek BUF (26) LW 0.0247
*S. Crosby PIT (87) C 0.0192
J. Madden NJD (11) C 0.0177
S. Gomez NJD (23) C 0.0176
S. Donovan BOS (22) RW 0.0175
T. Zajac NJD (19) C 0.0170
J. Staal PIT (11) C 0.0166
M. Talbot PIT (25) C 0.0146
O. Nolan PHX (11) RW 0.0143
S. Pahlsson ANA (26) C 0.0140
*Won the Hart Memorial Trophy for league MVP.
Summary
Traditional plus/minus Only accounts for goals
Expanded plus/minus Accounts for most plays
Adjusted expanded plus/minus Least squares model, accounts for other players on ice.
Observed - Expected plus/minus Compares actual results to expected performance
Directions for Future Work Recognizing special teams situations.
i.e power play, penalty kill, etc.
Zone information for each play. Off, Neu, Def
Specific shot information for each shot Type of shot (wrist, slap, etc.), distance of shot.
Include shootout information
Summary
Traditional plus/minus Only accounts for goals
Expanded plus/minus Accounts for most plays
Adjusted expanded plus/minus Least squares model, accounts for other players on ice.
Observed - Expected plus/minus Compares actual results to expected performance