Ottoneu Surplus Calculator 2020

Today I am releasing the latest and greatest Ottoneu Surplus Calculator for the 2020 season. I have pre-loaded it with dollar values for all four ottoneu scoring types using the Depth Charts projections (Steamer projections with FanGraphs staff playing time assigned). There are a few big changes this year, so I’ll note those first:

  1. The Surplus Calculator has been entirely rewritten from the ground up. The old version of the tool was hacked together with features added over multiple years and was getting unwieldy and slow, so I rebuilt it from scratch in order to focus on the features I knew I wanted and to keep it leaner and quicker. You should notice that this year’s version is quicker to load and will also work MUCH better on mobile devices.

  2. I’ve added a few features like inflation assumptions for keep/cut on the tool, inflation adjusted surplus, FA prospect list, the Arb Targets tab can now be sorted by Team and by Overall surplus assets, and the ability to paste in Custom $ Values should work better than it did before.

A few important instructions before you use the sheet:

  1. The sheet I’ve linked is locked for editing, so you must make a copy and save it to your own Drive to use it. Just click on File:Make a copy to do so.

  2. Once you’ve made a copy of the sheet, enter the league # you want to run through the SC in B16 on the Team Totals tab, everything else will load automatically once you’ve done that

  3. Select Yes or No in B19 of the TeamTotals tab to designate whether you’d like the tool to assume pre-keeper deadline (so the tool automatically flags players as keeps and cuts) or post-deadline (the tool assumes all players on all rosters are keepers). This is currently defaulted to No (pre-deadline).

  4. Select Yes or No in B20 to indicate whether your league has auctioned yet or not. If this is set to Yes then the Proj Team Val (the tool’s estimate of final team strength) will assume that teams can use their remaining available salary to acquire 50% in value (so a team post-auction with $10 in available salary gets a $5 bump). If this is set to No then the Proj Team Val will assume that teams will acquire value at auction with their remaining available salary equal to the inflation Discount % (to reflect the premium teams need to pay at auction to acquire assets).

  5. Select Yes in B21 if you want to paste in your own custom $ values on the Custom$Values tab in the same format as the standard SC $ values (see the headers on the Custom$Values tab to see which columns you will need for your pasted values). This will load those pasted values instead of the standard SC $ values. If this is set to No the tool will automatically load the standard $ values for your league’s format.

  6. The Inflation Assumption in B23 on the TeamTotals tab can be used to change the breakpoint the tool uses to determine keepers. At 0% (the default), the tool behaves just like it did in the past and assumes every player with a salary higher than their $ value will be cut, and all others kept. The higher you sent this % the more players the tool will flag as keepers. By changing this value you can get a better sense of how the projected team totals change and a more accurate view of who will be kept. For example, Trout is projected at $75 for FGPts, it’s unrealistic to expect owners will cut a $79 Trout, so using a 10% Inflation Assumption will allow the tool to flag that Trout as a keep and not a cut.

  7. The Team Roster tab will let you select any team in your league and sort that team using a few different options (by Salary, Position, Surplus, and $ Value). This tab now also shows the Inflation adjusted Value (using the Inflation Assumption you enter on the TeamTotals) and Inflation adjusted Surplus.

  8. The FreeAgents tab works just like it did before, showing all available FA in your league, with options to sort by Ownership % or $ Value. There is now also a minor league specific FA tab showing just prospects unowned in your league.

  9. The RestrictedList tab is useful for leagues that have MiLB offroster systems, showing all players who have been designated on the Restricted List by their league commissioner.

  10. The ArbTargets tab lists all players with surplus ($ values above their salary, ignoring inflation) with options to sort by team or overall.

As always, if you have questions about how to use the tool, or suggestions for features to add, please let me know.

Ottoneu Surplus Calculator 2.0 Public 2020

2/19- Updated $ values for all four formats using Depth Charts projections (which now include Steamer + ZiPS)
1/24- Updated $ values for all four formats (which fixed a small bug where some players had appeared twice on the $ values)
12/13- Pushed a small fix to correct a bug with the loading of Custom $ Values
12/13- Initial release of 2020 SC with $ values for all four formats using Depth Charts projections (Steamer only)


This is awesome stuff as always Justin. Thanks so much for creating and sharing this tool.


Awesome! Thank you!

1 Like

First of all, thank you so much. This is amazing!

Second, I pasted in my custom values on the Custom$Values page (I did not include the “Team” or “Pos” columns). But as soon as I changed the dropdown on TeamTotals to “Yes” for Custom Values, it set everyone to $0 and all of your values on the $ValuesInput tab disappeared. Did I do something wrong? Is it not working like it’s supposed to?

1 Like

Hmmm, it could be that it’s not working as I intended, can you try filling in the Pos column and team with info (like 1B and CHC for all players)?

Crap, I know why it’s not working, I will try to fix ASAP

@JakeDubois I think I fixed it, download a new copy and let me know if that works.

@eamuscatuli It’s working! Thank you!

1 Like

This is incredible! Thank you so much!

The roster is not pulling in for one team in our league that has an icon in the middle of the team name. Any work-around you can identify?

1 Like

Probably not, can you tell me the league # so I can see for myself?

League 772. Funny thing is it works fine for the team with an icon at the end of the team name.

Yeah I don’t think I can fix that without potentially breaking other things, especially because I’m not exactly sure why it’s happening.

No worries. Thanks for looking into it, and for your great work on this!

1 Like

It looks like somehow an extra space is being added after the emoji on the rosters export that causes it to not match the team name per the Ottoneu League page, maybe this is something @nivshah can look at?

1 Like

So, to follow up on this, if an ottoneu team name has two consecutive spaces it causes issues with the way the league/team settings are pulled into the SC, so my simple fix is to have those owners fix their double spaces by editing their team name haha.

Yeah just to give a bit more background: @scottegg you may not be aware of it, but your team name has two spaces between the baseball emoji and the first “Duda”. This is causing issues for the Surplus Calculator, due to how XML renders 2 spaces in a row. If you could rename your team and get down to one space between the baseball emoji and “Duda”, we think you should be good.

Awesome - thanks for the info. It’s actually another team in our league. I was just scoping out the other teams in our league. I may give Duda the heads up though. Thanks!

1 Like

Thanks so much for posting this!

Quick question, For column on the Team Roster tab “Proj. Value”, Is this meant to be filled out by hand or does is there a way to pre-load this with Steamer projection values or another projections system?

1 Like

I’m not sure which column you’re referring to, but once you enter an ottoneu league # all $ values should load automatically

Figured it out for now, I was working off the old version. Thank you!

1 Like