One of the hardest things for casual followers of the NHL to get a handle on his the nature of the UFA market.
On the surface its simple. Teams make bids for players to join them, offer as much money as makes sense for them to part with to get the players they want. Then players decide which offer they take. But very simple things tend to be devilishly complex underneath the surface.
In theory, every GM is searching for cap efficiency, i.e. a better player for less cap money so they can afford to get more good players and retain the ones they have. But past history shows that UFA is a terrible place to get cap efficency in most cases. Players get the highest salaries here and almost inevitably get overpaid in either current money or make the team take huge risks on contract length.
So why do teams do it? Simply put, NHL teams aren’t looking at being cap-efficent to build winners. They are looking at being asset efficient, getting the best lineup for the assets they have. Cap space is an important asset but its not the only factor. There are also the players a team already has who often sign for less than open market value, either homegrown talents who sign for discounts or players in their RFA years who are forced by league rules to be cost contained. These players are produced continously through a teams drafting and trading and produce the most cap efficent players that make room for cap inefficient free agents.
A free agent doesn’t cost draft picks or development time or anything else a team has. UFAs only cost dollars and cents. So in a fairly rational market, they will take up proportionately more of the only asset they cost a team. And since a signed player can be traded, in terms of player assets a UFA is something you can get for free and then trade into another asset.
The other thing people commonly miss is that the total cap is constantly increasing while player salary cap hits remain frozen after they are signed. Thus the proportion of the cap a player takes goes downward over the life time of a contract. Unfortunately, your perception of “fair value” for a type of player is influenced by the past and current contracts which leads to inevitible sticker shock each summer. Remember that today’s overpayments often become tomorrow’s standard rates.
To give a better idea of how cap hits fit together in the here and now I have prepared some graphs on the current cap hit of the Habs players and translated them into their percentage of total current cap limit (70.2 million) as well as a fraction of what an average roster player on a team that spend to said cap would make (70.2 M / 23 roster spots = 3.05 M).
As I expect Gomez and his cap hit to be to be dealt with this summer he is counted off to the side for this exercise.
Cap Hit in Dollars
Forwards |
Pacioretty
Plekanec
Cole
1.650
5.000
4.500
?
Desharnais
Gionta
?
0.850
5.000
Bourque
Eller
Leblanc
3.330
?
1.170
Moen
White
1.850
0.688
Geoffrion
Nokelainan
Palushaj
0.575
Defense
Markov
Subban
5.750
?
Gorges
Emelin
3.900
2.000
Kaberle
Diaz
4.250
?
Weber
0.850
Goaltending
Price
?
Budaj
1.150
Gomez
7.345
Cap Hit in % of Cap Space
Forwards |
Pacioretty
Plekanec
Cole
2.350
7.123
6.410
?
Desharnais
Gionta
?
1.211
7.123
Bourque
Eller
Leblanc
4.744
?
1.667
Moen
White
2.635
0.979
Geoffrion
Nokelainan
Palushaj
0.819
Defense
Markov
Subban
8.191
?
Gorges
Emelin
5.556
2.849
Kaberle
Diaz
6.054
?
Weber
1.211
Goaltending
Price
?
Budaj
1.638
Gomez
10.463
Cap Hit in Terms of an Average Roster Player
Forwards |
Pacioretty
Plekanec
Cole
0.541
1.638
1.474
?
Desharnais
Gionta
?
0.278
1.638
Bourque
Eller
Leblanc
1.091
?
0.383
Moen
White
0.606
0.225
Geoffrion
Nokelainan
Palushaj
0.188
Defense
Markov
Subban
1.884
Gorges
Emelin
1.278
0.655
Kaberle
Diaz
1.392
Weber
0.278
Goaltending
Price
?
Budaj
0.377
Gomez
2.406
With Gomez
Roster Size: 17
Total Cap Hit: 49.8 M
Total Cap Space: 20.3 M
Cap Space Per Roster Spot: 3.38 M (1.11 of an average player)
Without Gomez:
Roster Size: 16
Total Cap Hit: 42.5 M
Total Cap Space: 27.7 M
Cap Space Per Roster Spot: 3.96 M (1.30 of an average player)
Outside of Gomez, Montreal has very few truly high paid players in a cap world. Not even Markov’s 5.75M clears the threshold of being priced at twice the average player or 10% of the cap. The true take home message though is that Montreal is in position to spend plenty of money. 4 of the remaing 6 or 7 roster spots can be filled on the cheep by players that will earn less than average on their next salaries (RFA’s Eller, Diaz, Geoffrion and Palushaj). So upwards of 5 million can be spent on a new top six forward or top 4 defenseman if Montreal chooses to do so this July 1st even in the event that Gomez’s cap hit remains. If Gomez can be dealt with without cap pain, then another roster spot at an impact player price (7+ million) will be available.
If Montreal doesn’t get the free agents its after today, it won’t be due to lack of cap space. It will be desire to pay that much for the player and whether they want to be in Montreal. One thing to be considered though is that Montreal will have to shell out for significant raises to Max Pacioretty and David Desharnais next summer. So restraint and leaving some space for next year is prudent.
Postscript on Overpayment: The Montreal Tax Factor
One thing I hear often from fans and media is that signings in Montreal are always for more than they think it should take. There is a very simple explanation for that. It has nothing to do with weather Montreal management is poor at negoiating or that players demand a premium to come to Montreal. It comes down to a simple matter, tax rates. Montreal players have to pay the highest in the entire NHL.
http://business.financialpost.com/2012/06/29/graphic-hockey-havens-not-necessarily-tax-havens/
On your typical name free agent deal of 4 million dollars, Montreal players lose about ~0.3 million dollars in money compared to league average and would have to take a deal for ~0.6 more to compensate. Next time you think Cammalleri should have signed for 5.5, Gionta for 4.5 and Cole for 4.0 consider this.
For cap lineup fun see capgeek’s cap calculator here;
