## Fantasy Value Above Replacement: Part Three

*This is the third part in a published four part series. If you’re interested in reading the Update, click through!*

If you haven’t done so, please make sure to read the first two pieces on Fantasy Value Above Replacement from earlier today.

Before we get into the auction conversion, there are a couple notes that need to be addressed.

**Weighing Rate Stats** – We can all agree that a batter that hits .300 in 600 at-bats is more valuable than one who does it in 400 at-bats, right? We have to take this into account and adjust for AB’s and IP in rate stats. Simply multiple a players normal z-score in the batting average category by their AB total. We’ll call this wBA. Once that is done for every player at that position, you take the z-score of those wBA numbers and you have your final batting average value. You do the same with ERA and WHIP as well, using IP instead of AB. It can actually end up helping some players with poor ERA numbers, because having a 5.00 ERA isn’t as bad if it’s only 150 innings. On the flip side, power hitters who play everyday and have a bad batting average will be penalized even more for it.

**Pitcher Adjustment** – Because pitchers can only contribute to four stat categories (SP don’t get saves, and it’s always best to disregard RP wins), we need to curb their value. I do this simply by multiplying their FVAAz number by 0.8 to reflect the ⅘ ratio.

**Inputs **– Please note, and this is a biggie, that this system is only as good as its inputs. If your projections are way off, the rankings might be, too.

Now that we’ve gotten that out of the way, we can take a look at how to convert FVARz into auction values.

**Auction Conversion
** The auction conversion formula takes into account the number of players on each team, as well as the simple idea that every player taken in an auction has to cost at least a dollar. The conversion formula is below.

[(Team Budget – (1*no. of players per team)) / number of players per team] * (z-score above replacement / average z-score for above-replacement players) +1 = Dollar Value

Note: “Draftable” player are considered to be players who are projected to produce at a level above replacement level.

In our case, a 12-team standard league, it would look something like this:

[(260-(1*23))/23]*(FVARz / average FVARz for above-replacement players) + 1

If you want to make things easier, you can substitute 3.0 for “average FVARz for above-replacement players.” The number varies a bit year-to-year, but it is usually around 3.0. So our final formula is

10.3*(FVARz/3)+1

This formula works because it makes two things clear: The average player should be payed the average amount of money a team can spend on a player, and a replacement level player is worth $1.

**A Small Sample Using Marcel
** In case you’re having a hard time visualizing this whole process, I have done a small sample of FVARz using the Marcel projections found right here on FanGraphs. The sample is done using a 400 AB minimum, and the positions are done simply based on what Marcel says.

If you want to view the sample, click here and your wish will be granted.

**Thanks**

While I was the only one doing any direct work on this project, many others helped me out by letting me bounce ideas off them, and other such things. So, let me thank Michael Jong and Joel Goodbody, as well as FanGraphs’ own David Appelman and Eno Sarris.

Print This Post

First of all, love to see articles like these written. For me, strategy articles are much more interesting than the “player-analysis-disguised-as-fantasy-advice” stuff that you can find everywhere (not that some isn’t better than others.)

Two thoughts on this article:

1. I first weight rate stats by playing time before taking standard deviations. The reason is that otherwise unweighted rate stats are influencing the distribution. I don’t have a reason your way is wrong, it just seems wrong.

2. Why cut SP value like that? They already get a 0 in the saves category, so when you calculate z-scores, they’ll look really bad. Lack of saves already seems to be accounted for, no?

Thank you.

If you want to discount RP wins, just go ahead and discount RP wins in Z-Scores.

With that said, if you want to say that pitchers get hurt more often or are more volatile and thus you want to discount their overall value, go ahead and do that. I’m not against weighing pitchers at 80%, that actually works aaaaight for meee.

My biggest problem with systems like this is the failure to actually disclose where the mean lies. This is about getting MOAR total stats, not MOAR compared to your position.

I’m glad Russell Martin has a great Z-Score, but if the mean for the catchers is well below that for OF, taking an OFer with a lower Z-Score is advantageous. Sure, you’ll get a catcher that’s better relative to his competition, but he’ll put up 10 more RBI while my OF puts up 13 more RBI.

