Fantasy Value Above Replacement: Part Two

If you haven’t already, make sure to read the introduction to Fantasy Value Above Replacement from earlier this morning.

Step Two: Adjusting for Positional Replacement Levels
Theory 2: There will be more outfielders drafted than any of the other position players, and there will be more 1B drafted then any other infield positions.

Replacement levels are taken on a positional basis. While it may seem that it is just doubling up on the positional adjustment, it is still important to do it this way. If we only standardized replacement level across positions without accounting for the number of players drafted, we could end up with very uneven numbers. There will be more outfielders drafted than any other position players, and more first baseman drafted than any other infielders. We have to reflect that in this number, and this is how we do it.

A replacement level player is defined as “a player who is available on the waiver wire in a majority (50.01%) of leagues.” This will mean that some players taken in the last couple rounds will be at (or below) replacement level, and that is just fine. When I originally created this system, I had it set for 246 players above replacement level. According to the crowdsourcing data that I collected, you guys agree that the numbers should indeed be 246, since the last 2.5 rounds of a 23 round standard draft are replacement level or below.

Because the overall replacement level doesn’t necessarily help up pinpoint the levels at each position, I did a sampling of mock drafts this offseason to help come up with the numbers. Below is a list of how many players are considered to be above replacement level at each position.

C: 12
1B: 23
2B: 18
3B: 17
SS: 16
OF: 62
SP: 62
RP: 36

The data was found using a sampling of ESPN and Yahoo mock drafts to try and prevent one site’s bias from screwing with the data.

When we set a replacement level at each position, we do so by forcing the 13th catcher (for instance) to be a replacement level player. The FVAAz number will change every year depending on the strength of the position, so we just simply adjust using the 13th catcher instead of a set number. We use the 13th catchers’ FVAAz, and add the respective value (or subtract, in some cases) to force their Fantasy Value Above Replacement to equal zero. We then use the same factor and add (or subtract) it to every other player’s FVAAz at the position.

We now have our FVARz, and once we have one for every player at every position, we can directly compare these players. Now, regardless of position, a player with a FVARz of 10 is more valuable in drafts than a player with a FVARz of 9.

Next, we’ll look at how to convert FVARz numbers into “auction dollars,” as well as going over some semi-random notes.




Print This Post

Zach is the creator and co-author of RotoGraphs' Roto Riteup series, and RotoGraphs' second-longest tenured writer. You can follow him on twitter.


31 Responses to “Fantasy Value Above Replacement: Part Two”

