Evaluating Our Free Agent Contract Predictions

As I write this, I’m watching a spring training game on my other monitor, which is a good reminder that another season of baseball will soon begin. Forty-eight of the Top 50 free agents of the winter have signed, with Zack Littell and Lucas Giolito the lone holdouts. That means it’s time for my annual review of contract predictions, mostly mine and the crowd’s.
I like to evaluate my own predictions so that I can get better at making them in the future. I like to evaluate your crowdsourced predictions because it’s fun, and because everyone likes hearing how smart they are. Our crowdsourced predictions have been consistently excellent, arguably better than any industry expert, and that makes displaying them particularly enjoyable.
To evaluate our accuracy, I broke the signings down into three categories: hitters, starting pitchers, and relievers. I also examined the entire Top 50, without positional separation. I used a formula that I discussed earlier this winter as my chief metric of accuracy, but I also checked how close we came on average annual value, total guarantee, and number of years. I looked at how the predictions matched the overall amount of money spent in the market, and also considered how close each individual prediction came. That way, I was able to evaluate two things: Who did the best job predicting the broad market, and who predicted what each free agent would get with the greatest accuracy.
I borrowed the format for my review from last year’s edition. I gathered all of my predictions, as well as those of the crowd and several of my colleagues from across the industry. I compared each actual contract in the Top 50 to what was predicted for that player. If one of my colleagues didn’t predict a contract value for a particular player, I simply excluded that player from my analysis of that writer’s set of predictions. Below, you’ll find some broad analysis of how we all did this year. In the appendix, you’ll also see a complete record of all the categories I measured, as well as some notable performances from non-FanGraphs prognosticators. A quick note before we begin: For the entirety of this article, a positive number means an overestimate, while a negative number means an underestimate.
Let’s start with the predictions that came in too hot.
Too Hot
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Munetaka Murakami | 7y, $154M | 2y, $34M | $90M |
| Kyle Tucker | 10y, $370M | 4y, $228.4M | $37M |
| Tatsuya Imai | 5y, $100M | 3y, $54M | $26M |
| Eugenio Suárez | 2y, $50M | 1y, $15M | $25M |
| Josh Naylor | 4y, $100M | 5y, $92.5M | $24M |
I did a poor job of predicting the market for NPB stars this winter. There are two possibilities here. The first is that there’s something specific about Munetaka Murakami and Tatsuya Imai that my style of projections just misses. I don’t think it’s that, though, because every other prognosticator was stymied too. The average prediction on Imai across the group I surveyed was a whopping $75 million higher than the deal he signed; the average miss on Murakami was $85 million higher. I think that there might be something structural going on here; outside guys at the very top of the market, the posting fee system encourages smaller, shorter contracts. Those allow the player to hit free agency sooner and also don’t pay as much in fees back to the posting team. Aside from that, we’ve got the normal mix of relatively small misses on stars, guys on pillow contracts, and my irrational love of Josh Naylor. Oh, and just for posterity’s sake, the Miss column uses the formula I laid out here to account for contract length mismatches.
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Munetaka Murakami | 6y, $132M | 2y, $34M | $71M |
| Eugenio Suárez | 3y, $60M | 1y, $15M | $28M |
| Brandon Woodruff | 3y, $66M | 1y, $22M | $20M |
| Gleyber Torres | 4y, $72M | 1y, $22M | $19M |
| Zac Gallen | 2y, $44M | 1y, $19M | $15M |
The crowd didn’t escape Murakami madness, but great work on the rest of it. Your misses were basically the pillow contract guys – two players who accepted qualifying offers and two former Diamondbacks stars who signed late after their markets didn’t develop as expected. This is a really good showing, and as you’ll see, it’s part of a pattern: The crowd had lower estimates pretty much across the board compared to the “pros.”
For the record, I was too hot on the overall market, and by around the same amount that the crowd was too cold. We both did a pretty good job in the aggregate, though. There was one systematic error – my overestimation of NPB contracts – but the rest of our misses high were scattered and don’t suggest any biases to me.
Too Cold
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Michael King | 1y, $22M | 3y, $75M | -$29M |
| Cody Bellinger | 5y, $140M | 5y, $162.5M | -$23M |
| Devin Williams | 2y, $24M | 3y, $51M | -$19M |
| Pete Alonso | 4y, $120M | 5y, $155M | -$15M |
| Alex Bregman | 4y, $140M | 5y, $175M | -$12M |
Boy, is there egg on my face for predicting that King would accept a qualifying offer; he got three times that amount. Other than that, though, I feel pretty good about these. They boil down to slightly higher demand – a few million dollars here, an extra year there – for good hitters. There’s no equivalent to the NPB problem here; the way that free agency works implies some misses like this, and I don’t see much bias in the types of players I missed low on.
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Kyle Tucker | 8y, $280M | 4y, $228.4M | -$40M |
| Pete Alonso | 4y, $107M | 5y, $155M | -$31M |
| Dylan Cease | 5y, $130M | 7y, $187.25M | -$28M |
| Cody Bellinger | 5y, $135M | 5y, $162.5M | -$20M |
| Tyler Rogers | 1y, $8M | 3y, $37M | -$20M |
You have to love seeing Kyle Tucker on my too hot list and the crowd’s too cold list. His market was indeed polarizing, and the Dodgers gave him a deal that makes me happy I have a method for comparing contracts of differing lengths. Other than that, your misses are pretty much like mine – sometimes estimates are a little low. There’s one structural bias, which I’ll get into below, but it doesn’t involve a particular type of player. The misses are spread across hitters, starters, and relievers. Again, great work. For the most part, this was a pretty straightforward year for free agency, and everyone handled that pretty well.
Just Right
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Ranger Suárez | 5y, $130M | 5y, $130M | $0M |
| Ryan O’Hearn | 2y, $30M | 2y, $29M | $1M |
| Brad Keller | 2y, $24M | 2y, $22M | $2M |
| Dylan Cease | 5y, $155M | 7y, $187.25M | $2M |
| Robert Suarez | 3y, $48M | 3y, $45M | $3M |
I removed one-year contracts in this section, which I largely posted to pat myself on the back. I had a pretty good handle on the top of the pitching market this winter, and some reliever contracts as well. As I mentioned, a lot of the players this offseason had a clear market, and the top group of pitchers in particular had a lot of suitors and clear differentiation from the next tier down, which helped me estimate their contracts pretty well.
| Player | Estimate | Actual | Miss |
|---|---|---|---|
| Edwin Díaz | 4y, $84M | 3y, $69M | $0M |
| Josh Naylor | 4y, $80M | 5y, $92.5M | $1M |
| Shota Imanaga | 2y, $38M | 1y, $22M | $1M |
| Kazuma Okamoto | 3y, $48M | 4y, $60M | -$1M |
| Tatsuya Imai | 4y, $64M | 3y, $54M | -$2M |
Meanwhile, maybe I should just ask the crowd what my NPB contract estimates should be going forward. This was incredible work! As I mentioned up above, the group of predictions from professional baseball analysts was far too high, but you all got Imai’s deal to within $2 million. Give yourself a pat on the back for this great work. As an added note, the fact that you have two starters, two hitters, and a reliever suggests that there are no holes in your estimating skills.
Overall Market and Final Thoughts
The market for pitchers ran hot early and trailed off. The market for hitters, in contrast, never really got going, with Murakami a key part of that. I tracked five professional prognosticators and the crowd, and your predictions were the only ones that didn’t overshoot. In fact, you and Kiley McDaniel of ESPN were the only groups not to overshoot overall; everyone aside from you, me, and Dupree Kiley was over by $5 million per player or more. In other words, the three prognosticators here correctly judged that the market wouldn’t continue to increase at the rate that it had in recent years.
I moved the future-year-multiplier factor, which I use to equate contracts of unlike years, and found that this was robust for multiples between 0.5 and 0.75 (I used two-thirds for the study, as per my earlier article, a regression based on old contracts suggests that 0.63 might be a slightly better estimate). For the entirety of that range, the crowdsourced predictions, my predictions, and Kiley’s predictions were the best in some order.
For what it’s worth, the drivers of error among the three top sets of predictions were quite different. Remove the three NPB players from the dataset, and my predictions were almost dead on – around a third of a million low per player. Removing those three also helped Kiley’s predictions out meaningfully. It feels like he and I might have fallen victim to some groupthink here, which is something I’m going to keep an eye on so that I can attempt to avoid it in future years.
On the other hand, the crowd predictions were low on each of the top nine players. It might be time to update your internal model of the cost of a win in free agency – perhaps in keeping with some recent research on the topic. Remove just the top five players, and these predictions were almost perfect. On the other hand, the top five players are often the most interesting part of the market. Great work in total, but we all have areas for improvement.
As I seem to conclude every year, you readers did incredibly well at making contract predictions. Sure, the top of the market came in hotter than you expected, but this was an excellent set of predictions overall. If I were a team-side analyst looking for a good baseline estimate of contracts, I’d call up the FanGraphs crowd first thing.
I’m quite happy with my estimates, as well. Setting aside my much-discussed misses on the players posted from NPB, I nailed the top of the market. My average absolute error on the top 10 players was half of the next-closest group, which was, believe it or not, the crowd. That’s because almost every other analyst missed very high on Tucker and very low on Alex Bregman and Cody Bellinger. If I were suggesting a hybrid approach to a team, I’d tell them to take my estimates at the top of the market, take the crowd’s for everyone else, and under no circumstances ask me what a player from a foreign professional league might sign for.
That’s not to say that no one else did a good job. Kiley came the closest to predicting the total amount of money committed after adjusting for contract length. The MLB Trade Rumors team had the best set of relief pitcher predictions that I’ve measured in four years of doing this exercise. Not to be overly congratulatory, but I think everyone should take a bow. The nerds and their spreadsheets did a pretty good job of guessing contracts this year.
Appendix
Here are a few tables showing error metrics for a variety of ways of scoring predictions. In each of these tables, I’ve included my predictions as well as the crowd’s, plus the best prediction from other industry prognosticators. If two industry prediction sets performed equally well on a given metric, I included both. First, the year-adjustment method I detailed earlier this winter, in both average and absolute average forms:
| Position | Ben | Crowd | Kiley McDaniel |
|---|---|---|---|
| Starter | $-0.52M | $-1.16M | $1.2M |
| Reliever | $-1.82M | $-5.68M | $-4.85M |
| Hitter | $6.92M | $-1.36M | $1.08M |
| Total | $2.35M | $-2.56M | $-0.33M |
| Position | Ben | Crowd | Kiley McDaniel | MLBTR Team |
|---|---|---|---|---|
| Starter | $7.53M | $10.1M | $14.09M | $14.95M |
| Reliever | $5.28M | $5.79M | $7.28M | $4.43M |
| Hitter | $14.91M | $14.8M | $18.56M | $19.69M |
| Total | $10.1M | $10.9M | $14.5M | $14.58M |
Next, AAV by the same average/absolute average method:
| Metric | Ben | Crowd | Tim Britton, The Athletic |
|---|---|---|---|
| Average Error | -$0.68M | -$2.16M | $-0.55M |
| Metric | Ben | Crowd | MLBTR Team |
|---|---|---|---|
| Avg. Abs. Error | $3.59M | $3.46M | $3.78M |
And finally total guarantee:
| Metric | Ben | Crowd | Kiley McDaniel |
|---|---|---|---|
| Average Error | $5.87M | $3.76M | $7.84M |
| Metric | Ben | Crowd | Kiley McDaniel |
|---|---|---|---|
| Avg. Abs. Error | $21.36M | $20.3M | $24.4M |
Here’s a non-monetary one, too. I noted how many years I predicted for each contract as well as how many years each contract actually included and displayed them as a grouped bar chart.