I just spat milk out my nose. These posts are invaluable.

While putting together my numbers, I felt the need to downplay the SB category for Catchers & First Basemen. Because the Average SB for a Catcher is something like 3, a player like Russel Martin, with a projection of only 10 steals, ends up earning 2.5+ on the z-SB rating. While it’s true that he’s 2.5 StDev above the average, I feel it artificially inflates his value when you’re talking about a 7-SB Absolute value. Make sense, or am I off in my thinking?

I, and others, agree with you. Check out the comments in the first article of this series.

Yes, hopefully if more people keep piping in having noticed the same methodological flaw, Zach will finally cave :-)

Wasn’t sure whether to post this here or back with the first comments, so I’ll put it both places. One thing I think was missed is that a homer is a homer is a homer after the season starts but not before. I know this seems counterintutive, but if you think about it, it’ll start to make sense. Drafting and winning are fundamentally different activities. One is about valuing a roster, the other is about a process of arriving at an optimized roster (relative to your projections of choice, of course). Once you’ve drafted, there is no longer any such thing as positional scarcity because all the positions are filled up. So what you really need to realize is that absolute values and draft rankings are a totally different thing.

Calculating absolute value is pretty straight forward and should not consider position, obviously. However, draft rankings are a game theory activity with a range of probabilities and some optimal paths based on the available information at any point in time in the draft, including: your roster construction relative to category targets for victory, the current construction of your opponent rosters, available players and deviation of dollar values at those positions, scarcity of production across stat categories (both absolute and within a category).

Basically you need a supercomputer that recalculates to optimal after every pick. I get around this by trying to do some best guess short cuts. I rate all players absolute dollar value (unadjusted for position) and calculate the standard deviation of dollar value at each position and the distance from the mean of each player (I also kind of like to look at the median as well as the mean) and use that to sort players into tier. Interesting that fantasy experts have settled on tiers as a valuable way to look at the draft as it basically kind of simulates looking at standard deviation without doing so explicitly. It gives you a kind of shorthand for where scarcity begins to override absolute value as a consideration.

while it seems appropriate to consider average replacement within the position (obviously), I feel that standard of deviation should be calculated over all players above replacement in all positions. This takes care of the issue with certain positions being significantly imbalanced. Furthermore, if different positions give the same statistics over average replacement at their category it should be valued the same as it will be valued the same in head-to-head/rotisserie. So calculate SD over the whole sample :)

I’ve been using something similar for years. The trick is to assign a whole number for each stat category and then add up the five numbers and give each player one whole number that is used to compare to other players at a position and other players across positions. The system I see here is too detailed and complicated. Get rid of the decimals. These are based on imperfect projections so the end number can be rounded. For example, here are my 1B ratings:

Pujols 135

Miggy 123

Votto 121

Ad.Gonz 99

Teixeira 96

Howard 89

Fielder 87

Etc.

I can now compare these players and put them into tiers. I can also figure the VORP for each player by position and compare to other positions. It’s a slick and fast system that is invaluable to the fantasy baseball player.

Here’s how I figure out the numbers by category:

I use HR as the baseline: 1 HR = 1 point.

SB’s are more scarce so each SB is worth 1.4 points. They are really worth about 1.7 points, but I lower it due to the fact that SB’s are just not valued as much.

I lump R and RBI together and divide that total by 4.1. I get this number by seeing that there were on average 4.1X as many R/RBI than HR’s.

For BA, I use a baseline of .270. If a player is projected to hit .290, I divide the 20 points above .270 by 2.5 to give him a value of 8. If he hits .250, I divide the 20 points below .250 by 2.5 and subtract 8 from the end result. If a player is part time, I multiply that final number by .5 or .66 or .8 depending on how many projected AB’s the guy is going to get.

Again, this is not a PRECISE system, but it does allow my to transform all projections into a whole number so I can easily compare Player A to Player B.

I like your easy system.

What do you do for pitchers brotha?

I’d like to see how your valuation system compares to RotoChamp based on the same league setup and projection set. I doubt the numbers would be that different, but if we had some remarkable differences it could indicate a flaw in one of the systems.

