An Analysis of NHL Salary Optimization

Photo courtesy of Hollywood Reporter

Authors: Aden Benson, Tyler Brown, Ellis Zuckerman

Adenbenson2026@u.northwestern.edu, tylerbrown2027@u.northwestern.edu, elliszuckerman2027@u.northwestern.edu

On September 12, 2006, the New York Islanders signed Rick DiPietro to a 15-year, $67.5 million contract. 

It doesn’t take a genius to figure out this is not the best way to allocate your salary cap, especially considering DiPietro was out of the league by 2013. To make matters worse, because of NHL rules when buying out a contract, the Islanders are required to pay him $1.5 million each season until 2029.  

Hockey fans are reminded of this monstrosity by the annual “bad contracts” post by the NHL social media team. Instead of turning to hindsight bias, though, it’s more important to look at historical data of player performance based on salary optimization to see where the Islanders went wrong.

Our Method

In order to optimize a team’s salary distribution, we first borrowed a metric from the Athletic’s Dom Luszczyszyn. His metric is known as GameScore, which places a numerical value on a player’s performance. This attempts to account for the basic stats and incorporates possession metrics by utilizing the popular Corsi differential. The overall construction of a player’s GameScore is shown below.

Goals: 0.75
Primary Assists: 0.7
Secondary Assists: 0.55
Shots: 0.075
Blocks: 0.05
Penalty Differential: 0.15
Faceoff Differential: 0.01
5-on-5 Corsi Differential: 0.05
5-on-5 Goal Differential: 0.15

To measure a player’s value to their team, we used their overall GameScore from the 2023-24 NHL season as of February 4th, which gives players a sample of about 50 games. If a player hasn’t experienced injuries, this point in the season provides a good estimate on overall player contribution. So, we will evaluate players through their cumulative GameScore. We placed a restraint on our data that a player must have played at least 200 minutes, which averages around 10-15 games. This helps disregard players who are either injured or were an AHL callup, as this would lower their salary bucket’s average GameScore in a way that isn’t based on play. Goalies were also disregarded, as there is not a relative GameScore metric to compare goalies to skaters. 

After constructing a csv file containing a list of over 600 players, their cap hits this season, and their cumulative GameScores, we were able to find the average GameScore for each salary bucket. Two different sets of buckets were created for forwards and defenseman, since there is not much correlation between their salaries and relative GameScores. 

Forwards:
Salary Buckets    GameScore
0.75M – 1.25M      14.614867
1.25M – 1.75M      15.720500
1.75M – 2.25M      16.850000
2.25M – 2.75M      15.949286
2.75M – 3.25M      21.682381
3.25M – 3.75M      19.012727
3.75M – 4.25M      25.948182
4.25M – 4.75M      24.874000
4.75M – 5.25M      28.368148
5.25M – 5.75M      33.867059
5.75M – 6.25M      36.402500
6.25M – 6.75M      42.856667
6.75M – 7.25M      37.838889
7.25M – 7.75M      46.160000
7.75M – 8.25M      42.128667
8.25M – 8.75M      49.170000
8.75M – 9.25M      38.075000
9.25M – 9.75M      52.211429
9.75M – 10.25M     40.230000
10.25M – 10.75M    27.420000
10.75M – 11.25M    47.495000
11.25M – 11.75M    71.746667
11.75M – 12.25M          NaN
12.25M – 12.75M    83.255000

Defense: 
Salary Buckets   GameScore
0.75M – 1.25M       9.515352
1.25M – 1.75M      12.504286
1.75M – 2.25M       9.892000
2.25M – 2.75M      16.981429
2.75M – 3.25M      11.168000
3.25M – 3.75M       9.314167
3.75M – 4.25M      22.702000
4.25M – 4.75M      20.184167
4.75M – 5.25M      13.392000
5.25M – 5.75M      36.625000
5.75M – 6.25M      23.987000
6.25M – 6.75M      19.585000
6.75M – 7.25M       7.780000
7.25M – 7.75M      33.570000
7.75M – 8.25M      33.303333
8.25M – 8.75M      21.700000
8.75M – 9.25M      39.047500
9.25M – 9.75M      27.298000
9.75M – 10.25M     42.770000
10.25M – 10.75M          NaN
10.75M – 11.25M    35.630000

After using Python to create the average GameScore per salary bucket, we switched our data over to AMPL to solve the linear program. AMPL is an optimization software created by a Northwestern University student that allows you to find optimal values and solutions for linear programs. To begin, set up our parameters and variables that will be used.

After constructing our linear program and running it in AMPL, we received optimized roster construction detailed below.

Our Analysis

Through this data, we came to the conclusion that the best way to allocate salary cap is spending heavily on the first line of forwards, specifically the center, while also investing in a 2nd line center. However, on the defensive end, it’s more effective to spread out the money to all six defensemen rather than focusing on a top pair. 

Take the Vegas Golden Knights 2022-2023 roster, for example. In only their 6th season as a franchise, they were able to win the Stanley Cup defeating the Florida Panthers. How is this possible? Well, their salary cap optimization pretty much followed our model down to a tee. Superstar center Jack Eichel ($10 million cap hit) along with Mark Stone ($8 million) and Johnathan Marchesault ($5 million) round out a dangerous first line of forwards, followed by William Karlsson ($5.9 million, third highest paid player behind Eichel and Alex Pietrangelo), securing a reliable scoring option on the 2nd and 3rd line.

Despite Pietrangelo earning $8.8 million each season, the Golden Knight’s defensive salary averages out to $4.524 million a year, just one million under the model’s optimized allocation. This is due to the fact goalies are omitted from our model. With their implementation, the $4.524 million average would be higher and more closely resemble our model, as our current salary optimization is inflated in their position.

In order to best visualize our findings, we created a graph that shows the correlation between every NHL team’s spending on their active roster and their points percentage for the current season.

This graph supports our model because the teams that allocate their salaries more similarly to our model tend to perform better on the ice. This can be seen as top teams in the league, like Vancouver, Boston, Edmonton, and Colorado, tend to allocate their salaries more similarly to our model, and teams at the bottom of the standings like Chicago and San Jose tend to spend money very differently than our model recommends.

Since the model is simply a way to obtain the most bang for your buck, it doesn’t necessarily present a foolproof method of predicting a team’s success or failure. Take, for example, the Calgary Flames; aside from the first-place Canucks, the Flames fit our model the best, yet they sit 23rd in the NHL standings. This is due to a variety of factors that the model can’t account for. The first is bad contracts. When our model suggests that a team spends $12,500,000 on a forward, it expects that a team is going to spend the money well, by obtaining players like Connor Mcdavid and Auston Matthews, who boast an average GameScore of 2.10 and 1.74 per game, respectively. The Flames, while they spent big money, as the model suggests, they spent it poorly, spending $10,500,000 on Jonathan Huberdeau, who has an average GameScore of just .45 per game. In addition to this poor contract, the Flames have had to deal with injuries to goalie Jacob Markstrom, and others, accounting to over 150 man games lost, just this season. Another factor contributing to the Flames’ disappointing season, is the head coaching turnover from Darryl Sutter to Ryan Huska.

There are many outside reasons why the Flames and other similar team’s successes or failures may not be perfectly described by our model, however, it is fairly accurate in predicting a team’s success. Generally speaking, with the right contracts, teams spending closer to our model tend to perform better. Our recommended salary breakdown, a good GM, a strong head coach, and a little bit of luck, seem like the perfect recipe for creating a Stanley Cup Champion.

Be the first to comment on "An Analysis of NHL Salary Optimization"

Leave a comment

Your email address will not be published.


*