Free Agent Predictions Retrospective

Justin Verlander
Brad Penner-USA TODAY Sports

Free agency has come and gone this offseason. Earlier than we’re used to in recent years, we can look back on this year’s class and make some conclusions. To some extent, that’s a lot of our offseason coverage; what are ZiPS projections and positional power rankings, after all, if not catalogs of how teams have changed their fortunes in the offseason? Today and tomorrow, I thought I’d do something slightly more navel-gazey, and perhaps slightly more useful in the long run, by looking back at my contract predictions to see what went right and what went wrong.

First things first: let’s take an accounting of both the crowd’s and my predictions. I took the contracts signed by each of the top 50 players in free agency. A few clarifying remarks: I removed players who accepted a qualifying offer, as both the crowd and I made our predictions before qualifying offers were extended. I considered only guaranteed years, ignoring options of any type, be they vesting, team, or player. I also ignored incentives and trade kickers. Finally. I’m using Carlos Correa’s rumored deal with the Mets — 12 years, $315 million — even while it’s not yet official and may be amended.

With that out of the way, I grouped the players into positional groups and compared our predictions to real life. How’d it go? Pretty well, actually, for both sides. Positive numbers here mean we under-estimated, and negative numbers represent an over-estimate:

Predicted vs. Actual VA Contracts, ’22-’23
Category Ben AAV Crowd AAV Ben Total $ Crowd Total$
Overall $0.59M $1.13M $12.93M $17.49M
SP $0.95M $1.81M $11.32M $11.9M
RP $2.33M $2.83M $8.33M $13M
IF -$0.82M -$0.25M $13M $23.14M
OF $1.59M $1.34M $18.19M $21.88M
Batter $0.05M $0.33M $14.89M $22.68M

Good job all around. Both sets of predictions didn’t miss by much, particularly when it comes to average annual value. Those numbers overstate my accuracy, though, because I was too high on some players and too low on others, especially on the AAV that both the crowd and I did so well at predicting in the aggregate. Here’s the absolute value of misses for both sets of predictions. In other words, missing low by $2 million on one prediction and high by $2 million on another would result in an average absolute miss of $2 million, not $0:

Predicted vs. Actual VA Contracts (Absolute Value), ’22-’23
Category Ben AAV Crowd AAV Ben Total $ Crowd Total$
Overall $2.89M $2.34M $16.14M $21.03M
SP $2.51M $2.54M $15.2M $14.18M
RP $2.33M $2.83M $8.33M $13M
IF $3.12M $2.2M $15.57M $29.71M
OF $3.53M $1.97M $22.19M $24.25M
Batter $3.27M $2.12M $17.98M $27.72M

I did meaningfully worse here than I did in the aggregate, and I’m going to explain the exact details of why in a separate article that focuses on individual predictions that I’d like to improve on. For today, though, we’ll focus on bigger picture details, so these numbers are mostly just for illustration’s sake.

With that out of the way, I’d like to talk about something that I did well in my predictions: approximating average annual values for starting pitchers. When I was coming up with my estimates, I split the population of free agents into three types: starters, relievers, and hitters. I then compared 2022 WAR and 2023 WAR estimates, along with some home-cooked aging factors, to previous years of free agency.

I think this works best for starters, because their demand is much more predictable than either high-leverage relievers or position players. Who needs a center fielder? It’s hard to say in advance. Who needs a stud starting pitcher? Literally everyone, every year, could add Justin Verlander to their team and get much better. That broad-based demand means that looking at previous market behavior can give a pretty good idea for current behavior.

Another solid category, for both the crowd and me: average annual values given out to hitters in aggregate. I guess you could just say that we all did well on average annual values in general, other than the fact that we both missed the relief market significantly, but I struggled to figure out specific hitter contracts despite getting the general market right. Again, that might have to do with the less predictable market for position players.

For both of these categories, applying a formula worked fairly well. I took the total amount of average annual value committed in previous years, as well as the total amount of year-one WAR available in free agency in each category, and used that to create an estimated open-market cost of WAR. From there, I applied an inflation term. Mine was based on a blend of three factors: the long-term drift in contract values, a post-CBA-year bump roughly based on the last few CBA negotiations, and overall CPI inflation. My thinking in applying regular inflation on top of normal baseball drift was that while 2% inflation likely wouldn’t have much effect on baseball contracts, the runaway inflationary environment of the past year would bleed through somewhat. I forced the overall numbers for each group to match this formula, which is why I think I did well at predicting broader markets; if I wanted to allocate a little extra money to one hitter, I subtracted some elsewhere and vice versa. That served me well when it came to predicting the market speaking broadly, and protected me from having one or two missed individual player predictions torpedo the overall result.

