How the Price Guide Works, Part II (Positional Adjustments)

17 Comments
December 31st, 2008 by Mays
Categories: Price Guide

This is Part II in a series describing the methodology the Price Guide uses to come up with dollar values for players. If you haven’t already done so, you might be interested in reading Part I, which discusses how standard scores are used to build the initial player values.

In our previous example, we had a standard Yahoo setup with 12 teams and 9 hitters per team, for 108 total players drafted. In this league, there will be 12 players drafted at each position.

Notice that, in an auction, the last catcher drafted will go for $1, and the last 1B will also go for $1. This is true even though the last 1B is expected to produce much better stats than the last C. And that’s the key point: Despite the variance in expected production, the last players drafted at each position have the exact same value.

With this in mind, we want to adjust our values so that the last players picked at each position have equal values. In our sample league, the 12th best SS according to Marcel is Ryan Theriot, with a value of -2.97. The 12th best catcher is much worse–Chris Iannetta at -6.26. So for all of the SS, then, we will add 2.97 (i.e. subtract -2.97). For catchers we will add 6.26.

Now Theriot and Iannetta have the same value (0), and there are exactly 11 SS and 11 C with positive values. When this adjustment is done for all of the players, there will be exactly 108 players that have a value of zero or greater.

Notice just how huge of a bump this is for catchers. Before, Mauer, Martin, and McCann looked like 4th and 5th round selections (or $15-20 players). Now they land in the top of the 2nd round–worth upwards up $35.

The change is less dramatic for the other positions. Typically, middle infielders will get a small increase of $1 or $2; corner infielders (and often outfielders) will see a slight drop.

Flex Positions
There are a couple of complications when trying to find replacement levels. The first is dealing with “flex” positions like utility/DH, corner-infield, and middle-infield. To handle these, the Price Guide first marks all of the players that are above the replacement level at each of the regular positions. In our sample league, it marks 12 players at each of the primary positions, 96 in all.

Since our sample league uses a DH, the Price Guide finds the top 12 unmarked players and sets the DH replacement level at the 12th. David Ortiz is the top unmarked player, followed by Jim Thome. The remaining 10 are the best of the rest, typically 1B, OF, and 3B. For each player that is counted as a DH, that player’s value is used as the new replacement level for his primary position.

So the previous replacement level for 1B was -0.71, the value of James Loney as the 12th best 1B. But with the DH position, it turns out that 1B like Joey Votto, Conor Jackson, and Adam LaRoche are also worth drafting. The new replacement level for 1B drops to -2.07, which is LaRoche’s value as the 15th best 1B.

Multi-Position Eligibility
The second issue is handling players who are eligible at more than one position. Their value should be based on the most valuable position they are eligible at. However, if I move all of the multi-positional players to the most valuable position, it makes that position less valuable (because there is more talent available). Their old positions become more valuable, because we have fewer quality players to choose from.

There’s a possibility of getting stuck moving players back and forth between positions trying to find the most valuable position. Because of this, the Price Guide assumes the positions are ranked as follows (from greatest to least):

C
SS
2B
3B
CF
LF
RF
OF
1B
MI
CI
Util

That works for most leagues, but there may be situations where it is less than optimal. I haven’t discovered a better way to handle it programmatically, and it shouldn’t make much difference most of the time.

For a straight draft, once we have done the positional adjustments, we’re done! The players should all be ranked correctly. For an auction, however, the final step is converting our adjusted values into dollar values. That shouldn’t take long and will be covered in Part III.

Related posts:

