The Fragility of Projected Prices

Over the past few weeks, I have been posting Ottoneu positional rankings, with dollar tiers instead of specific values. I took this approach last year, as well. It represents an evolution from where I was a few years back, when I regularly posted dollar values.

I have a growing discomfort with the idea that I can or should try to predict a player’s precise value. I don’t believe I was ever naive enough to think a value I put on a player was exact and not subject to error. I did, however, think the error bars could be managed – a $10 player might not be exactly $10 but he’s probably not $6 or $7 and he’s probably not $13 or $14. Over time, I have come to believe those ranges are wider. How much wider? Well, a lot.

To test my thinking on this and illustrate the problem, I set out to create values using a variety of different projection systems and assumptions. My hypothesis was that making rational choices within a set of assumptions can lead to a range of values for a each player that can help me understand just how confident I should be in my (or anyone else’s) valuations.

As a baseline, here are the main assumptions I typically use:

  1. Teams roster a total of 22 C, 24 1B, 32 2B, 32 SS, 20 3B and 90 OF. That is 18.3 bats per team – add in something like 16 pitchers, and you have a few spots for prospects and flyers or replacement level depth.
  2. Teams spend about $385 of their money at auction (the other $15 are saved for in-season pick ups) and about 63% of their money goes to bats. These are both rough but based on historical data.

Based on that starting point, I created values using THE BAT, THE BAT X, ATC, Steamer, ZiPS, and Depth Charts projections for a total of 582 hitters who are available in all six sets of projections, moving around other assumptions to see what kind of ranges I found.

First, let’s just look at the different projection systems. I created values for all 582 players using the rate stats for each projection system (Ottone FanGraphs Points per plate appearance). I used Steamer’s projected PA/Game and the Depth Charts projection for games played. Pt/PA x PA/G gives me Pt/G. Subtract out a replacement level Pt/G, and you are left with Points Above Replacement (PAR) per game. Multiply that by projected games played and you get total PAR, and multiple that by a dollars per PAR value based on the total PAR available, you get a value for each player. Whether you like this approach or not isn’t really relevant for the moment – what matters is how variable the results can be.

Using that process, the value range for a single player across the six systems is as large as $18, for Fernando Tatis Jr., who is $52 using THE BAT’s projected rates and $70 using ZiPS. 30 players had a spread of at least $10; 179 had a spread of at least $5. However, only 182 players had a projection of at least $1 from at least one of the six systems. Of those, 146 had a spread of at least $5.

So at a basic level, which projection system you pick will cause a $5+ fluctuation in how you a given hitter, even holding everything else neutral.

Next, let’s look at playing time. This can be a real challenge as we have no idea what teams will do or, in some cases, where players will play. And the different projection systems handle playing time differently. Taking P/PA from the last exercise, I calculated four different versions of P/G for each of the six projection systems – one using ATC’s projected PA/G, one using Steamer’s projected PA/G, one using Depth Charts projected PA/G, and one using the player’s actual 2021 PA/G for games when they were a starter. For this exercise, I removed 69 players who did not have 2021 PA/G data to use.

From this group of 513 bats, 23 had a range of at least 2.0 P/G in their projection. 253 had a range of at least 1.0 P/G. Those numbers dont look huge, but reducing Tatis’s ZiPS projection by 2.0 P/G reduces his projected value by $33. A 1.0 P/G reduction is worth $17; half a point is $8.

For a lower priced player, the impact is still huge. Half a point per game takes $8 Andrew Benintendi down to $1. It takes $15 Nolan Arenado to $6. Taking much more than that from either of those two moves them to below replacement level.

Those ranges are based on a set of 24 projected P/G (6 systems x 4 PA/G projections) but even if we focus on just one projection system you get wide ranges. Looking at THE BAT’s P/PA across the four PA/G options, 63 players saw a range of at least 1.0 P/G; 273 saw a range of at least 0.5 P/G.

Even if you are extremely confident that you are using the best possible performance projections, the range of outcomes on a player can be quite high based on how you project playing time.

Other assumptions have similar impacts. If I increase the number of catchers I assume teams will roster from 22 to 24, that lowers replacement level at C byt 0.09 P/G, which increases Salvador Perez‘s value by $1. It lowers Juan Soto’s value by $0.40. That might seem meaningless, but I didn’t change anything about OF, or playing time, or anything else – I just added two catchers total across the 12 teams in the league.

If I lower my assumed share of money spent on hitters from 63% to 62%, that is enough to lower the values on top players by $1 each. If I lower my assumed amount of money each team spends from $385 to $380, top players lose $1-$2 in value.

And a series of small changes can cascade. Let’s say I go back to my historical data and determine teams actually roster 28 catchers (two per team, plus a few teams carrying a third), only spend $380, and that spend on hitters is actually 61% of budget instead of 63%. None of these changes are huge, but the impact on Juan Soto’s value is about $3. And I didn’t even touch anything about his projections or even OF replacement level.

Adding up all these small changes tells me that you could, if you wanted to, find the right combination of projected production, projected playing time, and roster/budget assumptions to create a massive range of player values. And you could do that without making any assumptions that are irrational or impossible to accept.

And yet, I am still posting tiers of just a few dollars. So how am I using this?

Remember you won’t make or use the same assumptions as everyone else. With such a wide range of possible outcomes, you may be surprised how much (or how little) another manager values a certain player. And you may be surprised how much (or how little) a player costs at auction.

Be open and transparent in trade negotiations. I have players on my roster I think are cuts that you like; you have players on your roster that you plan to cut that I like. You need a 1B and I have a $20 Rhys Hoskins, but is he a $14 1B like the Surplus Calculator says or a $25 1B like my projections based on THE BATX say? The easiest way to bridge this is to communicate with your trade partners so you can both make informed decisions and find a win-win deal.

If you have a player at $10 that your values show as $7, but you like the player? You can probably keep them without concern. If you have a player at $10 that your values show at $13, but you are skeptical? Cut (or trade) them.

Whether you are using my rankings, Justin Vibber’s Surplus Calculator, FanGraph’s Auction Calculator or any number of other value projections, take the prices with a rather large grain of salt. Discussing a trade this week with a co-manager in an Ottoneu league, I commented that the trade was going to cost us $12 in surplus and gain us $3 in surplus, but a $9 range across multiple players is small enough that I still liked the deal for us. A couple small tweaks to assumptions and the values on a four-player trade could move by $20 in either direction pretty quickly.

In short, don’t get caught up in the precise dollar figure attached to a player.





A long-time fantasy baseball veteran and one of the creators of ottoneu, Chad Young's writes for RotoGraphs and PitcherList, and can be heard on the ottobot podcast. You can follow him on Twitter @chadyoung.

6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Reynold
9 months ago

Interesting. Have played roto since 1989. The $ number I’ve assigned to a player has always been the number I thought the player would go for in the auction. Imperfect, like everything in a high variance game.