I’m quite pleased with that overall model, but I’m annoyed to have missed the trend in total dollar outlay. The big trend of this year was teams offering players longer contracts than ever before. That was the case at the top of the market, sure, but it was also the case all the way down the line. The average contract length for the top 50 free agents was a half-year longer than both crowdsourced estimates and my predictions. That’s a lot, given that the average contract length for the top 50 was 3.5 years. That also made the AAV predictions look better than they actually were; instead of bumping up per-year payouts, teams extended contracts out further into the future.

As I wrote about last month, I believe that higher interest rates led to these longer contracts. Not foreseeing that was a big miss, as far as I’m concerned; interest rates have been high for quite a while now, and I should have seen the effect that would have on future monetary outlays. I’m going to add a term for change in long-term interest rates in the next iteration of my predictions in an attempt to better capture changing team behavior.

Another miss: I simply didn’t do a good job of predicting reliever contracts. I’m not particularly distraught about this one; given that there were only three relievers in the top 50, this basically boils down to Kenley Jansen getting a king’s ransom in Boston. Relievers were generally in demand this offseason, and if I could do the exercise over again, I would have put Robert Suarez on the list, but I’m generally okay saying that I should account more for recent form in my future reliever estimates and leave it at that.

Lastly, I feel better about my ability to predict contracts at the top end of the market than at the bottom. I was 20% low on guarantees extended to the top free agents. That sounds bad, until you consider the fact that the crowd was 36% low. The top end of the market blew the doors off this year, and I mostly expected that. On the other hand, I did a much worse job of handling the bottom half of the top 50.

This is certainly linked to the longer-than-expected contracts handed out all winter long, but I’m going to spend more time next year combing through mid-tier free agents to get a handle on that segment of the market. I’m not saying I’ll get it perfectly right, but putting extra focus on that segment of free agency can’t hurt. My early plans for how to do this involve breaking out predictions into more tiers based on expected contract size, but I’ll spend some time honing my methodology before repeating this exercise next year.

Overall, I’m happy with my performance and impressed by that of the crowd. This year was meaningfully different than the past two years of free agency. To the extent that we based our estimates on past years, we would have been wrong, and indeed, the trend towards longer contracts caught us both flat-footed. But overall, if you’re looking for contract estimates, this was a good year to look at FanGraphs.

Ben is a writer at FanGraphs. He can be found on Twitter @_Ben_Clemens.

Newest Most Voted
Inline Feedbacks
View all comments
1 year ago

I actually did pretty well with the top tier of free agents (mostly). Turner, Correa, and Swanson, and Judge were a little higher than I expected, but only a little (and if Correa takes a smaller deal similar to the Twins offer he got I’ll be dead on). I was very close on Rodon, Nimmo, and Verlander. I did well on the second-tier pitchers who got QOs like Bassitt, Eovaldi, and Anderson. I also got Stripling and Quintana almost exactly (I think).

I had 3 big categories of misses. The first–and where Ben was a lot closer–was on the #4 pitcher types who were above Stripling and Quintana but behind the QO starters. I was shocked to see Walker and Taillon get those deals, and Eflin beat my expectations as well (although I actually think it’s a fair deal).

The second was on the second tier of position players. Benintendi, Haniger, Rizzo, Abreu, and Contreras all good deals larger than I expected. I kind of understood the Rizzo, Abreu, and Contreras deals–they seem close enough to fair even if I didn’t think they would get that high. Benintendi and Haniger I still don’t get.

The third group was Xander Bogaerts and Jacob deGrom. I was off by about $60M on deGrom and about $90M on Bogaerts. I have no idea where I went wrong there, except that when owners decide they are going to spend money and nothing is going to stop them I’m going to be wrong a lot.

1 year ago
Reply to  sadtrombone

I think 5 years for Benintendi is a year too much and 8 years for Nimmo is 3 years’ too much, so Ben’s initial expectations would have been fine. A year ago, Canha only got 2y/$26.5M at age 32 and Starling Marte got 4/$78M at age 33. Haniger’s 3y/$43.5M and Teoscar Hernandez’s $14M in Arb3 show all these guys at roughly the same AAV, except Nimmo is considerably better and got double the package of Benintendi. The White Sox and Giants would have done better signing OF’s like Marte, Schwarber, or Canha last year. Since they weren’t going to match the Blue Jays for Varsho, they overpaid in this year’s more expensive FA market.