Tutorial: FanGraphs’ Auction Calculator
Auction drafts enable me. I love the freedom to pick who I please with total disregard to ADP. I can decide what a player is worth to me at that exact moment in the draft and act accordingly. Too much freedom can be a bad thing, which is why we need guidance in an auction. Specifically, everybody should be referencing some kind of value sheet.
Most publicly available values are optimized for a 12-team, $260, shallow roster league. It’s the most common format, yet so many of us play by different rules. You want a custom sheet optimized for your league. Enter our Auction Calculator.
The tool is incredible intuitive, but let’s walk through the details using my home league as an example. It’s a 12 team, 5×5 Roto league, and we have 27 player rosters with six bench. The rest are active positions. The budget is $310, and we use OPS instead of AVG.
Once you input those details along with your preferred batter/pitcher split (I chose 70/30), you can generate results. The data is fully exportable to your spreadsheet of choice. Here’s the output (click to see):
Players are broken down by category using a methodology similar to Last Player Picked. Plate appearances are projected by our depth chart specialists. In this case, Steamer provides the performance projections, although I can also choose the Fans. The dollar values by category are really helpful. If I know my team is short on power, I can prioritize players with high mHR values.
The position adjustment is also clearly delineated. For example, in this league, catchers receive a $25.7 bonus for their position. This is good to know in certain situations. For example, if I’m selecting utility hitter, I want to sort by the PTS column which excludes the position adjustment. You should still use total dollar value as the expected cost.
The tool offers the ability to sort by position, saving you tedious work in a spreadsheet. I recommend exporting the values by position so it’s easier to go straight to your needs on draft day.
Three features require additional explanation. You can enter keepers with their associated price. Depending on your league, this could be an important step. If Mike Trout can be kept for $10, then you’re going to see some inflation. Presumably, other very valuable players can also be kept at low costs.
The calculator creates two new columns when you enter keepers – Adjusted Value and Cost. The adjusted value will include any inflation. If you’re ambitious, you can keep a dynamic value list by entering player costs as they’re selected.
There is a check box marked “experimental.” This assigns additional value to part time, platoonable players. Without this setting, Brandon Moss is valued at $16.4. With the setting, he’s $19.3. This is good for daily moves leagues and owners who are especially diligent about starting somebody every day.
Last but not least, you can artificially reduce the value of relievers. In this league, I know the best relievers usually cost about $22. Aroldis Chapman has a $31.7 price tag per the calculator. If I bump that down 30 percent, I’m left with reliever values more in line with my expectations. I can then assign more dollars to Giancarlo Stanton and the like.
UPDATE: I’ve noticed some confusion about pitcher values, so here are a few tricks to generating more rational values. If your league uses generic pitching slots, you should still divvy them up as starter and reliever based on how you plan to deploy them. In other words, decide on your pitching strategy before defining the positions.
Along a similar vein, if your league has four SP slots and you plan to use seven, you should enter seven SP into the calculator and remove three bench players. Just be sure it’s the optimal strategy for your league. Some formats without an innings max/min skew heavily towards relievers.
Parting Thoughts
I chose to write about our Auction Calculator today because it’s the most complete free tool I’ve encountered. However, I would love to discuss the tools you use to prepare for your drafts. Let’s do so below.
Of course, feel free to ask questions about the calculator too. I’m not involved with the project, so I can’t promise I’ll have an answer.
You can follow me on twitter @BaseballATeam

