This is the time of year I find myself obsessed with fantasy baseball. With no teams to manage, I burn off this energy on projections/$ values (now available!), building new stuff for the site (like our new team pages) and doing a lot of exploratory research/testing.
One of my favorite ‘sandboxes’ to play in is the Razzball Commenter League data. In 2014, we sponsored 84 12-team 5×5 roto leagues and we have both the draft results + end of season standing points. I have used this data set in the past to test preseason rankings (coming later this preseason) and test things like optimal hit/pitch splits in a 12-team snake draft.
I decided to test what the optimal hitter positional weight should be in our Player Rater. For our Player Rater, I compare players against the average drafted/owned player. For shallow leagues like 12-team MLB, I have been comparing a player 75% against his positional average stats and 25% against the average drafted hitter. This ratio decreases in deeper leagues to 50/50.
To date, my sole validation of this adjustment had been qualitative. I devised the following test to identify the optimal split:
- Run the $ figures for 2013 and 2014 End of Season based on the following splits (0/100, 25/75, 50/50, 75/25, 100/0).
- Sum the $ of all hitters greater than $0 across the 768 RCL teams (2013) and 1,008 RCL teams (2014).
- Player worth less than $0 tend to be dropped and replaced. So this basically credits a team with $0 in those cases as it is unlikely they would have kept the anchor on their roster all year.
- Run a correlation test on the summed hitter $ for each team against their master RCL standings points (e.g., the top team of the 1,008 gets 12 points for Runs, the next gets 11.99….last gets 1.0)
Put another way…if a player’s value should be adjusted based on his position, then it should be evident when comparing the overall value of a team with its place in the standings.
Here were the results:
Correlation % to End of Season RCL Hitting Points | ||
---|---|---|
Positional Weight | 2014 | 2013 |
100% | 66.89 | 63.90 |
75% | 67.27 | 64.38 |
50% | 67.56 | 64.83 |
25% | 67.81 | 65.21 |
0% | 67.98 | 65.49 |
The data tells a clear story – the positional factor has an negative impact on the quality of the player $ values. If I just value each player against the average drafted hitter (e.g., ignoring their position), it explains more of a team’s hitter standing points than if I factor in their position. The more I factor in the position, the worse the results.
Here is the average impact on total $ per position in 2014 for hitters valued $0+:
Position | $ impact going from 75% positional weight to 0% |
---|---|
C | -$2.8 |
1B | +$2.0 |
2B | -$1.1 |
SS | -$0.8 |
3B | -$1.1 |
OF | $0.8 |
DH | $1.2 |
While I was a bit surprised as to how small the impact is of the position weight, the fact that 1B/OF/DH benefit from no positional weight and C/2B/SS/3B are hurt makes sense.
I re-ran the above table for 2014 NL 12-team (comparing 50% vs 0%):
Position | $ impact going from 75% positional factor to 0% |
---|---|
C | -$3.3 |
1B | -$1.4 |
2B | -$0.8 |
SS | -$0.1 |
3B | -$1.0 |
OF | +$2.5 |
DH | N/A |
The only major change is that 1B are actually helped by my position adjustment in an AL/NL-only league. But even with 2 catchers, the impact on catchers is lower than I would have guessed.
Lastly, I tested 0% vs 75% positional factor on 2015 pre-season 12 team MLB (players valued at $0+):
Position | $ impact going from 75% positional factor to 0% |
---|---|
C | -$6.4 |
1B | +$4.6 |
2B | -$2.7 |
SS | -$3.2 |
3B | +$0.8 |
OF | +$0.7 |
DH | +$1.8 |
Now that is the impact I was expecting!
I am not exactly sure why the impact is so much greater on preseason $ values versus season to date. Perhaps it is a case where the actual position averages for weaker bat positions like C/2B/SS benefit benefit more from in-season surprises than the other positions. Or because 2B/SS are less likely to be platooned than 1B/OF so they accrue more PAs. For Catcher, one driver may be that the ‘Season’ player rater reflects the ‘survivors’ (those that stayed healthy) whereas preseason factors in conservative Plate Appearance estimates across the board.
Digging into the biggest preseason ‘losers’ sans-positional adjustments, HRs are the biggest factor for MI. Troy Tulowitzki falls from $37 to $30 and HR reflect $5.3 ($14 to $8.7). Javier Baez falls a lot as well. For Catchers, it is a near across the board loss; Buster Posey lost $6 with Runs being the biggest driver at $3.
Given the results of this analysis, I removed all positional adjustments in the Pre-Season Player Rater and then looked to see if enough rostered players per position were making the $1+ threshold. Based on looking at several league formats, it became clear that Catcher was tracking just a bit low (MI is borderline). I added in a small adjustment that sets the nth catcher (where n=# of teams) at $1 and adjusts all other catchers up at the same proportion. This has a minor impact on Catcher value but nowhere near the $6 mark of the old adjustments. For AL/NL-only, I set the Teams*1.5 catcher at $1 (e.g., in 12-team NL, the 18th catcher) to avoid diverting too many fantasy $ to catcher.
While it is possible that these results are some sort of two-year fluke or that additional positional adjustments might be beneficial in some league formats, the Bayesian analysis I performed in my head determined that these test results trump any preconceived notions I had regarding positional adjustments. (And I’ve double-checked my code to make sure that the positional factors were working correctly)
I am not sure just yet what impact this learning will have on my draft strategy. Even with the prior $ adjustments, I found that I was a little more bearish than most on ‘scarcer’ hitter positions (C/2B/SS). Whenever I deviate from this, I seem to get burned (Buster Posey before Adam Jones in 3rd round of 2013 RCL, Jason Kipnis in 2nd round of 2014 Yahoo! Friends and Family). I imagine I will just be slightly more of a ‘best player regardless of position’ drafter.