Calculating Point Shares
Developed and written by Justin Kubatko
I. Introduction
In 2002, Bill James introduced the Win
Shares system to the world of baseball. The goal of the system was to
estimate the number of wins (actually, win shares) "created" by each
player.
Three years later, I used James' work as the foundation for a similar system
for basketball.
Since the system seems to work well in both baseball and basketball, I
decided to apply the idea to hockey. Some of the ideas I came up with were
motivated by research done by hockey analysts Tom Awad, Iain Fyffe, and Alan Ryder, among others.
* If you believe that any attempt to attribute team
success to individual players is an abomination, then read no further, as
this article will be of no interest to you.
II. What is a Point Share?
Bill James developed his system such that one win is equivalent to three
Win Shares. My system deviates from James' in three key ways:
- In James' system, one win is equivalent to three
Win Shares. In my system for hockey, one point is equivalent to one Point
Share.
- James made team Win Shares directly proportional to
team wins. In his system, a baseball team that wins 80 games will have
exactly 240 Win Shares, a baseball team
that wins 90 games will have exactly 270
Win Shares, etc. In my system for hockey, a team with 100 points will have
about 100 Point Shares, give or
take.
- James did not allow for the possibility of negative
Win Shares. In his system, the fewest number of Win Shares a player can
have is zero. In my system, a player can have negative Point Shares. I
justify this by thinking about it in the following way: a player with
negative Point Shares was so poor that he essentially took away points
that his teammates had generated.
III. Marginal Goals For and Marginal Goals Against
The Point Shares system is based on the fact that marginal goals for and
marginal goals against are linked to team points. At the team level,
marginal goals for and marginal goals against are equal to:
MGF = (team goals) - (7 / 12) × (team games) × (league goals per
game)
MGA = (1 + (7 / 12)) × (team games) × (league goals per game) -
(team goals against)
* Why 7/12? At even strengh a team has six players on
the ice, five skaters and one goalie. Imagine each of these players having
two chips to contribute to one of two buckets: offense and defense.
Collectively the skaters will contribute five chips to the offensive
bucket and five chips to the defensive bucket. However, the goalie will
contribute both of his chips to the defensive bucket, giving the defensive
bucket seven of the twelve chips.
Marginal goals for and marginal goals against can be converted into
expected points using the following formula:
Expected Points = (league points per goal) × (MGF + MGA)
For example, here is the calculation for the 2009-10 Pittsburgh Penguins:
MGF = 257 - (7 / 12) × 82 × 2.765 = 124.74
MGA = (1 + (7 / 12)) × 82 × 2.765 - 237 = 121.99
Expected Points = 0.4059 × (124.74 + 121.99) = 100.15
Actual Points = 101
Doing the same calculation for all team seasons from 1917-18 to 2009-10
produces an average absolute error of 4.43 points per 82 games and a root
mean squared error iof 5.95 points per 82 games.
IV. Crediting Offensive Point Shares to Skaters
Offensive Point Shares are credited to skaters based on goals created and either
time on ice (1998-99 to present) or games played (1917-18 to 1997-98).
A. 1998-99 to present
We'll use Sidney Crosby of the 2009-10 Pittsburgh Penguins as an
example:
- Calculate goals created for each
skater. In 2009-10, Crosby had an estimated 42.8 goals
created.
- Calculate marginal goals for each
skater. Marginal goals is equal to (goals created) - (7 / 12)
× (time on ice) × ((goals created by forwards or defensemen) /
(time on ice for forwards or defensemen)). For Crosby this is 42.8 - (7 /
12) × (106699) × (5280.1 / 25945836) = 30.1. Note that this
formula may produce a negative result for some skaters.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 2009-10 NHL this is 6803 / 2761 = 2.46.
- Credit Offensive Point Shares to the
skaters. Offensive Point Shares are credited using the following
formula: (marginal goals) / (marginal goals per point). Crosby gets credit
for 30.1 / 2.46 = 12.2 Offensive Point Shares.
B. 1917-18 to 1997-98
Time on ice is no longer available, so it will be replaced with games
played. We'll use Bobby Orr of the
1970-71 Boston Bruins as an
example:
- Calculate goals created for each
skater. In 1970-71, Orr had an estimated 47.0 goals created.
- Calculate marginal goals for each
skater. Marginal goals is equal to (goals created) - (7 / 12)
× (games played) × ((goals created by forwards or defensemen)
/ (games played by forwards or defensemen)). For Orr this is 47.0 - (7 /
12) × (78) × (623.7 / 5867) = 42.2. Note that this formula may
produce a negative result for some skaters.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1970-71 NHL this is 3409 / 1092 = 3.12.
- Credit Offensive Point Shares to the
skaters. Offensive Point Shares are credited using the following
formula: (marginal goals) / (marginal goals per point). Orr gets credit
for 42.2 / 3.12 = 13.5 Offensive Point Shares.
V. Crediting Goalie Point Shares to Goalies
Goalies will receive 2/7 of the team's defensive point shares, on average,
although that fraction is adjusted upward or downward in seasons where
shots against are available.
* Why 2/7? Go back to the chips analogy above: of the
seven chips contributed to the defensive bucket, two came from the
goalie.
Shots against were not officially recorded until the 1983-84 season, so
there is one method for 1983-84 to the present and another method for
1917-18 to 1982-83.
A. 1983-84 to present
We'll use Dominik Hasek of the 1997-98 Buffalo Sabres as an example:
- Calculate the shots against adjustment for
each goalie. The shots against adjustment is equal to (shots
against per minute) / (league shots against per minute). For Hasek this is
0.5092 / 0.4494 = 1.133
- Calculate marginal goals against for each
goalie. Marginal goals against is equal to (1 + (7 / 12)) ×
(shots against adjustment) × (minutes played) × (league goals
against per minute) - (goals against). For Hasek this is (1 + (7 / 12))
× 1.133 × 4220 × 0.0421 - 147 = 171.71
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1997-98 NHL this is 5624 / 2132 = 2.64.
- Credit Goalie Point Shares to the
goalies. Goalie Point Shares are credited using the following
formula: (2 / 7) × ((marginal goals against) / (marginal goals per
point)). Hasek gets credit for (2 / 7) × (171.71 / 2.64) = 18.6
Goalie Point Shares.
B. 1917-18 to 1982-83
Shots against are no longer available, so the adjustment for shots against
will be removed from the equation. We'll use Ken Dryden of the 1975-76 Montreal Canadiens as an
example:
- Calculate marginal goals against for each
goalie. Marginal goals against is equal to (1 + (7 / 12))
× (minutes played) × (league goals against per minute) -
(goals against). For Dryden this is (1 + (7 / 12)) × 3580 ×
0.0561 - 121 = 196.99.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1975-76 NHL this is 4913 / 1440 = 3.41.
- Credit Goalie Point Shares to the
goalies. Goalie Point Shares are credited using the following
formula: (2 / 7) × ((marginal goals against) / (marginal goals per
point)). Dryden gets credit for (2 / 7) × (196.99 / 3.41) = 16.5
Goalie Point Shares.
VI. Crediting Defensive Point Shares to Skaters
Time on ice was not officially recorded until 1998-99, shots against were
not officially recorded until the 1983-84 season, and plus/minus was not
officially recorded until the 1967-68 season, so there are four methods:
one for 1998-99 to present, one for 1983-84 to 1997-98, one for 1967-68 to
1982-83, and one for 1917-18 to 1966-67.
A. 1998-99 to present
We'll use Chris Pronger of the 1999-00 St. Louis Blues as an example:
- Calculate the proportion of team time on ice
for each skater. This is equal to (time on ice) / (team time on
ice for skaters). For Pronger this is 143343 / 1441216 = 0.0995.
- Calculate the proportion of team marginal
goals against that will be assigned to skaters. This is equal to
(7 - 2 × ((team shots against per minute) / (league shots against
per minute))) / 7. For the Blues this is (7 - 2 × (0.3645 / 0.4604))
/ 7 = 0.7738.
- Calculate the position adjustment for each
skater. For defensemen the position adjustment is 10/7 and for
forwards the position adjustment is 5/7. For Pronger this is 10/7.
- Calculate team marginal goals
against. Team marginal goals against is equal to (1 + (7 / 12))
× (team games) × (league goals per game) - (team goals
against). For the Blues this is (1 + (7 / 12)) × 82 × 2.747 -
165 = 191.65.
- Calculate the plus/minus adjustment for each
skater. The plus/minus adjustment is equal to (1 / 7) ×
(position adjustment) × ((plus/minus) - (time on ice) × ((team
plus/minus for position) / (team time on ice for position))). For Pronger
this is (1 / 7) × (10 / 7) × (52 - 143343 × (132 /
592882)) = 4.099.
- Calculate marginal goals against for each
skater. Marginal goals against is equal to (proportion of team
time on ice) × (proportion of team marginal goals against assigned
to skaters) × (position adjustment) × (team marginal goals
against) + (plus/minus adjustment). For Pronger this is 0.0995 ×
0.7738 × (10 / 7) × 191.65 + 4.099 = 25.18.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1999-00 NHL this is 6306 / 2410 = 2.62.
- Credit Defensive Point Shares to the
skaters. Defensive Point Shares are credited using the following
formula: (marginal goals against) / (marginal goals per point). Pronger
gets credit for 25.18 / 2.62 = 9.6 Defensive Point Shares.
B. 1983-84 to 1997-98
Time on ice is no longer available, so it will be replaced with weighted
games played. We'll use Paul
Coffey of the 1984-85 Edmonton
Oilers as an example:
- Calculate the proportion of weighted team
games played for each skater. For forwards this is equal to
(games played) / ((team games played by forwards) + 2 × (team games
played by defensemen)) and for defensemen this is (2 × games played)
/ ((team games played by forwards) + 2 × (team games played by
defensemen)). For Coffey this is (2 × 80) / (953 + 2 × 484) =
0.0833.
- Calculate the proportion of team marginal
goals against that will be assigned to skaters. This is equal to
(7 - 2 × ((team shots against per minute) / (league shots against
per minute))) / 7. For the Oilers this is (7 - 2 × (0.5395 /
0.5022)) / 7 = 0.6931.
- Calculate the position adjustment for each
skater. For defensemen the position adjustment is 10/7 and for
forwards the position adjustment is 5/7. For Coffey this is 10/7.
- Calculate team marginal goals
against. Team marginal goals against is equal to (1 + (7 / 12))
× (team games) × (league goals per game) - (team goals
against). For the Oilers this is (1 + (7 / 12)) × 80 × 3.887 -
298 = 194.35.
- Calculate the plus/minus adjustment for each
skater. The plus/minus adjustment is equal to (1 / 7) ×
(position adjustment) × ((plus/minus) - (games played) ×
((team plus/minus for position) / (team games played for position))). For
Coffey this is (1 / 7) × (10 / 7) × (55 - 80 × (194 /
484)) = 4.680.
- Calculate marginal goals against for each
skater. Marginal goals against is equal to (proportion of
weighted team games played) × (proportion of team marginal goals
against assigned to skaters) × (position adjustment) × (team
marginal goals against) + (plus/minus adjustment). For Coffey this is
0.0833 × 0.6931 × (10 / 7) × 194.35 + 4.680 =
20.71.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1984-85 NHL this is 6530 / 1680 = 3.89.
- Credit Defensive Point Shares to the
skaters. Defensive Point Shares are credited using the following
formula: (marginal goals against) / (marginal goals per point). Coffey
gets credit for 20.71 / 3.89 = 5.3 Defensive Point Shares.
C. 1967-68 to 1982-82
Shots against are no longer available, so the proportion of team marginal
goals against assigned to skaters will be a constant (5/7). We'll use Larry Robinson of the 1975-76 Montreal Canadiens as an
example:
- Calculate the proportion of weighted team
games played for each skater. For forwards this is equal to
(games played) / ((team games played by forwards) + 2 × (team games
played by defensemen)) and for defenseman this is (2 × games played)
/ ((team games played by forwards) + 2 × (team games played by
defensemen)). For Robinson this is (2 × 80) / (902 + 2 × 447)
= 0.0891.
- Calculate the position adjustment for each
skater. For defensemen the position adjustment is 10/7 and for
forwards the position adjustment is 5/7. For Robinson this is 10/7.
- Calculate team marginal goals
against. Team marginal goals against is equal to (1 + (7 / 12))
× (team games) × (league goals per game) - (team goals
against). For the Canadiens this is (1 + (7 / 12)) × 80 ×
3.412 - 174 = 258.19.
- Calculate the plus/minus adjustment for each
skater. The plus/minus adjustment is equal to (1 / 7) ×
(position adjustment) × ((plus/minus) - (games played) ×
((team plus/minus for position) / (team games played for position))). For
Robinson this is (1 / 7) × (10 / 7) × (50 - 80 × (266 /
447)) = 0.489.
- Calculate marginal goals against for each
skater. Marginal goals against is equal to (proportion of
weighted team games played) × (5 / 7) × (position adjustment)
× (team marginal goals against) + (plus/minus adjustment). For
Robinson this is 0.0891 × (5 / 7) × (10 / 7) × 258.19 +
0.489 = 23.96.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1975-76 NHL this is 4913 / 1440 = 3.41.
- Credit Defensive Point Shares to the
skaters. Defensive Point Shares are credited using the following
formula: (marginal goals against) / (marginal goals per point). Robinson
gets credit for 23.96 / 3.41 = 7.0 Defensive Point Shares.
D. 1917-18 to 1966-67
Plus/minus is no longer available, so the plus/minus adjustment will be
dropped from the equation. We'll use Red Kelly of the 1951-52 Detroit Red Wings as an
example:
- Calculate the proportion of weighted team
games played for each skater. For forwards this is equal to
(games played) / ((team games played by forwards) + 2 × (team games
played by defensemen)) and for defenseman this is (2 × games played)
/ ((team games played by forwards) + 2 × (team games played by
defensemen)). For Kelly this is (2 × 67) / (698 + 2 × 340) =
0.0972.
- Calculate the position adjustment for each
skater. For defensemen the position adjustment is 10/7 and for
forwards the position adjustment is 5/7. For Kelly this is 10/7.
- Calculate team marginal goals
against. Team marginal goals against is equal to (1 + (7 / 12))
× (team games) × (league goals per game) - (team goals
against). For the Red Wings this is (1 + (7 / 12)) × 70 ×
2.595 - 133 = 154.61.
- Calculate marginal goals against for each
skater. Marginal goals against is equal to (proportion of
weighted team games played) × (5 / 7) × (position adjustment)
× (team marginal goals against). For Kelly this is 0.0972 × (5
/ 7) × (10 / 7) × 154.61 = 15.33.
- Calculate marginal goals per point.
Marginal goals per point reduces to (league goals) / (league points). For
the 1951-52 NHL this is 1090 / 420 = 2.60.
- Credit Defensive Point Shares to the
skaters. Defensive Point Shares are credited using the following
formula: (marginal goals against) / (marginal goals per point). Kelly
gets credit for 15.33 / 2.60 = 5.9 Defensive Point Shares.
VII. Putting It All Together
The final step of the process is to find the sum of Offensive Point Shares
(OPS), Defensive Point Shares (DPS), and Goalie Point Shares (GPS) for
each player. For example, in 1988-89 Mario Lemieux had 17.68 OPS and 1.88
DPS for a total of 19.56 Point Shares.
VIII. Does This Work?
Because this metric is designed to estimate a player's contribution in
terms of points, it makes sense to see if the sum of player Point Shares
for a particular team closely matches the team's point total. Looking at
all NHL teams from 1917-18 to 2009-10, the average absolute error is 5.05
points per 82 games and the root mean squared error is 6.64 points per 82
games. (These errors are larger than the errors reported in Section III
because the errors in Section III were computed starting at the team
level, while the errors reported here were computed starting at the player
level.)
IX. Feedback
If you have any comments or questions about the Point Shares methodology,
please send me some feedback.
X. Revision History
Version 1.0