Fantasy Baseball Draft Prep 2019: All About the Numbers

When I first started playing fantasy baseball, I was in middle school, and in the years up to and through high school, I had lots of time to do research. I would make my own rankings, read about and form my own opinions on every player, etc. Then college came around, and between all the homework, clubs, and sports games, I didn’t have as much time to do my fantasy baseball research.

When it was draft day my freshman year (2017), I had done little to no research leading up to it, so naturally, when it became time to draft, I pulled out my phone and brought up some fantasy projections. This ended up working really well. I won that league, partially because I traded for Giancarlo Stanton in April, but that’s another story.

Sophomore year came around, and it was early February. I knew a lot of the players in the league from playing fantasy baseball for so long and from being a part of M-SABR for a semester, but I still did not have the time I wanted to do thorough research before my drafts. So I decided to try something new. I wanted to see how valuable each player is really worth at their position, using only the numbers.

So I created my own system for evaluating players in rotisserie and head-to-head categories leagues. I’m going to go through how I calculate my player values in a standard 12-team 5×5 league (R, HR, RBI, SB, AVG for batters, W, SV, K, ERA, WHIP for pitchers), with 3 outfielder slots, no middle- or center-infield slots, and 9 pitching slots, using Steamer projections from Fangraphs.

The Formula

In short, my formula calculates how much more valuable each player is than replacement level at their position (like WAR). Since this is a 5×5 league, 5 numbers, 1 for each category, need to be added up to get the total value for each player. Each of the 5 numbers had 2 parts, the first being how much more the player has at the statistic than replacement level, and the second is a constant. It is constant because, for example, 1 stolen base is worth more than 1 RBI.

This first part will only involve the hitters. To get the replacement level for a position, first, you need to multiply the number of teams in your league by the number of players you start at that position. For this league, this number will be 12 for the catcher and the infield positions and 36 for outfielders. Then, you just sort by that category and record the statistic that is in that particular position. For example, the 12th-best projected run total at the catcher position is 39. Here are the replacement level numbers for each of the offensive positions (among players that have at least 200 projected plate appearances).

C 38 11 39 2 .249
1B 74 25 80 5 .270
2B 70 16 63 11 .273
SS 74 17 69 15 .271
3B 78 25 79 6 .272
OF 74 23 75 11 .267

I also included the players that only have DH eligibility in the position group that each of them used to play. For the players that have multi-position eligibility, you should draft the one that has more value.

Now we have to calculate the constants. Before I go more in depth about how I use them, I’ll talk about how I calculate them. To do this, I go through each position, as I did to get the replacement level numbers, and I record the highest projected total at each position. However, I use my best discretion to account for the fact that there are outliers. Most of the time, I use the second-best projected total, but sometimes I use the third-best if two players are projected for a lot more than the rest of the players for their position at that category. This also depends on how many players you start at each position: I use the fourth or fifth highest projected totals at each category for the outfield position because this league has three outfield slots.

Some examples of outliers in this year’s Steamer projections include the stolen bases category among shortstops (Trea Turner and Adalberto Mondesi are both projected for 41, 19 more than the third-highest projected total of 22) and the home runs category among catchers (Gary Sanchez is projected for 28, 5 more than the next highest projected total of 23). Here are the “trimmed mean” highest projected totals for each category at each position. 

C 65 23 67 5 .269
1B 90 32 93 15 .286
2B 84 22 84 22 .291
SS 87 30 94 22 .287
3B 97 32 94 11 .287
OF 95 36 101 27 .297

Next, we need to calculate the differences between the “trimmed mean” highest projected totals and the replacement level totals for each category at each position. Then, we need to take the average for each category, as seen at the bottom of this chart.

C 27 12 28 3 .020
1B 16 7 13 10 .016
2B 14 6 21 11 .018
SS 13 13 25 7 .016
3B 19 7 15 5 .015
OF 21 13 26 16 .030
AVG 18.33 9.67 21.33 8.67 .019

Now that we have the averages for each category, we use them to get the constants. First, we multiply .019 by 1000 to make things easier to read (the constant will be multiplied by 1000 as well). Next, we find the largest number, and that category will have a constant of 1 in the formulas, which will be the 21.33 in the RBI category. Finally, we divide the largest by the other four to get the rest. These are the constants that we get for this 12-team 5×5 standard league.

1.16 2.21 1 2.46 1.12 * 1000

Think about it. It makes sense that one home run is a little more than twice as valuable as one RBI, and one stolen base is about as valuable as one home run. If we were to use different constants for each individual position, it would not make sense. By that logic, if you look at catchers, one stolen base would be nine times more valuable than one RBI, or if you look at shortstop, one home run would as valuable as one run, which obviously isn’t true in fantasy baseball.

Here are the player value formulas for each of the six offensive positions:

C: Value = (R – 38)*1.16 + (HR – 11)*2.21 + (RBI – 39) + (SB – 2)*2.46 + (AVG – .249)*1120

1B: Value = (R – 74)*1.16 + (HR – 25)*2.21 + (RBI – 80) + (SB – 5)*2.46 + (AVG – .270)*1120

2B: Value = (R – 70)*1.16 + (HR – 16)*2.21 + (RBI – 63) + (SB – 11)*2.46 + (AVG – .273)*1120

SS: Value = (R – 74)*1.16 + (HR – 17)*2.21 + (RBI – 69) + (SB – 15)*2.46 + (AVG – .271)*1120

3B: Value = (R – 78)*1.16 + (HR – 25)*2.21 + (RBI – 79) + (SB – 6)*2.46 + (AVG – .272)*1120