Strange that the FG calculator lists pitchers separately from hitters. You need to export both pages to Excel, then copy/paste and combine the lists. Otherwise, a fine free tool.
It’s consistent with site design. You’ll notice pitchers and hitters never intermingle.
Just like in real life.
Is there any way to save changes I make and the keeper list?
I believe if you save the URL, your changes should also be saved.
I posted this in another article, but I think it belongs here:
You can’t use the auction values as a bid limit. A simple check for this: how many hitters typically sell for $1 in your league? In the NFBC league I did this year, there were 31 of them. That’s not unusual. But the auction calculator says only 7 guys should go for $1, and 6 of those are given an additional fraction of a dollar, too. All of those extra dollars and fractions of dollars that the auction calculator thinks will go to those 30 hitters really adds up, and they need to be spread out among the better hitters since that is realistically where the money will be spent.
Simple way to fix this with the pauction malculator: set the league size to 10 teams rather than 12, and change dollars per team from $260.00 to $307.40 . That second figure is because we still need to account for the 46 players who are worth $1 but not given any of the budget, so ($260×12 teams – $1×46 players) / 10 teams = $307.40 budget per team. You’ll still have a handful of guys worth $1. But you can consider the 28 best hitters who had negative value also as worth $1 in terms of realistic bid limit, and the best 18 pitchers who had negative value as worth $1. All of the rest of the dollars are spread out properly. So now, Trout is worth $50 instead of $43. Which is realistic. If you do this, you will have a lot more success in your auctions. You won’t need to be calculating inflation on-the-fly, you won’t be over-bidding for a player with $5 of “value” since you’ll realize you should only be bidding $2 on him, you won’t be passing up all the studs because they appear to be going for $5+ above what you think their value is. It gives you more options to locate good values throughout the auction
This method is not only quick and dirty, but also extremely accurate. When I overlay auction values for this, it is almost a perfect match to actual NFBC auction outcomes, whereas with the unadjusted auction values the overlay doesn’t match up at all. For 15 team leagues I do a similar tweak using 13 team values. The reasoning behind why this is the reality of an auction is because of the stars and scrubs approach. People would rather pay more for a guy they know will remain on their roster. They know that the bottom 2 or 3 guys are easily dropped, either because they suck, lose their job, or if there’s a hot player to pick up off waivers. People don’t want to waste money on those last few players on their team.
Good point. I make my own mental changes to an auction price list for these very reasons. I’ve never really tried to incorporate those changes into the price list since I usually only reference it once or twice during a draft. I usually use a tool like this to get an idea of elite player cost and where replacement level can be found.
I think I’m following your concept but I don’t understand where the specific numbers come from (I’d like to try to adapt this method to a couple of my weirder leagues).
Why go from 12 teams to 10? And the -46 comes from 28 hitters and 18 pitchers, I guess, but where did those numbers come from?
46 is roughly the amount of players that should sell for $1, based on actual auction results (28 hitters and 18 pitchers). It’s always different, but pretty close to average. And even if it’s off by 5 or 10, the auction calculator is inherently off by at least 25 since it only projects one or two guys to be worth $1, so we’re looking at a significant improvement.
It happens to work out that 46 is also the amount of players that comprise two full teams (14 hitters, 9 pitchers, x 2 teams) which makes it convenient to remove those $1 players from the positive value player pool. So, what we’re saying by using 10 team valuations rather than 12 is that there are 4 catchers, 10 OF, 18 pitchers, etc, that will be sold for $1. Now, sometimes there might be a higher proportion of one position or another, but the 6 flex spots (UT/MI/CI) should act as a buffer, and any remaining difference is negligible.
So if I’m calculating values for a league of different size, (I’ve got a 9 team no-bench league and a 16 team league) I should go with historical value in place of 46? And then adjust the number of teams left off to match?
My question is along these lines. Whenever I change the calculator for the positional requirements of my 16-tm league I get only 28 SP with positive draft values. This is obviously wrong. We have 2 dedicated SP slots, 2 RP and two generic P.
Thanks for the tutorial. I am still having one problem. My home league has switched SO to SO/9 and when I input that I only get about 20 starting pitchers that have a positive dollar value. The other categories are QS, ERA, WHIP, and saves. Some of 20 aren’t even quality starters with high K/9. Also, one more point of confusion. When I devalue relives does the auction calculator change the value of the non relievers or do I and if I do I’m unclear as to how to even after reading your tutorial. Thanks for your patients if I’m being a moron and missing something obvious. PFGRIFF
I think K/9 might be adding some confusion. Instead of 2 counting and 2 rate stats, you have 1 counting and 3 rate stats. I’m not sure how it’s being calculated behind the scenes. If your league has an innings cap, just use K. K and K/9 are essentially the same stat in innings cap leagues.
If there is no cap, you’re seeing a quirk of your format. Only the truly elite pitchers project to differentiate enough from league average to provide any kind of reliable value. Have you tabbed to the RP values yet? They huge because of high K/9 and tiny ERA/WHIP.
I’ve noticed the RP decrease calc doesn’t always work. I’m trying to figure out replication steps. When it works, it changes other player values for you.
I figured out the problem. You’re using a lot of generic P, aren’t you? Because the calculator isn’t maximizing IP, it’s concluding you should throw like 900 innings with a ton of relievers. Instead of using say 9 P, make it 6 SP and 3 RP. That’ll get it to around 1450 IP.
Since K/9 is a rate, that makes the lower IP total ideal. This might actually be a strategy you want to pursue unless there is also a innings minimum.
and just like with hitter/pitcher auction splits, you want to tailor your SP vs. RP to what the rest of the league will do.
What about quality starts for points leagues? Can we get those added? More and more leagues are moving to quality starts now a days…
To other commenters, let’s leave a wishlist of categories under this comment. I’ll take them to DA when I see him next weekend.
Quality Starts are probably the most common stat not included on the list.
#1 for me. Thanks Brad.
Saves + holds!
Not exactly a category… but are the ZiPS projections going to be added to the list of available projections? And since I’m going down this road, how about a projection that uses the average of Steamer and ZiPS?
Unknown, but that’s up to Davey Apples.
LOVE the idea of a combined Zips and Steamer!! Make that the #1 request. Who’s with us on this!
Second QS. Holds.
Also, when is Yasmany Tomas going to be added? For an NL-only league he’s going to have a noticeable affect on 3B depth, no?
Definitely Quality Starts and Holds. I know that Steamer doesn’t project these, but there are some formulas you can use in lieu of them.
My formula for QS is (-0.0484242945*ERA+0.142712871*IP/GS-0.1405050902)*GS, for example
As others have stated: QS, Holds
Runs Produced.
You already have R+RBI, which is close, but R+RBI will inflate the value of home run hitters more than they should be in a Runs Produced league, Runs+RBI-HR=RP would be a really nice addition.
I got barked at in the other introductory article about this suggestion but I’ll try again: could the actual category stats be displayed instead of/in addition to the categorically-weighted dollar value for each player? I realize I could just go to the actual projection set itself with a few clicks to view the projected stats, but given the auction calculator has names sorted based on projected value, it would be nice to have the actual stat numbers to reference as well. Specifically, if I want to export and print these lists off to take to my draft(s), it would be awesome to have the values of those players as well as the stats to which they were based on, all on one sheet.
Thanks for everything . . . whether this suggestion is actually implemented or not, this tool is fantastic!
It would be really helpful if the exported data included the Fangraphs ID. It would also be really helpful if the exported projections included team and position information.
I know this is a little obscure, but I’m in a league that uses losses.
I know these are probably not commonly used stats, but my league uses Walks, Losses, and Total Bases for Pitchers which aren’t currently an option.
Also, I don’t know how common it is, but in my league we use RF/CF/LF positions instead of just OF. I doubt that it would have that much of an impact on values, but just wanted to throw it out there.
Total bases?
Yup ltcoffey, as absurd as it sounds we use Total Bases conceded by pitchers… I didn’t pick it, it’s a work league and my boss is commish, so I’m not going to fight it…
Our league plays with HRA for pitchers, that would be really useful as well.
Yeah QS would be huge.
QSs and Holds for sure. Also SV+HLDs.
I play in a 7×7 roto keeper league. The only stats missing are quality starts and holds.
Awesome tool.
Thanks for the quick response. We don’t have an innings cap or floor, maybe we should.
Quality starts would be the category I would like added.
Thanks!
If there’s no innings floor, maybe the move is to go all RP, punt wins but win the other 4 categories, and spend more on hitting.
In theory jrogers concept could work work, but everyone else is going to know this as well. Which means everyone will overpay for the high K closers. Meaning you don’t have any market inefficiency at all. Plus guys like Wade Davis, Andrew Miller and Jake Diekman are going to cost you a bunch.
I actually think I’d go the other way and punt k/9 while everyone fights over it and spend minimally on the Doug Fisters and Henderson Alvarez’s, of the world. You’ll probably spend less on Buerhle, Porcello and Dallas Keuchal combined than the price of Brad Boxberger.
Now obviously K’s indicate ERA a lot of the time so you might have some issues there. But it might be where the market inefficiency is.
As for your league I think you HAVE to have an innings floor if you are playing k/9. In a 12 team league with these setting Chapman and Kimbrel with 7 other pitchers that you choose to not even post any stats (via benching them AND/OR picking guys who wont even pitch in 2015). Is worth about 42-44 points (12 in ERA, WHIP and K/9 + 70-80 saves is going to be worth 6-8 points). I think between 90-98 will win you a 12 team league most of the time. So can you create an offense to earn 50 points with 75% of your budget still available?
Will the calculator incorporate ZiPS now that it’s been posted?
This erases my competitive advantage. Have been using Last Player Picked for years. Love your site, but this makes me sad. These eyes are crying.
Don’t come undun, Burton.
I tried to ask Eno this last week, but how can this be applicable for standard snake drafts? Meaning, just in terms of valuing players that accounts for adjustments and without any personal manipulation? For example, I am in a shallow 10 team h2h league with only 9 offensive positions, but because there are only 3 outfielders, it looks like the auction calculator places more emphasis on non-outfield positions for this format. Just trying to find the best way to use this tool to my advantage in another more unconventional way.
That result is intuitive, no? You’ll have star outfielders on the waiver wire through May at least because there is so much volume and opportunity. Other positions are much shallower.
The obvious lessons is: take the non-outfielder as a tie breaker.
In snake drafts, I use price lists to identify tiers. For example, tab to 2B. You should have Pedroia at around $18 and then Harrison as the next best at $8. You want to avoid those big value drops. Granted, your own valuations probably differ from Steamer so you can’t take this as gospel.
Can you give us more info on how to set tiers? The biggest problem is that in some cases there is no clear gap among the rankings. How do you hand tiering in this case? This is especially tru among SP’s and OF’s.
Tiers are just an arbitrary tool used for snake draft rankings to indicate when a ranker thinks there’s a big gap between players. If there is no obvious tier by $$, then you need not make a tier.
The problem is that there is no gap between 1 player and the next BUT there is a gap between the first player in a tier and the last if I continue to add players into the tier because there is no gap. For example, among SP’s there is a group that goes from Cole to Cingrani for which there is a gap between 1 player and the next within that group of no more than $.60. The difference between Cole and Cingrani is $3, Cingrani is 60% of the value of Cole. Is there a rule of thumb for the maximum % difference between the top end and lower end of a tier?
then keep the dollar values next to the players on your cheat sheet. You will be able to see that going from one player to the next doesn’t lose much value, but going from the first to the last is a significant difference
This tool is awesome! I’ve noticed that closers (and RP’s in general) seem to be always over valued in tools like this. Why is that? I have no idea how to use the devalue tool accordingly. Can you give us more info on this?
Take a look at Chad’s ottoneu article today. It explains why this happens. It’s a first order/second order discrepancy. Aroldis Chapman is often worth $30. But you can get more bang for your buck by getting Dellin Betances and Ken Giles for $20.
This disregards the value of a roster spot that at minimum will be filled by a $1 pitcher. You need to compare Betances and Giles with Chapman and the best $1 reliever. My guess is that the latter pairing is significantly more valuable.
I’m in a 12 team league with traditional 5×5 scoring and shallow rosters (3 OF, 2 UTIL, no MI or CI, 6 P and 4 bench slots.) I’m having an issue understanding the pitcher values I’m getting. I tried two different settings in the calculator–one i entered 6 generic P, the other I tried 4 SP and 2 RP. RP values are way high when I enter 6 generic P and seem about what I would expect when I break it down by 4 SP and 2 RP. Any idea what’s going on there? Which setting will give the most reliable values?
Use the 4/2 split, otherwise it optimizes with no regard to IP. The system is basically deciding that you’ll lose ERA and WHIP if you use SP. It’s also assuming everyone else will reach the same conclusion, thus inflating RP values.
Thanks! That’s a huge help.
Yep! That did it for me too. I had a 2SP/2RP/2P staff and instead of inputting this I just put 4SP/2RP which is what I usually roll out with.
Made the values much more sensible and actually gave me positive SP values for the 29th ranked SP.
My ottoneu league has a HR/9 category. Could that be added to the Calculator?
I’d love to see that too for that ottoneu setting. If that can’t be done, is FIP the closest analogue among the available options? It seems like it’s the only one that looks at HR given up.
I’m really intrigued by the inclusion of inflation by virtue of players who were kept at deflated prices. Seems like a great idea. How did you calculate that?
you calculate how much player value is at auction vs. how much money there is to spend
(Money to spend-value remaining) all divided by value remaining and you’ll get a number like 1.4, which indicates there is 40% inflation
Multiply the dollar values of the remaining players by 1.4
Then go back and identify who the one dollar players were before, and allocate anything over $1 from those players to the elite players remaining. This last part can be done either very scientifically or very liberally (like what I did), but I don’t think there is much of a difference either way.
Would it be possible to display the actual raw numbers of each stat along with the mScore in each category?
If I want to adjust the steamer projections to fit my own, that would make it easier to browse through the list and see, for example, what a bump from steamer’s 25HR projection to my 30HR projection would do to the mHR score.
Thanks for this awesome tool!
LastPlayerPicked allows this already: http://www.draftbuddy.com/baseball/lastplayerpicked/
It is a very useful function.
Are there any values (weights) that can be entered in H, 2B, 3B, HR in order to properly account for Total Bases, as opposed to each category individually?
I’ve got a beginner question… I’m getting some extreme values at the top. For example, Stanton’s projected value is $96 and his adjusted value is $113. Kershaw’s is even higher.
So how do I use this number during drafts? I don’t see anyone getting drafted for that much. If Stanton matches his Steamer projection this year, does that mean he would have been worth a bid that high?
Also, when the values turn negative does that mean I’m looking at below replacement level players?
It’s a 12 team, $400 budget, 4×4 ottoneu league.
What is meant by AVG in the pitching categories?
Thanks!
Brad, this is awesome! A couple more stat requests: HRA (home runs allowed) and WPA–is it possible to add those as potential categories? HRA in particular seems to be a common category so I imagine there’d be strong demand.
Big Thanks to David Appelman. I’m in a unique league and had a couple of issues with the software. I was really impressed by how quickly David addressed them and worked with me to resolve them.
Is there any way we can figure out players values without giving advantages to certain positions? ie.. i’m not sure if i value catchers an extra 26 dollars, but love the potential of what this tool could do otherwise. thanks!
Thank you for making this fantastic tool! Along with others, I would also love to see QS added to the stats as well as an option to use ZiPS + Steamer. It would also be very helpful to have the option to export the projected stat values alongside the dollar values.
Along with that second request, is there any way to get a version that allows you to fiddle with the projection values and re-generate auction values? If, for example, I think that Steamer’s PT projection for Mookie Betts is too low, how can I figure out what his auction value would be with a higher PT projection?
Why do the position adjustments change frequently?
Any way we can get a DH spot added to offense?
I believe that the aPOS is incorrectly accounting for DHs. I have set the Util to 4 (thereby making it easier to put a DH into your lineup) and still all DHs have $10+ disparity in the aPOS column. (Theirs is -1.10 in the example, with the next lowest position being +$9.40 on 3B). You guys seeing the same?
I’m in a 15 team league with a $260 budget and 30 players per team. The total amount spent should be $3,900. However, when I use the auction calculator, there’s no combination of hitters and pitchers that totals $3,900. Shouldn’t there be 450 players with a total value of $3,900? Or does the calculator assume some money won’t be spent?
I gave it a shot and came up with $3760. While it should equal $3900, we’re probably just looking at rounding error. It’s also possible the final few dollars would show up if you entered players as they’re selected.
Two questions:
1. If I am entering keepers, does the calculator deduct the cost of those players from the total draft cash pool? For the sake of a simple example, let’s say I play in a 4-team league and each team has a $100 draft/keeper budget. Each team keeps one player apiece, and all these players are $5. So that leaves each team with an adjusted $95 “cash on hand” to spend in the draft. Does the calculator account for this automatically, or is it still going to assume $400 ($100 x 4 teams) is going to be spent in the draft rather than $380 ($95 x 4 teams)? And for purposes of calculating player value, which approach is more accurate anyway?
2. Is there any way to add custom weights to each statistical category? To pick one example, in my league (16 teams) we weight the HR category 2x the RBI category. So you get 32 points for finishing first in HR, 30 points for second, 28 points for third, and so on. You get 16 points for finish first in RBI, 15 points for second, 14 points for third, and so on. I guess I could probably fudge this manually in Excel with the calculator’s exported values, but it would be a nice feature to add for future versions of the calculator.
I think it does not account for the monies used to acquire keepers. I just finally figured this out and decreased the maximum budget to the guy in our league who has the highest budget–our cap was $260 but the guy who has the most remaining pre-auction is $210.
Before this, I was getting auction values for Trout >$90, now it’s more reasonable like $60.
I am in an AL only standard 4×4 keeper league. We have 9 pitchers and do not have a designation for starters or relievers. When I try to run the calculator with 0 SP and 0 RP and just 9 pitchers, the results come back as out of whack because middle relief pitchers are over valued. In our league we have a minimum innings limit of 1000. I would imagine that i have to decrease the relief pitcher value but I am not sure by how much to get an accurate evaluation.
Enter the SP and RP as you would ideally employ them, not as 9 generic P. For example, I have a league with 9 generic P where I entered 6 SP, 4 RP and removed one of the six bench slots.
Brad our league is standard 5×5 AL only. 23 roster players are acquired through auction process. Each team also has a 17 player bench (farm). These players are acquired in a separate snake draft with designated $ values ($10,$5 or $2) depending when they are selected. In this case should I designate the number of bench players in the calculator as zero to get more accurate values as these players are not acquired thru auction?
what do the values in ($red) mean?
What does PTS stand for??