Each year, before the season, I try to run a set of projected standings for my leagues. It’s not super difficult, though you do have to set aside probably about one hour per league to set it up. But once you have these projections, they can be extremely useful in figuring out your strengths and weaknesses, and giving yourself a realistic outlook for your team.
The specifics below are based on ottoneu, but the theory can be applied to any format.
To set up the standings, I simply download my league rosters, put each team on it’s own tab, separate the pitchers and hitters, and then use the FanGraphs depth charts (though you can use whatever projections you want) to pull in the stats for each player.
Once I do that, I go team-by-team and project playing time for each player. I aim to have each team fill out their full innings pitched, first by maxing out RP innings (as those tend to be more value on a per-inning basis), then by filling in from the best to the worst SP. Similarly, I fill out 650 PA per position on offense, starting with the best players and working my way down.
To do the “max” RP innings, I assume each team will get every inning from their top 5 RP, and 50% of the innings from up to two more RP. I aim for 650 PA per position because I find that is about accurate in practice. For example, last year in league 184 (FanGraphs Staff League), teams used had between 4,784 and 8,064 AB+BB+HBP (the closest proxy to PA I can get at this point). The bottom three teams, however, were out of contention and not trying to use up games, and outside those three, the minimum was 6,931. That works out to a range of 578 to 671 PA per team. The top four teams averaged 656.
You can then calculate how much each player will contribute to each category, get team totals and create a projected set of standings.
But the real key is what you do WITH those projections. For example, check out these standings.
|Team||R||HR||OBP||SLG||K||ERA||WHIP||HR/9||Offense Points||Pitching Points||Total Points||Place|
|Pass the Popcorn||925||271||0.328||0.443||1554||3.13||1.14||0.86||23||42||65||3|
|Veeck – as in Wreck||899||249||0.334||0.439||1502||3.13||1.16||0.79||17||43||60||6|
|I’ll Figure it out Later||935||249||0.344||0.433||1495||3.30||1.19||0.83||25||31||56||7|
|The Frugal Team||935||286||0.327||0.445||1479||3.36||1.18||0.93||28||26||54||8|
|Blue Team Bravo||930||271||0.327||0.436||1440||3.51||1.22||0.89||18||17||35||9|
|Gabe H. Cuod||926||234||0.334||0.437||1425||3.52||1.19||0.98||18||15||33||10.5|
My team (Fisher Bunnies) is in 5th and pretty balanced. In fact, even looking category by category, my team has 6, 7, 8, 9 or 10 points in every category.
A couple days ago, that was not true. A couple days ago, I had a real problem. My starting SS, Jhonny Peralta, was only being projected for 250 PA on my roster and on top of that hole, my team was OBP/R heavy, and light on SLG/HR.
So I took action – I traded away a $17 Carlos Santana, $3 Michael Saunders, and $8 Zach Britton for $30 Troy Tulowitzki and $1 Ben Paulsen (plus enough cash to free up a little bit of cap room). The deal leaves me needing a 5th RP, but it also made some big improvements.
The most obvious is that I needed a SS better than JJ Hardy, and now I have one. But Paulsen is also a better fit for me than Saunders. Neither was going to have a huge impact on my team, but I swapped some R and OBP from Saunders for some HR and SLG in Paulsen.
I also focused on moving Carlos Santana in particular because his approach leads to a very high on-base, but while he has 25-HR power, his exceedingly low average doesn’t leave much room for solid SLG out of a 1B. With him gone, my 1B/Util are Freddie Freeman and Mark Teixeira, who are actually quite balanced between them. Sure, I could have just benched Santana, but he was semi-expendable, based on my needs. If my roster had been the opposite – power heavy, light on OBP and R – I would have tried to trade Teixeira instead.
The other thing I use these projections for is to evaluate trades. I can easily pull a player out of my lineup, put a new acquisition in his place, and see if my team moves up or down the standings. In this same league, I had an opportunity to acquire an OF I am really high on and was asked for Jake Odorizzi. By the Depth Charts projections, Odorizzi is only my 5th starter, and this OF would have been in my top two or three, most likely. Yet the net impact on my team? A loss of two points. This surprised me, and I am going to do some further research to understand why this is happening, but so far I have passed on the deal based on the projected standings.
A final note – there has been a ton of talk in the ottoneu world this off-season about measuring surplus, but there can be a big gap between surplus and standings, for two reasons:
- Surplus does not know who you are using. In the Original League, I have the most surplus, but I project to finish third. Part of this is that I have players like Justin Turner who have high surplus value, but very little impact on my team. Turner is behind Kyle Seager at 3B and Joey Votto and Freddie Freeman at 1B, so his PA will be limited.
- Surplus does not know where you are using players. In the FanGraphs Staff league, Brandon Warne has insane surplus, but projects to finish 5th. Why? In part because he has a stacked MI – Manny Machado, Carlos Correa, Xander Bogaerts, and Brian Dozier for $52 TOTAL. He also has an $11 Miguel Sano. But because of the overwhelming depth at SS, he has to play Machado at 3B and Sano at OF. Both of those players have higher surplus if used at other spots – namely SS (or MI) and 3B, respectively. On top of that, he has Joe Mauer as his only 1B eligible bat, which leaves him very weak at that position. The abundance of MI surplus doesn’t get him 1B production, or pitching either.
It can take a good 30-60 minutes to set up projected standings for a league, but it is well worth the effort to understand your needs and evaluate trades.
Chad Young is a product manager at Amazon by day and a baseball writer (RotoGraphs, Let's Go Tribe), sports fan and digital enthusiast at all times. Follow him on Twitter @chadyoung.