I’d also like to compare values when we stretch the parameters to non-standard configurations (like 8×8 categories, or 5 vs 3 OF setups).

Do it. That would be interesting. I set something up in excel similar to this last year and it immensely helped my draft. The next step would be to integrate these valuation systems with the actual player pool in the live drafts. I.e. when team 1 of my league selects Albert Pujols it automatically adjusts my valuation system. I’m hoping Zach is saving that for part 4…..

I don’t understand the benefit of further ranking against the pool. I do however see the benefit of ranking originally against the position and supplement it by an ongoing list of Z-Scores for ALL PLAYERS.

It’s not further ranking to the pool, its linking your worksheet so that once a player is drafted on the fantasy website you don’t have to march through your sheet and delete the player and update the value over replacement in your worksheet.

Is it recalculating the mean and standard-devs? If so, you’re re-ranking the pool based on available talent. I don’t like that. Seven third basemen have been drafted and 6 are left: When you re-rank those players according to their current mean, the Z-Scores do not provide anywhere near their true value and end up overranking players due to a smaller pool. Could it help you identify how the players compare to each other? Yes. Would you be better served looking at the first set of Z-Scores and your competitors needs? Yes.

It’s about maximizing the number of points and when you constantly adjust your Z-Scores using smaller and smaller datasets, you get further and further from the actual value of that player to your club.

It appears as though we’re starting with the premise that if you draft the best players relative to their positional peers, you’ll win. The premise is obviously false.

We should be operating on the premise that putting the most *points* on the board wins you the league.

As I’ve said before, an updatable box-plot graph with each position and a complete player pool is a great tool.

Send me the RotoChamp rankings…of course, we might differ based on projections though.

they are in the fangraphs projections

I like this. At my site (and Razzball’s I believe), I do a similar system for assigning roto point values for each player based on the projection systems and player pools depending on fantasy league type. But my snapshot and “value” of each player didn’t progress further than the z-scores so I definitely think the steps you took are interesting beyond that. Good stuff.

Honestly, I do like your work. I have created a similar system, though it’s a bit less complex.

I do think you make one glaring error though. Instead of judging players in the entire pool against each player, you opted only to judge one position against a player. Basically, you said that a Stolen Base from Albert Pujols is more valuable than a SB from an Outfielder. This is true to a degree, but you emphasize it far to much. In fact, your score sheet lists Pujol’s 12 projected steals as his most valuable category. This problem can also be seen in the ranking of Cuddyer. You’ve got him as worth $1 more than Adam Dunn. Basically, 5 steals and .010 points in BA make up for 16 HRs.

I’d suggest getting your Z-scores from a selection of all players. The FVARz value would still factor in position scarcity.

Ah yes, I forgot to comment on that too. I agree with your premise here and didn’t like that it was automatically adjusted based on position scarcity. The system I created doesn’t do that and assumes that you can judge the scarcity yourself. My z-scores are based on the entire pool of fantasy players. Razzball does point shares as well, as I mentioned, but I don’t like that theirs adjusts values for scarcity as well. I think basing it off an entire pool of players paints a better picture.

It seems like your method assumes that all relievers should be treated as if they are projected for zero wins. Perhaps better would be to project them all for 1 win per 20 IP or something like that. If you are reducing pitchers’ values for some other reason, then clarify your rationale.

Can this be applied to head to head leagues? If so, how?

I like the sample but I don’t see Morneau anywhere. I’m curious how adding him shifts things around.

By the way, my favourite part of Z-Scores is calculating the awesomeness of punting batting average.

If you re-rank the players w/o BA, you can decide whether or not it’s worth it in auction dollars to punt 20% of hitting.

Occasionally, there is value tharrrr.

MORE PIRATE TALK: YARRRRRRR. PEDRO ALVARRRRRRRREZ (would also fit into the punting BA)

Fantasy Value above replacement’s replacement’s replacement’s replacement’s replacement. fvARRRRRRRRRRRRRRRRRRRRRRRRRRR.

All day people, all day.

It’s interesting to see some actual results using the z-score method. I had messed around with using standard deviations on Razzball until settling on our current Point Share methodology. I echo some of the earlier concerns that this is completely based on positional difference vs. overall value. It would be interesting to see how the $ figures come out for shallower categories like C and SS.

Overall, the results seem okay. A couple of points:

1) It’s ridiculous that Pujols’ SBs are his most valuable statistic. It’s obviously because SBs are rare for 1Bs. This is a reason I don’t like STDEV – as the category mean decreases, the deviations become more extreme.

2) Looking at the example you provided, Mark Reynolds and Mark Teixeira are projected at the same HR total (28). I have them projected at the same total (albeit 34). The z-score method credits Reynols with a zHR score of 1.929 and Teixeira with a z-score of 1.035. Point Shares credits Reynolds with 1.6 vs. 1.2 for Teixeira (Point Share = Reynolds would add 1.6 points to the average team in HR).

Based on your positional averages (which use players who won’t make rosters for some reason), 1B averages 20 HRs where 3B averages 16 HRs. My numbers are higher but generally proportional.

On first glance, it seems like that their zHR differences are too dramatic.

For comparison’s sake, here are my 12-team MLB $ figures. I use a combo of Marcel/ZiPs with separate playing time projections (one catcher):

http://razzball.com/2011-razzball-point-shares-12-team-mlb/

Rudy you and many others in both threads are right to say that STDEV of stats by position is the wrong approach. STDEV, however, could be better used to assess the relative depth and dispersion of value within a position after you calculate the value of players relative to the overall mean.

I hear you. I just worry that STDEV is too abstract. The challenge with drafting isn’t determining which positions have more depth, it’s figuring out how to account for that in your bids. For the stat-inclined, STDEV can help but, for most (including me), I find I’m left with unactionable data (e.g., the STDEV is twice as big for SS as 1B so, um should I bid $1 more for SS? $2?)

Rudy, that’s a good point about it being not necessarily actionable. However, the fact is that distribution of values at a position must be accounted for if you hope to optimize your draft. One way is to look at the standard deviation within a category as a guideline. You can also use deviation as a way of getting at tiers to do the same thing. Or you can build some positional scarcity into your valuations in order to arrive at a value that’s normalized across positions. Both have advantages, but neither is a truly optimized draft game from a theoretical standpoint.

Rudy,

the STDEV is just a means (no pun intended) to an end. you don’t really think about it when drafting. the nice thing about this method is being able to easily see a player values wrapped up in 1 number, but you can also see his value in each of every category

Ken –

My initial argument was that the 1 number resulting from category + position-based STDEVs may have inherent flaws – e.g., how do you handle SBs for slow positions, HRs for non-power positions, etc. If you can correct for all the shortcomings, then you’ve got a working methodology. Any methodology that values Pujols’s SBs greater than other stats is flawed.

Rudy

Ken –

My initial argument was that the 1 number resulting from category + position-based STDEVs may have inherent flaws – e.g., how do you handle SBs for slow positions, HRs for non-power positions, etc. If you can correct for all the shortcomings, then you’ve got a working methodology.

Net-net, any methodology that values Pujols’s SBs greater than other stats is flawed.

I sympathize here because I had to go through a number of these types of issues over the years to refine my methodology. It ain’t easy. :)

Rudy

Rudy,

Last Player Picked also uses Z scores, but implemented differently from this method. here are his $ Value per Cat according to LPP:

HR: $10

RBI: $9

AVG: $8

R: $8

SB: $0

league setting and cats etc will change all of this, but the important thing is that he is essentially rated neutral on SB and has huge value in the other 4.

I like LPP’s tool – very flexible. And he’s built a methodology to account for the relative value of each stat and the value found at each position.

I’m not completely sold on the ‘replacement values’ or applying the same average to all positions. But I would use this tool if I needed $ projections in a pinch. Would trust it over default Yahoo/ESPN as well.

btw, that is Pujols

After reading this series of articles, I’ve come to the conclusion that I don’t know crap about baseball and have a lot of work to do before my draft.

Also wishing I paid more attention to all those statistics classes I took in college.

i assume you have a spreadsheet with these equations in it now, so can you possibly set it to work calculating these for every position (and pitcher!) of players that you have determined are above replacement level? having a spreadsheet of every above replacement level fantasy player by position, possibly sortable by category like in the sortable stat pages… oh man would that revolutionize the (imaginary) sport! awesome awesome idea this! incredible work.

I go one step further than normalizing just rate stats. I normalize *all* stats to 500 AB’s for hitters, 175 IP for starters, and 50 IP for relievers. This is because my league has a playoff system at the end of the season, so my reasoning is that while I want to win the regular season and reach the playoffs with a high seed, my bigger focus is winning head-to-head matchups in those last few weeks.

Thus I have to make the assumption that players worthy of being on my roster will be playing every day in the final weeks of the season, barring injury. If Player X’s overall value is diminished because he’s going to miss 100 AB’s in mid-season because he’s injury prone, that doesn’t matter to me because I can get by for those 4 weeks with a waiver wire guy and still reach the playoffs. If the guy is injured during our playoffs, well that’s a gamble I lost. But my priority is going to be to draft the best production rates.

Catchers make this a little tricky because of their reduced playing time in general. But to compare to other catchers, you’re still going to want to look at a normalized value, because the the best catchers will likely be playing almost every day down the stretch, unless their team is coasting into (or way out of) the playoffs.

I should note that I remove all sub-400 AB hitters (sub-300 catchers) out of my ranking system to remove some of the noise. If they’re not projected to get that many AB’s, they probably aren’t worth drafting.

So what about the player that doesn’t walk or the one that hits atop the line-up? Ichiro had 732 PA and Prince Fielder had 714 which is close enough to call it a wash (2%ish). However, Ichiro had 680 AB and Fielder had only 578 (15%).

Over the final week, that seems like 3 or 4 ABs.

Well it really should be PA’s. My data dump into excel didn’t have that category, and I didn’t think to add AB+walks+HBP.

I should go back and re-calculate the rankings, but I didn’t set up my spreadsheet formatting to make that an easy task. Not sure it is worth it since it is kinda a crapshoot for what production you’ll get those exact weeks anyway. Correcting for a few AB’s may not be worth it.

At this point I should probably point out that I hate that my league has a playoff system, and it is the only payout.

I re-ran the numbers based on 600 PA’s, and it did not have too drastic of effect. A good handful of players shifted by 2-3 spots at the most in the rankings, but no big movers.

I know this is for roto auction leagues, but for my h2h points livedraft league, I just use marcel projections. I use excel to multiply out the points and the categories for each player based on their projections, which gives me a set of rankings.

Yep, points leagues are a lot easier. Don’t forget to adjust each position so they all have the correct number of players with positive marginal value. (Like Zach’s Step 2.)

Would this valuation method be of any use for head to head category leagues other than determining tiers? I suppose one could look to load up in a couple of specific hitting categories but that doesn’t seem like the most effective strategy. Am I wrong?

Not much use for H2H. The strength is overall value, which is used for Roto.

solid series and appreciate the effort.

I’m one of the people that respects all this work but I can’t get as deep into this as most others because I’d rather not crunch all of the numbers, I just really like the end output of when you guys that crunch the numbers finish these type of things.

It seems like it’s alot of good ideas on this thread, but it would be great if there was a way to make like a “gold standard” for the FVAR system. It seems like it should be possible MINUS the projections. If you take out the projections and let the person himself choose the projection system he likes more (or even makes his or her own) there should be a way to come up with something well respected here. At the same time, it seems like the deeper you get with making these small tweaks, the more small debatable problems that will arise. I have not yet had a chance to use Rotochamp’s software but I will definitely look into that in the near future.

I’ve had relatively solid success in fantasy baseball without using a concrete tiering system, but I think I will do that this year hopefully in line with FVAR or some system very similar to it also. What I did notice that was interesting to me was that based on dollar value attached to FVAR and the Marcel projections Pujols is on his own Tier, and looks like Votto and Cabrera are on a second tier of their own and than the rest of the big names are 3rd tiers.

yeah, like I said though a blank spreadsheet with the formulas on here where we could post our own projections would be sweet. It seems like all the projection systems have to account for the injury factor and often don’t consider track record enough for bounce back candidates.

I had a crazy idea this morning to fix the problem with having too much value for a 1B SB being out of wack.

Its still just a theory, but I think it may work.

Take the league wide projected/historic totals for each category and find what percentage each position is expected to represent from that total. So, if the league total is 900 SB and 1B represents 50 SB, you have a ratio of .06. Do the same for the rest of the categories and then divide each category to find it’s portion of the positions contribution to the full pool across all categories and times that number by the number of categories so it doesn’t change the scale.

Example: If the contribution numbers were as follows:

.139 H, .150 HR, .141 RBI, .128 R, .056 SB

You’d divide those numbers by their sum

H = .150/.614 = .244 X 5 = 1.222

1.222 would be the number you’d times your z-score for HR by to correct its number for scarcity.

You can use these adjustment numbers then to either increase or decrease the value of each category. So, if 1B is plentiful in HR, their HRs will be more important to their overall score since its more difficult to replace a HR at other positions. The same goes for if you are looking at SB, it will decrease the value of a 1B with 12 steals because you can find players at other positions to replace those steals more easily.

It also balances out nicely because it won’t effect the players overall rankings or for positions that are well balanced in their contribution across all categories.

What do you guys think? I haven’t tested it yet with real numbers/players.

This is an iteresting idea. I have used something somewhat similar, however I based my totals of the average amount in each category it would take to win your fantasy league, as opposed to a total of each category accross MLB. In reality, a guy that plays 10 games as a utility player and hits 2 home runs shouldn’t be factored into a fantasy projection because nobody would own him so those stats have no bearing on a fantasy leage. Does that make sense?

I’m basing it off the total fantasy stats for the league, not the total pool for all of baseball. Basically I would take last years league total for HRs and see how much of that “pie” the 12 drafted players at each position would represent.

well, you could go through that complicated process….

or you could simply do the CORRECT and SIMPLE solution of using the same deviations as the denominator for all positions, as Tango and many others on these comments have pointed out.

you cannot slice it any other way: when you are constructing a system that is, by definition, one of MARGINAL value, you have to value an extra (marginal) 10 HR the same regardless of which position you get it from. Period.

This has absolutely nothing to do with the SD/denominator issue. It is simply a way to resolve the issue that for whatever position you look at there is a discount or additional cost to purchase a stat compared to the whole. By doing this process it balances them out regardless of how out of balance that becomes.

It does have to do with the denominator issue. Using different denominators for each position is what CAUSES the position of different marginal stat costs by position. If you use the same denominator (e.g. the standard deviation across all players, not just that position), there is no issue that comes up that needs to be resolved by such a complicated method.

*causes the problem*, not “causes the position”.

Love this series of posts. I’ve been using Bill James, RotoChamp and Marcel to value players for a 20 team, mixed, 6×6 w/ HLDs and OPS. For my ligue’s (yes, reference to William Ligue Jr.) settings average FVARz for above-replacement players shouldn’t be set to 3. Based on my choices for replacements players the avg FVARz above replacement generally ranges from 4-6, with SP being the only position less than 4.

Also, instead of adjusting pitcher values down by 20% as suggested by Zach, I think I am getting more realistic/helpful values by looking at the hitter/pitcher budget split that managers in my ligue will use. In general, that will be around 65/35 (but I set up my spreadsheets so that I can slide it up and down). Otherwise, I will go into my auction putting much greater value on pitchers than everyone else. Maybe that is warranted based on only the proj. numbers, but I think there is sound logic for spending more on hitters: pitchers are just more unpredictable and more prone to injury (if there is any research on this I would be very interested to see it). So, for example, my conversion to $$$ for hitters becomes:

[(Team Budget*0.65 – (1*no. of players per team/2)) / number of players per team/2] * (z-score above replacement / average z-score for above-replacement players) +1 = Dollar Value

Notice that I weight hitters budget by 0.65 and divide the number of players by 2 based on assumption that each team will draft equal numbers of hitters/pitchers.

I’m kinda new to FanGraphs but I LOVE what you guys are doing.