Daily Faceoff is a news site with no direct affiliation to the NHL, or NHLPA

NHL team salary cap rankings: an introduction

Scott Maxwell
Aug 20, 2025, 11:30 EDT
NHL team salary cap rankings: an introduction
Credit: Isaiah J. Downing-Imagn Images

The salary cap has been an incredibly important part of NHL hockey since arriving in the 2005-06 season. It helped create parity between franchises rather than players repeatedly flocking to the wealthiest clubs. For fans and media, it’s another factor by which to evaluate players, creating folk heroes on league-minimum deals or villainizing former stars because they aren’t living up to their new contracts.

And for teams, it’s about squeezing every penny and getting the best out of your roster year-by-year. The teams that use it the best are usually the ones that are consistent contenders, and the teams who have their rosters littered with albatross contracts usually find themselves at the bottom of the league.

Every year, Daily Faceoff has ran a salary cap ranking series, in which we take a look at which teams do the best job at managing their money. However, this isn’t just as simple as identifying who has the most cap space or which teams have all their star players locked up for cheap. There are several different factors to consider, some more complex than others.

Which is what this article is for. Before you dive into the rankings themselves, I figured I’d take the time to explain some of the aspects of this system, including what each category actually represents and the process behind creating some of them.

Contract Rating

In previous years, this was referred to as “good contract percentage,” which was relatively straightforward. I used a system that evaluated players and tiered them into different levels, did the same with contracts, and depending on where the player and their contract ended up, determined if the contract was good or bad. Then, I totalled all the contracts looked at for one team, and gave it a percentage.

However, just going off that tiered system didn’t seem to be good enough. It basically made all good and bad contracts equal, even though that is certainly not the case. More context was needed if I wanted to give an accurate evaluation for teams’ ability to sign quality contracts, so I’ve decided to overhaul the system.

Now, contracts will be rated on a scale. The way in which I evaluate a player will remain the same, but how a player relates to their contract in this process is significantly different and should give a more accurate reflection of how good or bad their contract is.

Below, I will provide both a refresher on the player evaluation system, as well as explain the new contract evaluation system. I look at every forward, defenseman and goalie signed to a contract with NHL regular season experience in the last three seasons when putting this system together.

The only exception is a handful of rookies who are projected to make their respective team’s starting lineup this season. To evaluate them, I took their player comparables, and grabbed the data from those respective comparables’ rookie seasons to use as an expectation for what they may do this season, and then used that for my model.

Skater Evaluation

For the skaters, I created this statistical profile using nine different stats in three different categories.

  1. Even-strength scoring: This basically just uses your standard scoring rate stats. I’ll be using goals per 60 minutes to evaluate goal scoring, primary assists per 60 minutes to evaluate playmaking, and points per 60 minutes to evaluate overall scoring creation, with all stats at even strength.
  2. Even-strength play driving: This one gets a little bit more complicated, as I’ll be using Evolving Hockey’s Regularized Adjusted Plus-Minus, or RAPM. For an in-depth breakdown on the stat, check out the Evolving Hockey twins’ glossary on it here. It gives us a player’s impact when they’re on the ice while isolating the impact from factors such as quality of teammates, quality of competition, and rink bias, so for me, it’s the best stat to use to evaluating play-driving. I’ll be using RAPM expected goals for per 60 minutes and RAPM Corsi for per 60 minutes to evaluate offensive generation, and RAPM expected goals against per 60 minutes and RAPM Corsi against per 60 minutes to evaluate defensive suppression, with all stats at even strength.
  3. Goals above replacement: If you haven’t heard of goals above replacement, or GAR, you’ve probably heard of wins above replacement, or WAR, through hockey, or even baseball. For those who haven’t, here is Evolving Hockey’s definition of it, since I will be using their GAR model as well. In the past, I would separate this into offensive, defensive and penalty GAR, and also use the per 60 rate stat of it. However, I opted to not split up the stat anymore, and I’ve now incorporated it as a total stat than a per 60 stat, that way it rewards the good players who’ve played more (and punishes the bad players who’ve played more).
    Expected goals above replacement: Expected goals above replacement, or xGAR, is similar to GAR, except instead of using the stats to evaluate a player’s impact on the result of the game (a.k.a. the goals), it evaluates a player’s impact on the process of the game (a.k.a. the things leading up to the goals). Like with GAR, xGAR will be just as the total stat, so it won’t be split into separate offensive, defensive and penalty categories and evaluated on a per 60 basis.

I then leave ranking as is among the total number of forwards and defensemen, a detail that will be more important in a moment.

Goalie Evaluation

For the goalies, I created a statistical profile using six different stats.

  1. Quality start percentage: Quality start percentage is a stat that will be taking from Hockey Reference, but it was originally developed by Rob Vollman in his Hockey Abstract. A “quality start” is defined as a start from a goalie where they finish the game with a save percentage that is at or above the average save percentage in the league that season, with quality start percentage then just determining the percentage of their starts that were quality. It shows how consistent a goalie is game to game, and how much they can be relied on to give their team a good performance that gives them a chance to win every game.
  2. Even-strength save percentage: I probably don’t need to explain save percentage to hockey fans, but this is basically that, except with only shots and saves made at even strength to get a better judgement of their play at a fair level of strength for both teams.
  3. Even-Strength delta Fenwick save percentage: This stat is based on Fenwick save percentage, which is a goalie’s save percentage on goals, saved shots, and missed shots (so not including blocked shots). It takes their Fenwick save percentage and subtracts it by their expected Fenwick save percentage to give an idea as to how many more scoring chances they are stopping than expected based on how the team is playing in front of them.
  4. Even strength goals saved above expected: This one is the same concept as delta Fenwick save percentage but more of a focus on goals than saves. It’s another way to evaluate how good a goalie is performing, even if the team in front of him is struggling.
  5. Goals above replacement: Same thing as the skaters’ stat. It will also not be used as a per 60 rate stat anymore.
  6. Games played: This one basically just acts as a neutralizer for goalies with small sample sizes. That said, goalies who can get into a lot of games demonstrate good durability to avoid getting hurt and can be trusted in starting roles.