OF: Value = (R – 74)*1.16 + (HR – 23)*2.21 + (RBI – 75) + (SB – 11)*2.46 + (AVG – .267)*1120

The Player Values (Hitters)



First Basemen:

First Basemen

Second Basemen:

Second Basemen



Third Basemen:

Third Basemen


OF 1-20OF 21-40
OF 41-60
OF 61-80.JPG


Overall 1-20
Overall 21-40
Overall 41-60.JPG
Overall 61-80
Overall 81-100.JPG
Overall 101-120.JPG
Overall 121-140.JPG
Overall 141-160

You may be thinking to yourself: how is J.T. Realmuto more valuable than Alex Bregman, or Aaron Judge? First of all, this is a shallow league, so every player in your lineup is more important, but if you look at the numbers, you will see it’s pretty clear. Take Bregman. The replacement level stats for third basemen are 78 runs, 25 homers, 79 RBIs, 6 steals, and a .272 average. Steamer has Bregman projected for 18 more runs, 1 more homer, 11 more RBIs, 4 more steals, and 7 more batting average points than a replacement level third basemen. 

The replacement level stats for catchers are 38 runs, 11 homers, 39 RBIs, 2 steals, and a .249 average. Steamer has J.T. projected for 27 more runs, 9 more homers, 33 more RBIs, 3 more steals, and 20 more batting average points than a replacement level catcher. Other than Bregman’s 1 extra steal, J.T. is better than replacement level at his position in every category, contributing much better stats than a replacement level catcher in the runs, RBIs, and average categories in particular. 

Am I saying you should draft J.T. at 3rd overall? No, because you can get him in the 4th round. The point is that having a top-tier catcher is very valuable in this type of league. If the league had more than 5 hitting categories or had more teams, the value of catchers would go down. I am saying that in a standard 12-team 5×5 league, you should prioritize drafting a top-tier catcher.

Not just that, but when you are about to make a pick, don’t just look at the raw stats, think to yourself: how much of an advantage am I getting at this player’s position by drafting him?

Some other sleepers jump out at second base, including Daniel Murphy, whose projected .307 average and 83 RBIs give him a huge advantage at the position, and Jose Altuve, whose ADP is in the second round but should be a mid-first round pick based on the massive advantage he gives at the position with his projected 90 runs, 80 RBIs and .303 average.

You also may have noticed that first baseman Cody Bellinger and outfielder Cody Bellinger are back to back in the rankings, meaning that he gives about the same value at both positions. Meanwhile, Javier Baez is more valuable at second base than shortstop because second base is a very weak position.


A similar process is done for the pitchers, but only for starters. After some trial and error, I realized that it is not smart to do this process for relief pitchers because, realistically, all that matters is the number of saves they get. Sure, you want closers that have a good ERA and WHIP, but the contribution they make to your overall ERA and WHIP is minuscule compared to the contribution your starters make to those categories. So I would suggest going off your favorite closer rankings during your draft.

Since this league has 9 pitching slots, I assume teams will devote 3 of those to their relievers, leaving 6 slots for your starters. Also, there are 5 bench spots in standard leagues, and I assume that 3 of those are devoted to starting pitchers. Therefore, to get replacement numbers for each of the categories (excluding saves), I use the number in the 12 * 9 = 108th best position. Here are those numbers.

SP 8 116 4.30 1.35

Here are the “trimmed mean” highest projected totals for each category.

SP 13 214 3.44 1.14

And here are the differences.

SP 5 98 0.86 0.21

I use a similar process to get the constants. First, I multiply the ERA and WHIP differences by 100 to make things easier to read (the constant will be multiplied by 100 as well). Since 98 is the largest number, the strikeouts category will have a constant of 1. Here are the constants for this league.

19.6 1 1.14 4.67

So here is the formula for pitchers. The only difference is that I subtract ERA and WHIP from their respective replacement level values, instead of the other way around, because, obviously, the lower ERA and WHIP the better. I also divided it by 5 to make the value numbers similar to the batter values. There is no way to make overall rankings that includes both hitters and pitchers, but I divided the pitcher values by 5 to make it a little easier to read as well.

SP: Value = ((W – 8)*19.6 + (K – 116) + (4.30 – ERA)*114 + (1.35 – WHIP)*467)/5

The Player Values (Starting Pitchers)

Pitchers 1-20.JPG
Pitchers 21-40.JPG
Pitchers 41-60
Pitchers 61-80
Pitchers 81-100.JPG
Pitchers 101-120

Some sleepers that this system projects include Chris Archer, who Steamer projected to have a respectable 3.67 ERA, Robbie Ray, who Steamer projects to have a bounce-back season, and top-prospect Chris Paddack, who has been a stud in the minors, and Steamer has him being really good right away in the majors.

For leagues that have quality starts as a category, use your favorite projection system, because steamer does not project them. My system actually works better in leagues that use quality starts instead of wins (all leagues should do this by the way) because wins are difficult to project.

So there it is, a system that takes everything out of account except for the projections. I know it’s not perfect, but this is, in my unbiased opinion, the best way to evaluate players in fantasy baseball. Just like WAR, it’s about how much advantage you are getting at a player’s position by drafting him. If you made it this far, thanks for reading, and feel free to contact me with any questions!

Follow us on Social!
Facebook: M-SABR
Twitter: @MichiganSABR
Instagram: @Michigan_Sabermetrics

Categories: Articles, Fantasy

Tags: ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: