This is the 2nd post in a series (Post #1 was about position adjustments) in which I am going to combine my thoughts on category valuation and general fantasy baseball auction value quality checks.
Determining how to value a player’s contributions across each statistical category is the fundamental challenge of building a system for ranking/valuing fantasy baseball players in the Roto format. You move to a Points-based league and suddenly ranking players is soooo much easier.
As Larry Schechter noted in his book Winning Fantasy Baseball , there are 3 general fantasy baseball player valuation methodologies. I am going to try and summarize each as succinctly as possible. I guarantee I am missing some integral steps/nuances in each process but hopefully you get the gist of each. Note that ratio stats like AVG and ERA are harder to explain so I just stick with counting stats.
- Standings Gain Points (SGP) – Subtract player stats from those of a ‘replacement’ player and divide them by the estimated difference between a rung in the standings for that league (aka the SGP). Sum up the SGPs, divide by total auction dollars, and you have $ value per SGP. Sum up each player’s SGPs, multiply by $ to SGP factor.
- Percentage Value Measurement (PVM) – Sum all the stats of a modeled rostered universe. Divide each player’s stats into the total for a percentage (e.g., Stanton projected for 1% of total HRs). Sum these percentages up. Multiply by a $-to-percentage point factor.
- Z-Score/Standard Deviation – Determine the standard deviation per category using the stats across a fixed universe of players (could be rostered universe, could be every hitter/pitcher with a certain PA/IP threshold, etc.). Multiply the sum of the resulting `z-scores` against a $-to-z-score factor.
I use my own variant on the SGP methodology. The key differences are:
- I compare against the average hitter/pitcher vs replacement hitter/pitcher.
- Since this results in roughly half the rostered universe having negative value, I determine a replacement level for hitters and pitchers based on finding the xth hitter/pitcher (x = Leagues * Rostered Hitters/Pitchers).
- I dynamically calculate the SGP (or what I’ve called a ‘Point Share’) based on my projections instead of using historical data.
I do not know enough of PVM and Z-Scores to say this with certainty but my assumption is, if done right, all these methodologies provide comparable results. By done right, I assume that the practitioner has made some adjustments account for any major weaknesses in the methodology.
For this exercise, I am going to hypothesize the results from each methodology and share my opinions on potential quality checks and ideas around valuing each category. I am going to start with general quality checks and then move into category-related checks.
The sum of $ for players valued at $1+ matches the number of Teams multiplied by Team Budget
- This is an obvious quality check that helps insure you aren’t inadvertently leaving auction dollars on the table or going over-budget.
- I match this total exactly for the rostered universe I model to create the Point Shares (SGPs) for each category. But the actual results lead to some rostered players falling below $1 and some non-rostered coming in above. My 12-team $1+ total is $3,166 instead of $3,120 with $15 of the overage from hitting and $31 from pitching (there is a long tail of SPs and middle relievers).
The total number of players at $1+ should be # of Teams * # of Rostered Players Per Team
- This is another fairly obvious quality check.
- A few guys sneaking in at the $1-$2 level is not a big deal to me. For 12-team, I do have exactly 264 players – 156 batters (12*13) and 108 pitchers (12*9). For 15-team, I have 136 pitchers instead of 135 (15*9) and 196 hitters instead of 210 (15*14) but that is solely do my aversion towards heavily adjusting catcher values that I wrote about in the position adjustment post.
The last player available per position should be worth $1
- I liked Larry Schechter’s rationale for why one should push a $3 OF (assuming that’s the last OF) down to $1 so you can spread more of the $ pool to the top players. The required process, though, feels more complicated than it’s worth given the margin of error in projections and the fluidity of draft room bids.
- For 15-team NFBC, my 45th MI happens to be at exactly $1, my 55th CI is at $1.3, my 79th OF is $1, and I have two DH’s above $1. So for the UTIL slot, that’s crediting 10 CIs, 4 OFs, and 2 DHs. Just one non-catcher too many.
- When I see $ estimates that have a ton of players valued at $1, I know a person (vs a methodology/process) is behind it. The reality is that a lot of players taken in the $1 round have negative values on most people’s draft boards.
The sum of all the hitter dollars in each category and pitcher dollars in each category should equal (hitting wouldn’t equal pitching since the norm is a hit/pitch split that skews towards hitting)
- Most projections do not break out the $ by category. I do because I think it provides more transparency and allows one to make category adjustments if they so choose.
- Since each category is worth the same amount of standings points, I cannot see any reason why they shouldn’t be equal. This seemed to be an area that exasperated Larry Schechter as his SGP totals varied wildly at the category level.
- PVM should nail this one. Not sure on Z-Scores.
- I do not have the same issue with Larry. My category totals for hitting come fairly close to matching. I am not sure if this is because I compare against ‘average’ vs ‘replacement’ or because my modeled SGPs better weight the contributions per category vs his historical SGPs
- Example 1: For 15-team mixed, my totals for $1+ hitters are: R=$483, HR=$488, RBI=$489, SB=$482, AVG=$492.
- Example 2: For AL 12-team, my totals for $1+ hitters are: R=$420, HR=399, RBI=416, SB=369, AVG=355
- Historical SGPs are calculated off a different offensive/pitching environments than one’s projections source. Every set of projections implicitly or explicitly estimates a hitting/pitching environment (e.g., 2014 results represent a low offensive environment). The benefit of modeling the SGPs off the projected data set is that I am using the same environment as the projections.
- My pitching scores are about the same for Wins/Saves/K’s/ERA/WHIP. Saves tend to be lower because, while Save totals for leagues is extremely predictable (~1000-1100 for mixed leagues), I refuse to project them all because there are always new in-season closers. So I will give a Kimbrel 35 saves but a Hawkins only 15-20. However, I still use the expected league Save total for my calculations so my Save $ are deflated and I distribute the $ to the other 4 categories. (Note: the same goes for Holds)
- Example 1: 15-team mixed: $237/$212/$251/$250/$238
- Example 2: AL 12 team: $209/$93/$211/$211/$209
- I tested the FanGraphs Auction Calculator and found the category values all add up to the vicinity of $0. The methodology they appropriated from Last Player Picked lumps all the dollars about replacement-level in the position adjustment.
Is there a justification for weighting categories?
- Potentially yes (note: I do not)
- One could determine that certain metrics are more reliable than others (I haven’t found that to be the case)
- Draft strategy to de-emphasize certain categories like AVG, SB, Wins.
- I do like to adjust the categories in H2H to de-emphasize Saves and SBs.
- One could be anal and weight them so they exactly equal (seems like overkill for me but may be advisable if one’s category totals are wildly off)
- You think your model over-valued in a certain category (this can happen with speed guys and closers)
- One could adjust the values based on expectations of how the other owners will draft (e.g., if your league places higher values on HRs vs AVG, you can adjust up the HRs and adjust down the AVG).
What is the floor for each category? Is zero SBs worth $0 or negative?
- The rationale for $0 being the floor is that – for counting stats – any number is a positive contribution. So a slap hitter’s projected 3 HRs should be deemed positive.
- A base SGP model (based on replacement) and PVM would have $0 as the floor.
- My SGP model does have negatives. I think Z-scores would as well.
- I think the ESPN Player Rater is Z-score based. It does have negative values but their $0 ‘replacement’ floor is higher than Razzball’s. Case in point: Altuve’s 7 HR last year were a 0.04 in ESPN Player Rater but a negative $1.9 in Razzball. The difference of ‘replacement’ level across the hitting categories is the likely reason why Altuve was #1 in ESPN for 2014 and #10 in Razzball.
- While the rationale for a $0 floor makes intuitive sense, it also makes sense to me that players should have negative values if they are clearly below replacement level in a category.
- I think the $0 floor distorts the value of SB hitters with low HR/RBI. I have Billy Hamilton’s SB $ value in 15-team mixed at $26 but his putrid HR/RBI get a collective -$5.2. His total value is $24.9 so, taking out SB, he’s worth negative $1.1. That makes sense to me as there is no way he is drafted in 15-team leagues if he was projected at less than 10 SB. I could see users of PVM methodologies weighing down the SB category to avoid overvaluing this type of players.