Outlining fantasy baseball valuation systems

Imagine if Wins Above Replacement (WAR) was expressed as a player rater score—Joey Votto had a score of 16.4 in 2011—with little to no explanation of how the score was derived. Well, that is what we face with nearly every publicized measurement of value in fantasy baseball.

In light of this, I have created my own valuation system. Under the working title of “Roto Points Above Average,” I have crafted a formula that measures player value based on how many marginal roto points they provide. The premise is simple: a score of 5.0 means a player has produced an expected return of 5.0 roto points above the average player at the same position.

Fellow THT writers Jeffery Gross and Mike Silver have fashioned valuation systems with the same idea: to use roto points as the product and to value players against the league average player at each position, instead of replacement level. But each system uses slightly different methodology. I will summarize each below.

Roto Points Above Average (rPAA)

This system uses real results from real fantasy leagues to determine how much of each category it takes to equal one roto point. This is done by taking the average differential between each point in a category, then dividing it by the amount of differentials. This gives us a good estimate of how much of each stat it takes to move up or down one roto point in the average league—where gaps between each roto point are equidistant from each other.

Each league will have its own context, such as large, insurmountable gaps between roto points, or a clumping of teams very close to each other in a specific category. Objective measurements cannot know league-specific context, so using the average league and the average gap size between roto points will allow for the widest range of owners to use this method.

These are the average differentials between roto points for the counting stats:

Runs = 25.0
Home runs = 10.3
RBI = 26.3
Stolen bases = 11.3
Strikeouts = 45.6
Wins = 3.71
Saves = 13.8

This means that if you are losing 25.0 expected runs in a trade and gaining 10.3 home runs in that same deal, with all other categories being equal, you are breaking even on expected roto points. Of course this is without taking the context of your league standings into consideration.

For the ratio categories, the equation is a bit different. The ERA and WHIP calculation needs to make the assumption of an average number of innings pitched for each pitcher to properly weight the contribution of each pitcher’s ERA and WHIP. This is because a 3.00 ERA over 200 innings moves a team ERA more than a 3.00 ERA over 150 innings and the player values need to display this.

Similarly, for batting average, there is an assumption of a- bats used to weight contributions in this category. Again, a .300 average over 600 at bats has more impact than that same average in 500 at-bats.

The constants used to weight ratio stats are 554.5 at-bats and 192.5 innings pitched. The innings pitched constant was derived by finding the average innings pitched per start (total IP / GS), which was 5.94 from 2009-2011. Multiply that by 32.4—the average number of starts per pitcher in a five-man rotation (162 divided by 5)—which equals 192.5 (Originally, 195.4 was used as the innings pitched constant, but Nick Fleder pointed out that using multiple years worth of data would give a more accurate representation of the average innings pitched per start, so I have updated my constant to 192.5).

The batting average constant was created by looking at the 390 player seasons in baseball from 2009-2011 with the most at-bats and taking the average at-bats of those players, which was 554.5 (390 is 130 x 3, the number of batters who are starting in a typical 10-team league). Again, Nick’s observation influenced a change in my batting average constant, which was originally 546.4.

(I tailored the batting average constant to a 10-team league because the roto point data provided is from 10-team leagues; otherwise I would have geared it to 12-team leagues).

So, assuming 554.5 at-bats for hitters and 192.5 innings pitched for pitchers, here are the average amounts of each of the ratio categories that it takes to move a team up or down one roto point on average:

Batting average: .02925
ERA: 0.6868
WHIP: .118

What this means is that a player who hits .271 over 554.5 at-bats is worth about one expected roto point less than a player who hits .300 over that same number of at-bats. And for pitchers, a 3.00 ERA and 1.00 WHIP are each one expected roto point better than a 3.6868 ERA and 1.118 WHIP, each in 192.5 innings pitched.

A Hardball Times Update
Goodbye for now.

Once roto scores for each player are calculated, positional adjustments are taken into consideration to weight positions of scarcity with positions of abundance on the same scale. This is done by taking the positional average at each position and subtracting that from each player at that position’s roto score. This gives us a roto points above average score, which allows us to intertwine multiple positions on the same scale (i.e. a +5.0 roto point above average shortstop will rank very close to a +5.0 roto point above replacement third baseman).

Formulas for this method (pre-positional adjustment):

Hitters = (runs / 25.0) + (HR / 10.3) + (RBI / 26.3) + (SB /11.3) + (((AVG – 0.27356) / 0.02925) x AB / 554.4)

