Ottoneu: 2023 Replacement Level
Did you roster any 4.33 points-per-game outfielders last season? Better yet, did you roll that 4.33 P/G outfielder into your starting lineup on a regular basis last season? If you did, you were straddling the line of replacement level. Last week I placed offensive players into ranked tiers based on their final P/G achievements and 4.33 P/G is a tier-five player at best. Here’s a reminder of the points spread between tiers:
Offensive P/G tiers for all position players who played in more than 75 games in 2023:
Tier 1 range: 9.1 P/G – 6.0 P/G
Tier 2 range: 5.9 P/G – 5.5 P/G
Tier 3 range: 5.5 P/G – 5.1 P/G
Tier 4 range: 5.0 P/G – 4.7 P/G
Tier 5 range: 4.7 P/G – 4.3 P/G
Remember that represents all players clumped together. 4.33 P/G is actually pretty good if we’re looking at only catchers. The tiers above are independent of position and therefore, flawed. Today, I’ll dial in what should have been considered rosterable in 2023 by position, making note of what a replacement-level player recorded in points per game. Let this serve as a starting point as you may play in a different league format than I do, which would create different-sized player pools. You should be able to easily copy and paste the table in this article and edit the inputs accordingly. Before the table, I need to set the parameters:
– This is representing a 12-team, FanGraphs points league
– I am considering players on my bench above replacement level and am being somewhat arbitrary about it. Each league has 40 roster spots, but I’m leaving 10 of those roster spots for minor leaguers and below replacement-level players. If you add up the “Starters” and “Bench” columns, that is what I’m marking as each team’s number of above-replacement level players. Again, copy and paste the table and make edits if you wish.
– I have excluded players whose “Level” was anything but a major league team at the time of the data pull, eliminating minor leaguers.
– If a player is eligible for that position, they were included in the analysis for that position.
| Position | Starters | Bench | League Rosterable (12-team) | Replacement Level P/G or P/IP | Player Example |
|---|---|---|---|---|---|
| C | 1 | 1 | 24 | 3.84 | Yan Gomes |
| 1B | 1 | 1 | 24 | 5.03 | Christian Encarnacion-Strand |
| 2B | 2 | 1 | 36 | 3.71 | Enmanuel Valdez |
| SS | 2 | 1 | 36 | 3.51 | Jordan Westburg |
| 3B | 1 | 1 | 24 | 4.71 | Ryan McMahon |
| OF | 5 | 1 | 72 | 4.33 | Edward Olivares |
| SP | 5 | 1 | 72 | 4.55 | Braxton Garrett |
| RP | 5 | 1 | 72 | 6.69 | Lucas Sims |
If you take all outfielders in your league, rostered or unrostered, and you sort them by points per game, you simply check the points per game mark of the 73rd-best player. But wait, isn’t a replacement-level player the player with the highest P/G mark available on the waiver wire? Well, yes and no. Let’s now put this system to the test with that 4.33 OF I mentioned in the intro. First, I’ll start by going into my league’s free-agent player pool, isolating outfielders who are currently free agents and played in more than 75 games last season. That last 75-game qualifier is not a part of the table above, but since I’m using end-of-season data, I want to show the players who accumulated playing time and kept a high points per game mark. Here’s what I see:
Andrew McCutchen – 5.24 P/G
Jeff McNeil – 4.35 P/G
Luis Rengifo – 4.34 P/G
Edward Olivares – 4.33 P/G
Willi Castro – 4.11 P/G
So, in theory, this mark works for my league. McCutchen, McNeil, and Rengifo were all hurt toward the season’s end, so in reality, the first available player eligible for the OF spot is Castro. To really prove this out, I’ll do the same exact thing in a second league. Here are OF eligible players available as free agents with over 75 games played:
Tommy Pham – 4.73 P/G
Harold Ramírez – 4.63 P/G
Jose Siri – 4.42 P/G
Ok, so it’s not perfect, but it’s close. I rostered Cedric Mullins all season and he finished the year at 4.37 P/G. Should I have dropped Mullins for Siri? Tough to say. Hindsight is 20/20. I still prefer Mullins for 2024. For now, this may help inform you of where you need to make cuts this offseason. Stay tuned for next week’s post where I work through this same exercise for points per game projections in 2024 and begin converting those projections into dollar values.
Thanks Lucas. Very good information
Very helpful, thanks for doing this.
This is a decent start, but there’s a pretty sizeable flaw. There are 82 outfield qualifiers who had more P/G than Olivares. I eliminated the 10 with the fewest games played, to get to the 72 in the table. Those 72 players combined to play 9,158 games, which is a little over 763 games per team in a 12 team league. This doesn’t even account for (a) the utility spot or (b) multiple position eligibility.
It’s even worse with the pitching, the top 72 SP combine for 8,206 innings, which is a little under 689 innings per team, meaning you’re getting more than half of your innings out of the bullpen, which is nearly impossible.
That being said, this is somewhat similar to what I use. First I find a league average P/G and P/IP and calculate a fantasy points above average (FPAA) for each player (equation: FPAA = Player Points – [LgAvgP/G*Games]), similar to RAA in real baseball. I find this gives some value to high P/G players that don’t play as many games while still putting a value on games played.
Then, sorting by that number, I find the best 1944 games (12*162) for each position, then sort those who don’t make that cut to find the best 1944 games for the MI and Util Positions. Similar thing for pitchers, with the slight caveat that you do have to make an arbitrary innings total for SP and RP. I usually find that teams in OttoNeu points generally have somewhere between 1100 and 1150 innings out of their SP, so I go with the top 13,500 innings (1125*12) for SP and the remaining 4,500 for RP.
There’s also a certain iterative process to this to consider multiple eligibilities. I usually only assign one eligibility to a player, and I’ve found the order to be C, 2B, 3B, OF, SS, 1B. Starting at catcher, I go down the list and if a player is eligible there, I stop. It’s imperfect and varies somewhat from year to year, but I generally find it works recently.
Using this methodology, here’s my replacement levels (fwiw, league averages are 4.05 P/G and 4.33 P/IP):
C (18 above replacement): Gary Sanchez (27.0 FPAA in 75 games, 4.41 P/G) or MJ Melendez (25.4 FPAA in 148 games, 4.22 P/G)
1B (21 above replacement): Ty France (34.4 FPAA in 158 games, 4.27 P/G)
2B (30 above replacement): Luis Rengifo (35.7 FPAA in 126 games, 4.34 P/G)
SS (13 above replacement): Jeremy Pena (25.7 FPAA in 150 games, 4.22 P/G)
3B (18 above replacement): Ezequiel Duran (27.6 FPAA in 122 games, 4.28 P/G)
OF (81 above replacement): Nick Martini (8.7 FPAA in 29 games, 4.35 P/G) or Hunter Renfroe (3.2 FPAA in 140 games, 4.08 P/G)
SP (93 above replacement): Tyler Wells (-82.8 FPAA in 108.2 IP in starts, 3.57 P/IP)
RP (72 above replacement): Michael King (121.0 FPAA in 64.1 IP in relief, 6.21 P/IP)
Yes. If you’re using the Auction Calculator or a similar method, you first have to anchor the PA/IP volumes appropriately.
But, ALL of this is missing the forest. In roto FGpts, replacement level only matters in an academic sense (H2H is different, especially for SPs). To win, we want to spend as little time as possible using position players performing under the 50th percentile of USED players. Last season, you needed to make a trade if you were using much worse than Nolan Jones or Lourdes Gurriel as your regular 5th outfielder.
Ottoneu plays shallow enough that you should never be rostering a player in the hopes of actual replacement level output (small exception for extreme utility types). Your $1 players should have $20 upside or else you probably screwed up rostering them.
Don’t disagree, your $1 players should definitely have upside, no point in rostering players at $1 who have low ceilings.
However, if you add up all the above replacements in my summary, it’s 346 players, roughly 29 per team, leaving 11 slots per team for $1 players. Lucas’s exercise is 360 players, but accounts for the same player at multiple positions.
There is also a distribution difference, as leifer says below, Lucas has each team rostering 6 above replacement MI (too high, imo), 6 above replacement OF (too low, imo), and 6 above replacement SP (way too low, imo).
If you go into a draft expecting to get 4.55 Pts/IP SP and 4.33 Pts/G OF for $1, you’re going to lose a lot of decent back-end types at those positions for $2 and overpay for a bunch of backup MI types scoring less than 4 Pts/G.
My gripe with this approach is it’s an excellent thought exercise for how to finish 4th to 8th. Maybe it’s an ottoneu 102 lesson, but we really shouldn’t spend time thinking about rep lvl. At need, you’re already going to roster the best option you can identify.
I think there are too many MI and/or too few OF in the set-up proposed in the article. Currently there are six MI and six OF per team in the calculations but there are three starting MI spots and five starting OF spots on an ottoneu team.