A couple of friendly readers have e-mailed me in the past couple weeks asking for more information about how the WERTH Roto Values are calculated in the cheatsheets. The process itself isn’t overly complicated but the execution of it becomes a bit trickier because of a few wrinkles along the way.
First and foremost, it should be explained that WERTH values are a way of standardizing all stat categories to be on the same scale for roto leagues. The goal is to easily compare players with different strengths such as a 20 HR, 20 SB hitter to a 40 HR, 5 SB hitter.
In statistical terms, WERTH values are just z-scores for each roto category based on the projected fantasy starters. For those unfamiliar with z-scores, it is the measurement of how many standard deviations away from average a data point is. A piece of data within a set that has a z-score of 0 would be the absolute average, a z-score of 1 would show that it is one standard deviation above the average while a z-score of -1 would be one standard deviation below average. The size of the standard deviation depends upon how much variation there is within the data set (a data set with a lot of similar values would have a small standard deviation for instance). Here’s a chart that shows examples of that concept from a sample fantasy league:
StDev | Avg | -1 z-score | 0 z-score | 1 z-score | |
HR: | 7.5 | 19 | 11.5 | 19 | 26.5 |
RBI: | 16 | 76 | 60 | 76 | 92 |
SB: | 10 | 11 | 1 | 11 | 21 |
So, in this league, a player’s 21 SB’s has the same relative value as a player’s 92 RBI’s. To reflect that, you’d see in your Mr. Cheatsheet spreadsheets that the player has a 1.0 WERTH in both RBI’s and SB’s and you could recognize that he’s projected to deliver relatively similar value in both.
For those that are interested in doing their own WERTH-type calculations so you can maybe make some personal modifications to it, here are the basic steps to it:
Step 1: Calculate who the expected league starters are in your league. A person in a 12 team league with 10 starting hitters would need to identify the 120 expected starting hitters. My 120 hitters in this scenario are chosen based off the top 12 drafted at each position (from their ADP).
Step 2: For those projected 120 starters, calculate the average and standard deviation for each projected stat.
Step 3: For each stat for each player, compare that to the average and standard deviation of that stat. The formula for calculating a z-score when x represents a player’s projected output in a stat is: (x – average) / stdev. So, in that sample league above, (21 SB – 11 SB) / (10 StDev) equals 1.00 for instance.
That’s it! Well, except for rate stats like ERA, WHIP and AVG. It’s a bit more complicated for those. For ERA, you have to factor in projected innings (a reliever projected to pitch 60 IP with a 3.00 ERA will have a smaller effect on your team ERA than someone who pitches 220 IP of 3.00 ERA). So, you’d calculate the average total innings that each fantasy team would have in a season and the average projected ERA across the league. Then for each player, you have to substitute in his projected innings and ERA to see how the average team ERA would change. For instance, maybe 220 IP of Justin Verlander would lower an average team’s ERA by 0.20. Now, for each player, you would compare all of those Changed ERA amounts to each other by doing Step 2 and Step 3 above.
So, that’s the basic thought process to calculate any WERTH value you’d want. Luckily, the cheatsheets here do all of that calculation for free for almost any imaginable league setting you could think up. But, let’s address some possible criticisms of these WERTH values:
Why not adjust for position scarcity within the roto values? Well, that could be done quite simply in a number of ways. But, really, your place in the standings doesn’t change because you got 20 HR from a catcher instead of an OF. In the end, I wanted a raw piece of data which would easily allow us to look at positional averages and compare. Positional scarcity helps to measure economical value which is needed for auction leagues but the goal of WERTH is to standardize the stats first and foremost. By putting players on different scales based on position, it would complicate that goal since Matt Kemp’s WERTH wouldn’t really be on the same scale as Dan Uggla’s WERTH. In the cheatsheets, you can see the average for each position anyhow to make an adequate comparison on your own.
Why not do Standings Gain Points? Standings Gain Points look at the final standings of roto leagues to try to determine the average for what you need to go up one spot in the standings in a year (could be 6 HR’s move you up one spot in the standings, for instance). If there was one standard league type that everyone was using then this work great. But, the number of people who play in the exact same league type are few and far between. Every league is wildly different and the SGP’s from one league do not apply to another. For an already established league, one minor change such as adding a team would completely negate the past SGP’s that you may have calculated. Basically, they are highly individualized and not very flexible to apply to each and every league, which is the goal of these dynamic WERTH roto values.
Why compare to “league average starter” instead of “replacement level player”? The original goal of WERTH was to simply provide a point of comparison among players in a standard roto draft where stats are all on different scales. It has since evolved to include auction drafts where a league’s economy becomes important and using replacement players as a baseline becomes necessary for dollar value. In the auction cheatsheets here, the dollar values are projected by taking replacement level players into consideration but the goal of WERTH is still to compare one player against all other players in a league (as opposed to comparing that one player just to a minimum baseline). Thus, WERTH gives you a sense of each player’s worth (pun intended) in your fantasy baseball league’s unique universe.