I did the same for the crowd:

My read of this data is that even with the slight biases in both my predictions (the NPB contracts) and your predictions (the top of the market), we outdid the rest of the prognosticators this year, and that it’s probably too close to call between our two sets of predictions. To be honest, that’s been my read in a lot of years. If I had to pick between me and the rest of the professional prognosticators, I’ll admit I’d take myself. I’m not certain that I’m better, but I’ve achieved better results of late. On the other hand, if I had to pick between using my predictions or the crowdsourced predictions, I’d call it a true coin flip. Perhaps I’m biased – you should always be skeptical when someone grades their own predictions and gives themself a good mark, and as I’ve said, my colleagues did good work – but for me, the results speak for themselves. It’s a golden era of contract predictions, and there’s no set of predictions I’d prefer over our crowdsourced ones. That’s pretty dang cool to me.
Ben is a writer at FanGraphs. He can be found on Bluesky @benclemens.
I have to wonder if the teetering economy and the specter of a work stoppage made some teams more risk-averse, especially for long contracts.
The media (especially LinkedIn and the federal government) want us to believe that the economy is just fine, but I suspect owners don’t believe it. (I don’t either)
I don’t know what your LinkedIn feed shows, but mine shows a lot of people struggling with under-or unemployment, having a difficult time finding new jobs, few job postings, and lots of bragging from AI companies about how they are replacing jobs. None of that reads as “good economy” to me, but a lot of it also reads as “doom-and-gloom for clicks” so I don’t think it’s a great indicator either way.
I’m curious how it would view the Kyle Tucker contract if he opts out after the 2nd year. Would need to get 250 ish after age 30 to match your number. Which doesn’t feel crazy but would need him to still be at his peak.
Assorted notes on contract predictions:
1) It’s really hard to “bake in” things like opt-outs/mutual options, which meaningly affect the fundamental CBT hit vs. the “actual” payroll payout. And I’m not sure which indicator should be the target.
2) Given the reaction in comments here to nearly every top-of-the-market RP contract, I am unsurprised by the crowd being aggressively low on RP contracts.
3) I expect that the trend to shorter, higher AAV contracts will continue going forward. I think over the next few years, it’ll be only the true superstars and pre-arb extensions that get anything longer than 4-5 years.
4) The upcoming CBA negotiations and any meaningful changes to the economy of FA will have a lot to say about this, of course. I would expect any limitations on deferred money would fundamentally alter some contract structures.
5) It’d be cool if we could see our individual projections after we submit them, if only for personal reference.
I’m trying to figure out how I did.
I know for a fact I was light on Murakami and Imai (who clearly didn’t get the $100M+ deals they were looking for and that I expected some team to give them), as well as Schwarber, Cease, Bregman, and Alonso.
Based on comments I wrote, I was close for what Cease, Bregman, and Alonso were expecting to get in free agency, I just didn’t think any of them would get it. I thought they would all fail to get what they were looking for and bet on themselves. But they got it.
I would have been close on Bichette had he accepted the reported Phillies deal, but he did not and I think what he accepted is so radically different than that I can’t evaluate it.
I more or less predicted Naylor, Bellinger, Ranger Suarez, Okamoto, and had an equivalent contract on Framber.
I said that Woodruff, Imanaga, Gallen, and Torres should all take the QO. Three did, and the other one should have. I waffled on whether Grisham should take the QO, but he ultimately did. I wouldn’t count Grisham as a win necessarily.
I went too high on Edwin Diaz and Eugenio Suarez.
And Kyle Tucker…and Paul Goldschmidt…well those were interesting. This comment is too long already, I’ll put those in another comment.
This is what I thought was going to happen with Kyle Tucker.
I was sort of right on this. I thought he’d wind up with the equivalent of that 8 year, $280M deal the crowd projected him for, but the total number would be much larger due to deferred money, and if it was under the equivalent of $250M on a multiyear deal he’d take a pillow deal. He took something that isn’t quite a pillow deal that was under $250M but allows him to test free agency again. So…I was sort of right. But ultimately wrong.
And then this is what I wrote about Goldschmidt:
In this case I got the market right and the player wrong. I thought he would just retire, but apparently he still wants to play.
If I was considering signing Murakami I would need a good explanation for why his strikeout rate jumped from a stable 21% to stable 28+% after age 22. Looks like there wasn’t one.
On Suarez–shouldn’t it be $35M off? Or is there something with deferrals?
(assuming you mean Eugenio)
This is Ben’s methodology for comparing contracts of different lengths (check the article he links at the top). He extends the shorter contract by two-thirds of the annual salary* for each extra year. So the 1/15 gets treated as if it had an extra year tacked on at 10 million, coming out as a 2/25, for a difference of 25 million from the predicted 2/50.
A 1/15 definitely isn’t equivalent to a 2/15 when evaluating a contract so this is one way to account for the difference. There are some more complex considerations you could make–extra years on a contract that runs into a player’s forties are different from the second and third years of a contract a player didn’t get–but Ben said he wanted a simple rule that he could set in advance. As he says toward the end, him, the crowd, and Kiley McDaniel still wind up with the best predictions even if you adjust the value of the future-year multiplier.
*In the article he says “predicted salary” but that’s in a case like Juan Soto’s where the predicted contract was the shorter one.
I wonder if the reason behind the crowd missing low on the top contracts is that it’s ‘intellectually preferable’ to underestimate rather than overestimate in this type of situation.
It feels easier to explain away an underestimate as the product of an irrational / overzealous team’s actions, while an overestimate might be seen solely as an error by the predictor. For instance, when I looked at the overestimations table I thought “wow Murakami’s market was badly misread”, whereas when I read the underestimations table I thought “wow the Jays really overpaid for pitching this winter”.
Perhaps this type of thinking is (subconsciously) factoring into the crowd’s predictions?
I agree there’s a general inclination to be conservative, and then teams still surprise us year after year.
Also maybe just that the teams are used to looking at larger numbers in their bank accounts than we are.
I love this comment with a fierce love.