2024 Free Agency started off with a BANG. On Day 1, we saw over $1B in signings, 399 Contract Years and all for only 190 players. Day 2 was a lot slower with 38 players signed for $125M and 57 Contract Years. Day 3 was even slower with only 16 signings, 27 Contract Years and $56M in total value. After that, it only got slower.
Let's skip past all that and break down how I fared.
Contracts were tracked from April 30, 2024 to September 30, 2024.
Skater data is from MoneyPuck and contract data is from both CapFriendly and PuckPedia.
406 Skaters had contracts projected for them this year, 326 have signed, which leaves 80 unsigned.
240 Forwards, 186 signed.
131 Defense, 113 signed.
35 Goalies, 27 signed.
275 UFAs (208 signed), 131 RFAs (108 signed).
My model performed within reason of my modest expectations. Overall, the Mean Absolute Cap Hit Error (or the absolute value of how far my projections varied from the actual values) was very under the Target Value I had set. However, the Mean Absolute Length Error was not. In fact, it was over by quite a lot.
Below is the breakdown by position compared to target values. Forwards and Goalies beat the cap hit target values but every other target value didn't hit. Once again, length was extremely tough for my model to predict.
Looking at the Percentage Errors, I don't think the numbers are amazing, though I don't have a reference point for them, so I'll let these numbers be the target values for next year. Definitely some room for improvement.
Above is my models performance based on cap hit MAE and length MAE, as well as each teams best and worst contract based on projection percentage error where the further the model was off, the better or worse the contract value was. (Ex Jansen Harkins was underpaid because my projection for him was higher than what Anaheim signed him for.)
The 2 teams that stick out here are Minnesota and Montreal. Minnesota was the only team that didn't underpay a player and Montreal was the only team that didn't overpay a player (though they did only sign 3 players to contracts).
Disclaimer: Just because I am saying a guy is over/underpaid, does not mean that I believe my contracts are perfect and are to be followed to a tee. It is simply just easier to measure the extremity of a contract based on how far off they were from what was expected.
Above is my total cap hit error by team, as well as each team's highest dollar free agency signing and my model's best projection by team(non-minimums).
Lastly, the above is a total free agency performance by team with their position in the 2023-24 standings, as well as their tax rate and tax rank.
One interesting trend form these results is how well the teams with favourable tax positions scored. Tax advantage has been a topic of discussion the past few years in the NHL and my model seems to second those who say it does play an advantage in luring and keeping players. Teams in the top half of this list have an average tax rate that's 6% better than the average market. The only teams in the top half of this list without a favourable tax situation are Edmonton, Vancouver, Winnipeg and Toronto. All of which had great regular seasons and 2 of which had good playoff runs. The message here from my model is loud and clear: money talks, and so does winning.
Just a couple quick thoughts on what I saw that I liked or didn't like.
Best FA Signings(opinion): Nashville Predators
To start, I think Nashville had the best free agency. They added multiple impact players and weren't afraid to spend money dong so. The team is instantly better from last year and I think they could make a good run in the playoffs if they can stay healthy. Colorado was a close second, followed by Edmonton. I like the players they added on cheaper contracts. For Colorado, their signings of Erik Brannstrom and Oliver Kylington are both low risk, high reward and I love that approach given their lack of salary cap space. For Edmonton, I really liked the addition of Jeff Skinner, who is one season removed from putting up 82 points.
Worst FA Signings(opinion): Buffalo Sabres
I was pretty underwhelmed with the additions that Buffalo made. I think they overpaid to get Jason Zucker and I don't believe he's the kind of player to make a huge difference in team performance. Sam Lafferty was fine for the Vancouver Canucks last year but his production tailed off towards the end of the season and was a non-factor in the playoffs. Same goes for Nicolas Aube-Kubel. I just don't think any of these signings really move the needle in what looks to be a crowded Atlantic Division. I didn't make mention of Chicago or San Jose as I don't believe you can really judge the basement dwellers in the same light as these other teams.
Favourite Signing: Jeff Skinner
As mentioned earlier, Skinner is one season removed from 82 points and is still a highly effective winger. For an Edmonton team that just lost in the finals, I think Skinner at only $3 million was a great value and will play off extremely well.
Least Favourite Signing: Joel Edmundson
Joel Edmundson is not the player he used to be. He has never once played a full season and he's on the other side of his prime. LA will hope that he can fill the void left by Matt Roy but I just don't see that happening.
Most Surprising Contract: William Carrier
Not to say that this was a bad contract because it certainly wasn't but William Carrier getting a 6 year contract for $2 million was just in fact legitimately surprising. He will be 35 years old when this contract expires so it could be a touch too long but to have a reliable bottom six winger locked up for 6 years is very reassuring.
Most Original Signing: Chris Tanev
This one might not make sense to some people but the Toronto Maple Leafs actually got a right handed defenseman who can play on more than just the third line! In the last 5 years, the only attempt they made was with John Klingberg last year, but that always seemed destined to fail.
Least Original Signing: Anthony Beauvillier
Kyle Dubas has a type and that should come as no surprise at this point in his career. Beauvillier fits the mold perfectly. Highly skilled winger who needed a change of scenery and a chance to prove himself.
Good Question.
Depending on what you find important, that answer will vary. But within the context of contract projections, this model performed fairly well.
The main "competitors" here are AFP Analytics and Evolving Hockey. Both of which present their contract projections very differently. AFP Analytics makes their projections with what they determine will be the most likely length outcome, as well as the most likely salary outcome. So, 1 cap hit projection for 1 length projection. Evolving Hockey however, will have a range of lengths, each with a percentage likelihood and corresponding salaries for each of those lengths. Their projections will also differ for expiry contract status, signing date and signing status. Evolving Hockey also doesn't include players who have signed a minimum contract into their projections. With this being the case, it makes comparing my projections to each of theirs a little complicated. These comparisons are not 1-1 and that should be kept in mind when reading the next section.
Compared to AFP Analytics, performance wise, I'd say it was about the same. I was more accurate in cap hit MAE, but they were much more accurate in length MAE. Both projections had their own strengths and weaknesses. Personally, I value cap hit accuracy as the more important metric, and have spent most of my time trying to minimize that number. That being said, I certainly did not anticipate my length error to be as bad as it was. Looking at some other cap hit error MAE numbers: I was better with skaters but they were much better with goalies. Once again, due to the different ways we make projections and the results of those projections, in my opinion I would once again say we are about equal.
Compared to Evolving Hockey, overall, I've done slightly worse than them. I'll be honest, I do not have a subscription for their site but, I did listen to their podcast where they talked about their model's results and in addition to reading the article on their model's performance. Using the numbers they've given on their performance blog and their measurement method (no minimum contracts and goalies separate), I did beat their UFA cap hit MAE but they beat my RFA cap hit MAE. They also beat me in goalie cap hit MAE, which led to them having a better overall cap hit MAE as well. Overall my R-Squared was 0.857 to their 0.861, so not far off at all but I do think they they did better than me this year.
Keeping in mind that this was my first year doing this, I'm extremely happy with how it's turned out. I'm surprised at how competitive I was within this space given the experience of AFP Analytics and Evolving Hockey.
Overall, I'm pretty happy with how the model performed. As this was my first year releasing my projections publicly, I think there was a lot that could've gone smoother. Leading up to July 1, I had changed my projections more than a few times as I kept finding what I thought were better models. This was a little hard to keep track of as I was posting player cards with projections from one model but promoting another model altogether. I can't promise that this won't happen again next year, but I can promise that I will do a better job about being transparent and prepared. One thing I will say is that I do have another model that performed even better on cap hit MAE than my public model did this year. However, I never released the model's projections publicly as I only finalized the model recently. Unless I stumble upon a better model before then, it will be the model I use for next season.
I just want to start off by saying if you read through all of this, thank you. This was my first attempt at writing a model performance for my projections and I didn't know how it would go. So if you made it though it all, kudos to you and I appreciate your support and your interest. Hopefully it only gets better from here.