Like the skaters, the goalies were not tiered into elite, starter, backup and replacement this season, instead leaving their rank as is among all the goalies.

Contract Evaluation

Along with all the data that I collected for player and goalie stats, I recorded their cap hits and contract term into my database, with all the information coming from PuckPedia. After that, I took the player’s rank in my model at their position (forward, defenseman, or goaltender), and compared it to where they ranked amongst cap hits of players in the same position to get what I’ll simply call their “contract rating.” In theory, the top-ranked player at each position should be the highest-paid player, and the lowest-ranked player should be the lowest-paid.

The goal is to get a better grasp as to how good or how bad a contract is. It rewards teams when they sign a player to well below their contract value, punishes them when they sign bad players to high cap hits and doesn’t reward or punish them for getting players close to market value.

While the new system was designed to eliminate some pickiness with the original model, not all of it has been eliminated. Since this is looking at the past three seasons of data, players who may have been just okay in 2022-23 and 2023-24, but broke out in 2024-25, will be hampered by the model, even if that recent breakout is the new established level for that player and they were signed to a contract as such. Since I don’t have the time to incorporate projections for players down the road, both in terms of younger players getting better and older players getting worse, it is one of the few flaws in this process.

To add to that, it also means that players signed long term to deals which are projected to age well aren’t reflected as such in the model, since it is more of a descriptive model than a projection model. Take Cole Caufield, for example. With five years left on a $7.85 million contract, his contract is considered to be excellent value, especially in the later years. However, right now it has a rating of -6. But that doesn’t mean it will always be a market value deal. In fact, it being at market value now means that as the cap continues to rise, the value for the deal will increase as more contracts become more expensive than it. So long as Caufield doesn’t get worse, it will be reflected in the coming years.

Once all the players have been evaluated and have their contract ratings, each team’s proficiency at signing contracts is evaluated by combining all the contract ratings for all the evaluated players they have signed to contracts. Since every rating will either be positive, neutral or negative, it will give every team their own cumulative rating.

Contracts with No-Trade/No-Move Clauses

Anyone with a fair amount of hockey and salary cap knowledge should know what no-trade and no-move clauses are, so I won’t waste any time there. Any player with one is considered, no matter how much they make. I then rank teams based on how few they have, with the idea being that teams with fewer clauses like this have more flexibility in moving pieces around to free up space, as well as not having their hands tied with forced protection in expansion drafts.

If you need an example as to why having fewer clauses on your roster can be beneficial to navigating the salary cap and making moves, the most recent example was the 2024-25 Toronto Maple Leafs, who probably wouldn’t have minded trading a soon-to-be-walking Mitch Marner for a long-term certainty in Mikko Rantanen last season, but couldn’t because of Marner’s no-trade clause.

Dead Cap Space

This element looks at the money on each team’s cap space that isn’t going to players on their NHL roster. This includes buyout cap hits, retained salary in trades, cap recapture penalties, termination penalties (looking at you, Los Angeles Kings) and performance bonus overages.

This idea here should be pretty self-explanatory. You want as much cap space as possible to build your roster, so any cap space lost to players not on the roster (or, in the case of performance bonuses, cap space lost to work performed in a prior season) is a waste.

Quality of Core

When you think of a core player, you think of the players that you want to build your team around for the long term. However, a core player in this scenario is only half of that. With this category, I look at players on each team locked up to contracts with a term of four years or longer, and evaluate them based on the quality of the players in this category.

For this, I also use the statistical profile of these players and average it, ranking teams from best to worst. The idea here is to evaluate teams based on how effectively they identify top-end players and lock them up long term, and as such, only sign depth players to shorter deals.

Cap Space to Skill Differential

And finally, the most important part of looking at a team’s cap space efficiency is by looking at how much cap space they actually have. However, it’s not quite as simple as ranking them based on cap space.

Instead, I take where they rank from 1 to 32 in the league in cap space, and compare it to where they rank 1 to 32 in the league based on their roster’s quality, acting under the assumption that the best team should have the least cap space, and the worst team should have the most. With this, it gives more leniency to competitive teams up against the cap, because that’s where they should be to be as competitive as possible, and punishes bad teams that are up against the cap because they shouldn’t have that much salary on the books.

To rank teams, I once again turned to each player’s stat profiles. I used Daily Faceoff’s projected lines to pick 12 forwards, six defensemen, and two goalies from each team, established that as their “main roster,” and then evaluated the team based on those players. This is where the introduction of rookies who haven’t played in the NHL yet comes in.

For players like Gavin McKenna and Ivar Stenberg, I can now incorporate a rough projection of their impact on their new team instead of pretending they don’t exist. However, this is only for the players who are pretty much a lock to make their new team, so this year it was only McKenna, Stenberg and Roman Kantserov.

Final Ranking

To get the final ranking of all 32 teams, it’s extremely simple. I take their rankings in the five categories and aggregate them to get an average ranking position, and then order the teams based on that.

It gives us a good picture as to which teams do the best overall in the different facets of managing the salary cap and which teams do the worst. Doing poorly in one category won’t completely destroy your ranking, just like doing well in one won’t save it either.

The rankings will be updated as the series goes along, so it’s possible that teams may jump from one part of the series to another if their ranking changes. If that occurs, I’ll make sure to keep you updated at the beginning of each article as we go along.

_____

POST SPONSORED BY bet365