Pitchers = (K / 45.6) + (Wins / 3.71) + (SV / 13.8) + (((3.6705 – ERA) / 0.6868) x (IP / 192.5)) + (((1.2569 – WHIP) / .118) x (IP / 192.5))

In determining the constant for at-bats, perhaps a more preferable method would be to extract the top 390 individual seasons from 2009-2011 based on wRAA, then take the average number of at-bats of these players. This would give a better estimate of how many at-bats the best 130 players in baseball typically get. But fantasy players are valued differently—especially in 5×5 leagues where runs, RBI and stolen bases are heavily weighted—than major league players, so the accuracy of this player pool might not be any better than the method outlined above.

I could do something similar with starting pitchers and RAR or WAR, but determining how many starting pitchers to use would be difficult and there is no guarantee of increased accuracy, so I am going to stick with what I have, for now.

For a much deeper journey into the details of this formula, direct your attention to this formula’s original posting.

Valuing players with your E.Y.E.S.

Jeff uses Z-scores to calculate player values. His original post describes his method very well…

“Simply put, a Z-Score measures how many standard deviations from the mean (either positively or negatively) a given statistic is. For our purposes, players with high Z-Scores will help you in a given statistical category. Players with a Z-Score of 0 will have a neutral effect. Players with Z-Scores below 0 will hurt you in a category. The greater (or lower) a Z-Score, the more of an impact, for better or worse, a given player will have for your fantasy team in a calculated category.”

Jeff goes on…

“To calculate any given category’s Z-Score for a player, you simply take the difference of that player’s stat against the mean for that stat and divide it by the standard deviation. For instance, Albert Pujols is projected by Oliver to hit 43 home runs. To calculate Pujols’ home run Z-Score (labeled Z-HR in my charts), we take the home run mean (14) and standard deviation (7.9) and use the following formula: (43-14)/7.9. If you plug that into your calculator, you will find that Pujols’ Z-HR is 3.67.”

E.Y.E.S. weights the ratio categories, similarly to the Roto Points Above Average formula, but uses slightly different constants in doing so.

To adjust for league size, E.Y.E.S. takes the standard deviation of the player pool for each league size, instead of all major leaguers. Jeff determines the player pool as the number of players legally owned by all teams combined, plus any “one category contributor” with a standard deviation of 1.0 or higher in any given category.

To inherit further enlightenment from Jeff’s wizardry, take a look at his work with your own E.Y.E.S. (bad joke intended).

FantasyPlayerRater (FPR)

Like both aforementioned methods, Mike’s Fantasy Player Rater formula values players based on roto points above average, instead of replacement level. Where Mike’s method differs, however, is in his methodology. Instead of a linear formula, the Fantasy Player Rater applies the economic principle of diminishing marginal utility. This means that the more a player accumulates in one specific category, the less valuable each additional contribution in that category becomes. This usually comes into play with high-volume stolen base guys—players like Michael Bourn, Brett Gardner and Ben Revere.

FPR calculates value in relation to league average position. For example, in a 10-team league, each team averages 55.0 roto points. A player who produces 3.0 roto points above average will move a team from 55.0 points to 58.0 points on average. It is important to note that players with negative value are simply below average, and not necessarily below replacement level. Many of these players still merit a place on a rotisserie roster.

One important item of note when using the FPR is that inputs are weighted against full season constants, so rest of season projections will generate lower output values. This is also true of the E.Y.E.S. method (unless you wish to recalculate the formula on your own), but not with the rPAA method.

To use this formula as a guide in your own leagues, check out Mike’s easy to use FantasyPlayerRater site.

Putting the rankings to work

Here are the outputs that each formula generated for the top-30 pre-All-Star break fantasy hitters. Remember, the FPR and E.Y.E.S. formulas are designed to measure full season value, and since these tables are measuring slightly over a half season of statistics, the outputs for these two formulas are going to be low. So don’t look at the negative values next to Miguel Cabrera’s name and think that these formulas are saying that he is a tick below league average this year. Instead, this basically means that a half season of Miguel Cabrera, at least this season, is nearly as good as a league average player’s full season.