You can follow any responses to this entry through the RSS 2.0 feed.
  1. Ken says:

    Hey Zach,

    Cool stuff. 2 questions:

    1. Is this different than what Last Player Picked does? if so, how is it different?
    2. Will you guys be publishing this as a tool, in order to factor in different categories and positions?

    great stuff!

    Vote -1 Vote +1

    • Zach Sanders says:

      1. From what I can tell, LPP compares raw numbers to an overall (not positional) average. The auction conversion formula is similar, as well, but not exactly the same.

      All in all, they did a pretty good job, but I felt they did enough “wrong” to make a whole new one.

      2. Not sure.

      Vote -1 Vote +1

      • RotoChamp says:

        When looking at replacement values, you must pay close attention to the league setup. The number of catchers above replacement value in a 2-catcher league will be 24, while in a 1-catcher league it will be 12 (in 12-team league).

        In addition, the number of 1B above replacement value also depends on the league setup. If you don’t use any kind of utility player (CI/MI/UI/Utility) in your league setup the number of 1B above replacement will be 12 (in a 12-team league). In a league where there are utility spots the number of 1B will change dynamically depending on the number of utility roster spots the 1B will qualify (e.g. CI/UI/Utility).

        In our software (RotoChamp) we figure these things out based on the league setup. Eventually, we determine the optimal ‘X’ number of players (where X = starting spots per team multiplied by number of teams). In some leagues, there may be 23 1B that qualify as ‘starters’. In other leagues it may be higher or lower.

        From there, we adjust each position by setting the replacement value to zero so that the replacement value of the last ‘startable’ player is the same. For some positions we must add value (Catchers, SS) and others we must subtract (1B, OF most of the time).

        I’m unclear of how your system handles heterogenous league setups. How are you adjusting your replacement level in a 2-catcher league? What about a league with 5 OF versus a league with only 3?

        Good post, though. Looking forward to your auction dollar conversion.

        Vote -1 Vote +1

      • verd14 says:

        @rotochamp I agree with Roto. If you have a league that is somewhat different from traditional scoring/ roster types just research the prior drafts over the past couple years to determine how many of each position are drafted to calculate your “replacement” level. I.e. in my league we draft about 160 SPs so the 160th ranked SP in my projections gets a value of 0.

        The second part is normalizing the stats to compare across each position. In a pts based H2H league this is easy because it is just a simple number based off projections, however in category based rotisserie leagues you need to create a value that weights each scoring category appropriately and combines into a single value. I think what Zack is doing with the z-scores by position handles this.

        Vote -1 Vote +1

      • phoenix says:

        @verd14: i think that your final issue is a good one. when you are playing by categories, it doesn’t matter if your players are all 10s overall compared to all 9s overall for your opponent if your players get all their value from home runs. because say you just blow your opponent out of the water in home runs and therefore take RBI as well. but then your opponent has all speedy high average guys so they win runs, avg and SB. then your overall team score is a lot higher, filled with “better” players, but you lose the week because it was all the value was centered in one category. simplifying value down to one number does not take into account the 5×5 nature of fantasy. it needs to find a value for each 5×5 category and then you try to get the highest overall value IN EACH CATEGORY instead of just combining them all, that way you have a good balance on your team and can win individual categories. basically, it’s a long winded way of saying you should do a value above positional average for each category instead of combining them all into one number.

        Vote -1 Vote +1

  2. Jon says:

    Could you tell me how many players above replacement level by position there would be in the AL only?

    Vote -1 Vote +1

    • Zach Sanders says:

      If it’s still 12-team with standard rosters, it would be the same amount of players above replacement, just a much larger replacement level adjustment. The player pool really doesn’t change anything, just the number of teams and positions to be filled.

      Vote -1 Vote +1

  3. The Duder says:

    Sorry if this is standard knowledge, but what is roster setup you’re using here?

    C, 1b, 2b, 3b, SS, MI? CI? U? OFx4?

    Thanks

    Vote -1 Vote +1

  4. paulie102704 says:

    Thanks for the info Zach. I believe we had a discussion on this over at another site recently. Quick observation and question. You really found that more 2B were above replacement level in the mocks you did? Is this reasonable to you for 2011 or potentially a mock draft anomaly? I find it surprising that more 2B are roster worthy than 3B. Second, you find it more effective to simply take the first guy below replacement level (i.e. the 13th catcher)? Wouldn’t it make some sense to take a blended average of a set number of players below replacement to account for an owner’s potential bias during a draft? For instance, if Russell Martin is the 13th guy and Miguel Montero is the 14th guy, they both bring different skill sets that would make them beneficial at the position, but someone might bypass Martin altogether due to recent playing trends. If you take a blended average of “x” players below replacement, you are getting a truer representation of the potential available talent on the waiver wire. If you were simply to take Martin’s numbers, you are setting replacement level for a catcher at 7-10 steals, which is not reasonable for the position. I welcome your thoughts on this.

    Vote -1 Vote +1

    • Zach Sanders says:

      I doubt 2011 is an anomaly, and when I originally set this up I used only my knowledge of how drafts typically go, and I had more 2B than SS/3B. It just usually seems to go that way, for some reason or another. If you wanted to set all the 2B/3B/SS to a uniform 17, I wouldn’t fault you.

      The Replacement Level is not at every stat category, it’s at an overall value. The replacement level for C clearly isn’t 7-10 steals, but a replacement level catcher might get you those, or he may not. Make sense?

      Vote -1 Vote +1

      • paulie102704 says:

        re: replacement level. Maybe I am misunderstanding, so let me ask. You calculate the z-score off of the replacement level when you do your positional z-score, correct? So for catchers, you compare every player’s stat line to the 13th catcher and each categorical z-score goes off of this one player’s line, correct? So the 13th catcher would have an overall value of zero, everyone above would have a net positive score and everyone below a net negative score. What I am saying is that using one player to set this baseline has its limitations. If you took an average line of the 13th-15th catchers to get a replacement level baseline, it might give you a truer representation of what replacement level might be. Using Martin as the example, sure you can use him as the baseline, but it would artificially deflate those (most) catchers that do not steal multiple bases. But if you took the average of say Martin, Montero, and Say Wieters you get a baseline that is more reflective of replacement level.

        Vote -1 Vote +1

      • Zach Sanders says:

        Replacement level adjustment is made using the FVAAz number, which is the sum of the z-scores in each stat category for a single player. RL only factors in overall value, not specific categories.

        Vote -1 Vote +1

    • Justin says:

      I have this system up and running and Zach is correct. This year it seems that the replacement level for 2B is quite a bit better than it is for 3B.

      (This is assuming a 10 team 5×5 league).

      Vote -1 Vote +1

  5. Kris says:

    Seriously, this article better contain boxplots. They are the best way to visualize the distribution of each position and who/when/why to draft.

    Vote -1 Vote +1

  6. paulie102704 says:

    Sorry for all the posts but this discussion intrigues me as I use this basic method in my league. Zach have you ever though of setting up your valuations to update the z score for each player during the draft? I have done this for a couple years in my long term keeper league, and it has tremendous value. So if I set the first base position to have 30 draftable players, and 10 were kept, then there is an available baseline for 20 players. I re-calculate my z score each time a first baseman is drafted, and it now goes off of the remaining players available. So as power gets dries up at a position, the remaining players that have power become much more valuable. I find it helpful as you are not constantly comparing players against guys who are already drafted/kept, but rather against players that are still available.

    Vote -1 Vote +1

    • Zach Sanders says:

      I’ve thought about it, but never really found a practical way of doing it. Some software (RotoChamp, for example I think) updates as the draft goes along.

      Vote -1 Vote +1

      • verd14 says:

        I was not impressed with the Rotochamp demo.

        Vote -1 Vote +1

      • RotoChamp says:

        @verd14: Send us an email or post something on our site and let us know specifically what you didn’t like so we can improve our software. The vast majority of the feedback we’ve gotten has been positive, so I’m curious to hear what you didn’t like.

        Vote -1 Vote +1

  7. verd14 says:

    This is a great way of determining when to select a given player from a specific position. And you DEFINITELY want to update this on the fly throughout your draft as Paulie has described.

    Vote -1 Vote +1

  8. Ken says:

    I think it would be nice up to update as you go, so as power becomes scarce you value it more. However, depending how active your league is, you can compensate for fit after the draft via trades. during the draft, I’m usually most concerned about absolute value.

    Vote -1 Vote +1

    • paulie102704 says:

      @ Ken: Our league is very competitive with daily lineup changes and deep benches. But this can work on an absolute basis as well. You want to make sure that those 20 home runs are the best available in the draft at that position, but what the live updates does is show you what is still available at each position category wise. In essence you are updating live the absolute values of those 20 home runs at that point in the draft. Can you wait on that 20 HR outfielder, or do you need to reach for that 12 HR MI if the power numbers are drying up. The absolute value is never absolute in a fluid draft with players using various sources for their own player valuations.

      @ Zach: I would consider myself above average in excel, but it is something you can do pretty easily. We can talk offline if you want to see how I set it up, but basically as a player gets drafted you assign him a value, say -50, that will be sure to put him to the bottom. Then all you need is a macro that re-sorts each position and it will put the player to the bottom and the others get re-sorted off of their new value. I also have color coding in place that will update each players value by category relative to the updated remaining player pool averages. It is visual and easy to follow during the draft.

      Vote -1 Vote +1

  9. jrogers says:

    I’m also interested how you handle multi-position eligibility. Some cases are obvious, like Buster Posey should be played at C rather than 1B, but not others. Say you count Martin Prado and Neil Walker at 2B, then find that 2B is deeper than 3B and has a higher replacement level. So maybe Prado and Walker are more valuable as 3B. But move them over there, and 3B’s replacement level goes up and 2B’s goes down. Is there a process for this?

    Vote -1 Vote +1

    • paulie102704 says:

      I actually include multi-position guys at each position they are eligible for. So Posey is in my positional tiers at catcher and 1B. It proves out that Posey is (obviously) more valuable as a catcher. So once Posey goes off the board, the positional averages for the remaining players at each position re-calculate and the new values are ranked accordingly. I also make a point to include potential position players for this method. Some people may disagree, but for the purposes of valuation I include Youkilis as both a 1B and a 3B since regardless of your league rules he will gain eligibility there shortly after the season begins. And by doing so, according to my z-scores Youkilis is more valuable at 3B. I think if you repeat players for each position they are eligible (or soon to be eligible) for, you get an accurate baseline for each position. it gets messy if you “choose” a position to put Prado at, because depending on positional value, he might be more valuable at another position. Hope that helped, and I welcome the discussion.

      Thanks

      Vote -1 Vote +1

    • Zach Sanders says:

      It’s best to include each player in every position they are eligible for.

      Vote -1 Vote +1

  10. Carl D says:

    Quick question: I’ve experimented with ranking players this way in the past. Do you think instead of basing, for example, catcher rankings on the best undrafted catcher, i would be better to measure a player’s projected stats against the average projections of the 12 catchers who will be drafted?

    I’ve tried both methods and the player values tend to line up in the same order regardless, but I am not mathematically inclined enough to figure out which method may be better or worse. Any insight into this?

    Vote -1 Vote +1

    • jrogers says:

      One issue may be that it the cost of getting an average drafted player varies by position. An “average” 1B might cost you a 7th- or 8th-round pick, while an “average” C might only cost a 15th. I think you want to know what marginal value you get over ignoring the position and taking the guy you get for free.

      Vote -1 Vote +1

  11. Carl D says:

    Excellent point, I hadn’t considered that, especially since I rarely even draft a catcher to begin with. Thanks.

    Vote -1 Vote +1

  12. kjb says:

    i understand why it would be important for replacement values to update as players come off the draft board. here’s something else i am concerned about – shouldn’t replacement values also be re-formulated based on your roster (and how it develops) during the draft. for exampl,e if you draft two speedsters at the beginning of the draft (say bourn and j reyes), would it be prudent to then omit the sb z score totals from your fvar calculation for the remainder of the draft, as sb’s are no longer as valuable given the context of your roster. does that make sense?

    Vote -1 Vote +1

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>