17 Responses to “How the Price Guide Works, Part II (Positional Adjustments)”

  1. Miles says:

    2 questions:
    1) Seems like that this method of positional adjustment assumes that the drop off is roughly linear (since all position x players get the same bump), and that only the last non-replacement player will be valued at $1. Wondering if you’d make the same choice if say, the top 4 players were roughly equal and the next 8 were a step function down (and roughly equal) — something like 15,15,14,13, -3,-3,-3,… My gut says that the top players should get more of a bump than 3.

    2)For multi-positions, did you arrive at the ordered list of positions by rank ordering the positional adjustments? That is, catchers are first because they get 6.26 added, SS have the second most at 2.97, etc.

  2. Mays says:

    1) The positional adjustment is linear, but any uneven dropoffs are taken care of by the initial values (built off of standard deviations above the mean). In your example, there’s still a 16 point gap between 4th and 5th. I don’t see why the positional adjustment would make that any larger.

    2) I ordered the positions based on the replacement levels for most leagues. So if someone qualifies at 2B and OF, I assume that the 2B adjustment helps him more.

    I’d have liked for the order to be specific for each league, but the multi-position players tend to throw things off. They all get counted at the initial most valuable position, which makes that position less valuable. The next cycle they all get moved to a different position, then making it less valuable. That just keeps swinging back and forth…

  3. DaBulls says:

    Love your approach, and it’s actually very similar to one I built last year on my own (as an aside, I’m more than likely to defer to yours this year and save myself the work).

    Quick question, though – how would you integrate the statistical contributions of hitters and pitchers? For example, how would you weigh decent 5-category contributions from a hitter vs great 4-category contributions from a pitcher (assuming saves and wins are, for the most part, mutually exclusive contributions)?

    This question becomes extremely pertinent in head-to-head leagues where you can win by dominating only a majority of the categories.

  4. Mays says:

    @DaBulls: For rotisserie, there’s really nothing to integrate. You just add up the hitters’ contributions and the pitchers’ contributions and mix the lists together. The difference in replacement level has a greater effect on values than the number of categories, so 4 vs 5 categories isn’t a big deal.

    Head-to-head leagues are a completely different matter. The strategy and rankings from the Price Guide don’t necessarily apply to H2H…

  5. DaBulls says:

    I’m not sure I entirely agree about Price Guide not applying to H2H – I think you might be selling yourself short. I’ll have to think about it a bit more, but by adding in ADP and some guidlines such as average stat totals for winning teams with similar setups, one could probably build out the valuations from Price Guide into a very servicable tool for H2H.

  6. Molson says:

    The issue with a H2H league is that each week your optimal team is determined by what team your opponent puts out. If your opponent has a team full of mashers, having 1 SB guy is all you need to win steals for the week and you need mashers of your own to compete in those categories.

    Since the marginal values of stats change week to week and are not related to league averages, a system like this one isn’t optimal for H2H leagues.

    Personally, I hate H2H leagues because there’s so little skill involved. I had 2 H2H teams last year that would have taken >80 points if it were a roto league and finished first. I finished 1st in the regular season with one team and 2nd with the other. In both leagues I lost my first playoff matchup. Way too much luck involved for my taste.

  7. DaBulls says:

    I play in a league with a bunch of college buddies and we actually prefer H2H because it lends to more direct rivalries/trash talking.

    From a data perspective, though, my thoughts are as follows: In Roto, the objective is to rank as high as possible in all categories (10 in a 5×5 league), whereas in H2H, the easiest way to win is to consistently win the majority of categories (6 in a 5×5 league) while essentially punting the rest.

    As such, I think the way to convert Price Guide for H2H is to use either a histogram plot or a rank-by-category to determine which categories are the easiest to secure, i.e. are the most top heavy (steals, for example, can be won every week by a team with Reyes and Pierre, not an unrealistic pairing).

    After determining the categories that are most easily secured and therefore which you would want to focus on in the draft or auction, you would revise the value assessments to add up just those categories and ignore the others (again, you don’t care if you lose 4 categories every week, though you may want to keep the current totals handy because when choosing between two players with similar “revised totals”, you’d want to pick the one with the higher overall total). Similarly, the position adjustments would have to be broken out by category to make sure that the proper negative z-scores are added to each individual category, and therefore the right components are considered.

    Once this is done, you’ve essentially converted the principals behind Price Guide into a H2H strategy draft tool.

    As an aside, I do think Price Guide could also use a “Tiering” tool, because using z-scores do not tell you if there is an abundancy of similar players at that performance, because the standard deviation could be coming on the negative side. This would help make decisions about closely-valued players at different posistions based on who else is still available at that position.

  8. Molson says:

    @DaBulls:

    Something like that could work, the tough part I think would be determining which categories to punt and rank players accordingly, especially if you’re in a draft rather than an auction league, since you can’t know who will be available. You might rank your players on the assumption that you want to lock down steals, but if Reyes and Han Ram and Crawford are gone before you pick, locking down steals isn’t as appealing.

    As for tiering, you can just tier based on the adjusted z-score. If someone gives you good production in 4 categories and nothing in the 5th, they’re just as valuable to your team as someone who give OK production in all five categories. For example, Jason Bay and BJ Upton are both price guided at $17 for an ESPN team. Upton gives you negative value in HRs and RBIs, but gives you a big positive in steals. Bay on the other hand gives you solid positives in R, HR and RBI but hurts you in SB and average.

    Would you not put these players in the same tier? They’re both going to contribute the same overall value to your team, albeit in different categories. But when you’re looking for a #2 OF, you’re going to be considering both Bay and Upton, most likely. I’d be fine with either as a #2 OF.

  9. DaBulls says:

    I agree that the tricky part is deciding which cats to chase vs. which to punt, especially in a draft. The best solution I’ve come up with is to do various sub-totals with the different combinations of stats included vs. excluded, and, after the first one or two rounds, take an assessment of which to follow. After that, you’d go hard after that strategy, even if it meant “overpaying” for players that fit better with your goals.

  10. Miles says:

    I think the PG output is just a starting point in the draft. If you blindly sort on $value and pick the top player, I don’t think you optimize the full team. For instance, in a yahoo/marcels league you’ll likely end up with 2 catchers (Mauer; R Martin) as your 3rd,4th, or 5th round round picks.

    Seems like the H2H issues noted are similar. Category punting is perhaps a more palatable tactic in H2H, but it is an option in roto, and one that a normal PG output wouldn’t directly take into consideration.

    Hmm. Wonder if a better snake draft strategy would be to re-run the PG output after each pick, removing 1 from the starting position you just picked — eg, pick Mauer, remove 1 from starting catchers. Martin then would drop in a yahoo/marcel league from $36 to $16.

    Anyways, why wouldn’t running PG without the punted categories work out ok?

  11. Dough says:

    One issue about adjusting for positional scarcity is that it exacerbates errors in projections, effects of injuries, etc. If Joe Mauer gets hurt, or fails to meet expectations, you are extraordinarily screwed because you have to replace him with a terrible replacement-level catcher. On the other hand, if Lance Berkman gets hurt or fails to meet expectations, it’s easier to find a decent replacement. I realize that’s the whole point of why Mauer should be so valuable — but based on small swings of projections or performance, positional adjustment can be affected greatly. That’s why I always shade down the effects of positional adjustment.

  12. Peter says:

    Miles is onto something Les Leopold tried to harness back in the days of Peter Golenbock’s How to Win at Rotisserie Baseball books. The amount of talent available and the needs of all teams change with every pick/purchase, whether in a draft or an auction.

    Les imagined a spreadsheet add on called The Optimizer, which would recalc prices for your team based on who you had, the needs of the other teams, and who was available. Since then many have tried to make it work, and I don’t think anyone has come close. It’s the ultimate traveling salesman problem.

    It is great seeing you try to tackle these problems, Mays. If you haven’t read Les’s stuff I recommend it. It doesn’t talk about head to head or draft leagues, back then we couldn’t really imagine such things, but you’ll find a lot of spade work to pick through. Good luck.

  13. Mays says:

    @Peter: After reading the excerpts on your site from Patton’s early 90’s books, I almost grabbed copies of several of the annuals from that era (Patton, Benson, and Golenbock) off of the Amazon Marketplace. I haven’t really read any of those authors, but I’d like to at some point.

    Two Price Guide spinoffs I would love to do if I could find the time to do them:

    1) An In-Draft Price Guide. Basically, what you mention: a spreadsheet version of the Price Guide that adjusts prices as the draft progresses.

    2) An In-Season Price Guide. A tool to display dollar values based on year-to-date stats, preferably right on a person’s league site (i.e. within Yahoo, ESPN, CBS, etc.).

  14. Miles says:

    One thing I’ve found interesting that isn’t obvious– with the same stats, a specific player’s ranking will change within a position depending on the # positions available. For instance,
    in this league: http://tinyurl.com/bcdu2u
    Johnny Damon is worth $2 more than Matt Kemp.
    but in http://tinyurl.com/bx524c
    Kemp is worth $2 more than Damon.
    Both leagues used 2008 stats. Both are only OF eligible. The only difference in the leagues is A has No infielders, 2 OF, 1 SP, 1 RP — league B is Yahoo preset.
    (I found this by trying to test removing positions from the setup after a player is drafted (my comment #10 above). It makes sense, as when positions are removed, the leagues’ stat distribution changes, but it was not an obvious outcome to me.

  15. Molson says:

    Yep – if you remove the outliers the SD gets lowered making anyone who’s above average for that stat more valuable.

    Take SB. Once the top 3-4 SB guys are taken out, the SD for the stat goes way down and thus a 20 steal guy becomes a lot more valuable than before since there’s a dwindling pool of steals.

  16. Miles says:

    I tested my comment in #10 using Mays’ retrospective draft method. I did a 6 team draft, and have new respect for how painful it is to generate the results.

    For half the teams, after each pick I removed the corresponding starter from the settings. For instance, if one of the “Change” teams picked ARod, I changed that team’s league settings to have 1 less starting 3B and regenerated the PG values for that team’s next pick. For the other half (“Static”), I used the static list generated at the beginning of the draft. I used a snake draft, alternating the “Change” teams with the Static teams, choosing the highest $ value player in a needed position remaining for that team.

    In Comment 10, I noted that removing a catcher from the settings reduced Martin’s value from 36 to 16 (as he gets projected solely as a 3B). So, I was expecting positions to shoot up and down the list. I didn’t expect, that player’s relative value within a position would change. I expected that if Damon was ranked above Kemp initially, then Damon would always be above Kemp. That wasn’t the case though — those 2 flipped positions; and they were far from isolated cases. (and as Molson comments, it make sense, just requires deeper understanding)

    The results of my drafts were not conclusive. The difference between the 1st and 6th team was only 6 place points. Three teams tied for second. The different team kinds alternated in the standings.

    I think the primary reasons for this is that all the teams used the Price Guide pricing methodology. If some of the drafters took alternate valuation methodologies (rototimes/sgp/etc), probably would have seen a greater spread.

    The original problem I was thinking of is how to choose the generic positions Util and P (and CI/MI). In a mock snake draft, I tried using the price guide values — my algorithm was to choose the highest value player available. Mays has noted that the PG tends to value Catchers higher than other people. My algorithm led me to choose the first catcher, then, not fully understanding that the values presented were for that specific position, I chose the next highest valued player, another catcher (as my util). Had that catcher been valued as a util, he would have been much, much lower.

    Instead of the reduced player pool set (as I originally thought), I think a new list is needed — a ranking of all eligible players in each the generic positions. The (snake) draft algorithm would then change from “choose highest $ player from pitchers and hitters” to, “choose highest $ player from pitchers, hitters, and each generic position.” I’m going to see if I can test that hypothesis next.

  17. Molson says:

    RE: Util/CI/MI

    Certainly. Once you fill your C spots, the remaining Cs don’t have any advantage over a 1B in a Util role.

    You do need separate sets of values – players as position players and players as Util/MI/CI.

    The price guide gives values for players at their most useful position, and Util is ranked last.

    This is because a players value as a Util is always less than or equal to their value elsewhere because the baseline adjustment is equal to at most the smallest of the positional adjustments.

Leave a Reply