1Andrew McCutchen309581860140.3625.161.312.07
2Ryan Braun307562461150.3064.700.300.81
3Josh Hamilton29954277560.3084.670.540.84
4Carlos Gonzalez315611758110.334.250.020.69
5Mike Trout258571240260.3414.220.020.37
6Miguel Cabrera34352187130.3243.74-0.59-0.10
7Edwin Encarnacion30855235890.2953.71-0.98-0.57
8David Wright30256115990.3513.68-0.470.08
9Carlos Beltran29750206580.2963.40-1.32-1.02
10David Ortiz308622257 0.3123.39-0.95-0.56
11Michael Bourn35760732250.3113.21-1.89-0.95
12Jose Bautista31559276540.2443.09-2.37-1.72
13Melky Cabrera33755844100.3533.07-1.44-0.69
14Adam Jones339542044110.2892.94-2.12-1.70
15Robinson Cano33257205110.3132.93-1.62-1.27
16Alex Rios318501249130.3182.93-1.83-1.45
17Joey Votto28750144850.3482.83-1.35-1.33
18Matt Holliday31956145640.3172.81-1.79-1.35
19Mark Trumbo28842225740.3062.79-1.80-2.01
20Jason Kipnis329531149200.2772.76-2.76-2.02
21Adrian Beltre31951155410.3262.55-1.95-1.75
22Ian Desmond344461751110.2852.51-2.73-2.44
23Curtis Granderson32761234860.2482.37-3.26-2.64
24Ian Kinsler36263941150.2792.27-3.23-2.33
25Hunter Pence34058165040.2852.24-2.94-2.41
26Prince Fielder32148156310.2992.24-2.66-2.44
27Josh Reddick31452204380.2682.12-3.36-3.02
28Giancarlo Stanton28546195050.2842.08-3.10-3.03
29Carlos Ruiz25741134630.352.01-2.11-2.69
30Austin Jackson2535493870.3321.89-2.55-2.66

And now the top-30 pre-All Star break pitchers.

1R.A. Dickey12012312 2.40.934.505.881.99
2Justin Verlander132.21289 2.580.953.804.361.42
3Matt Cain120.11189 2.620.963.234.240.95
4Chris Sale102.29810 2.190.953.074.880.82
5James McDonald1101009 2.370.972.794.150.58
6Gio Gonzalez101.211812 2.921.112.774.700.51
7Jered Weaver96.27310 1.960.92.744.600.54
8Stephen Strasburg991289 2.821.
9Cole Hamels11811810
10Jake Peavy1201087 2.850.992.112.750.01
11Johnny Cueto120.19110 2.391.162.072.91-0.12
12David Price111.210511 2.821.21.983.28-0.20
13Madison Bumgarner115.29910
14Clayton Kershaw120.21196 2.911.061.672.26-0.34
15C.J. Wilson111.1889 2.431.161.582.69-0.50
16Chris Capuano111.11009 2.911.161.452.54-0.61
17Lance Lynn10310511 3.411.231.322.79-0.76
18Kyle Lohse116.1679 2.791.081.281.87-0.80
19Ryan Vogelsong110.2777 2.361.121.041.90-0.92
20Zack Greinke1111119 3.321.231.012.05-0.99
21Wade Miley100.2709
22Felix Hernandez123.21286
23Matt Harrison113.17011
24Brandon Beachy81685 20.960.622.64-1.14
25Yu Darvish102.211710 3.591.360.602.01-1.35
26Kenley Jansen39.1634152.060.760.592.14-0.52
27Aroldis Chapman39.1714111.830.740.582.23-0.66
28CC Sabathia1071059 3.451.270.581.68-1.37
29Fernando Rodney38.2382250.930.750.541.91-0.21
30Jason Hammel106.11018 3.471.220.431.45-1.47


– Values are not adjusted for positional value.

– For the FantasyPlayerRater’s hitter values, I assigned each player the utility position, as to measure them on the same scale that the other methods measured on.

– For the E.Y.E.S. method, I derived my own formulas from the information that Jeff provided the method’s explanation.


Top-30 hitters:

rPAA and FPR = 0.9402
rPAA and E.Y.E.S = 0.9735
E.Y.E.S and FPR = 0.9688

Top-30 pitchers:

rPAA and FPR = 0.9261
rPAA and E.Y.E.S. = 0.9524
E.Y.E.S. and FPR = 0.9188

Each system was created independently, but, as you can see, the results are quite similar.

Future usage

Using Oliver’s rest of season projections, I will be publishing “objective” rest of season rankings for each position—with a little analysis—in the coming days.

newest oldest most voted
Jesse Sakstrup
Jesse Sakstrup

Comments now enabled, sorry for their temporary disablement.