We have released an update to the daily MLB projections beginning with June 7th games.
This upgrade took a longer time than expected to complete as it required almost a full rewrite of the code but I am psyched to finally release it!
Thanks to all of you – especially you rabid DFSers – who have provided suggested improvement areas throughout the season. Behind the scenes, we automated several processes to ensure that daily projections are updated as early as possible (~6:15 AM EST) and then updated throughout the day regularly to reflect posted lineups (every 10 minutes. increased to 5 minutes between 4-7PM EST).
Below are some of the noteworthy upgrades with our new projection system:
- We are now incorporating both Steamer hitter and pitcher split projections. Our legacy projections used Steamer hitter split projections and then adjusted pitchers based on league average splits. So when we are projecting how, say, David Ortiz will fare against Rich Hill, the foundation is now based on David Ortiz’s projections against LHP and Rich Hill’s projections against LH hitters. Steamer’s split projections factor in past performance vs each hitter/pitcher split and then regress them to league average splits. The larger the sample of recent past performance, the less regression that needs to take place.
- We are reducing projected PA/ABs for hitters who tend to be removed before end of game for a pinch-hitter. These hitters typically fall into two camps: 1) A platoon hitter who is pulled once the starting pitcher is pulled and the platoon advantage is lost or 2) A weak hitter. The PA reductions are based on last 30 game usage of the hitter. Examples of platoon hitters who often see the bench before final pitch include Chris Coghlan (loses an average of about 0.8 PA/game), Kike Hernandez (~ 0.6 PA/game), and Ryan Raburn (~0.65 PA/game). Examples of the latter include Paul Janish and David Ross.
- Better handling of ‘swingmen’. The daily pitcher split projections we are using from Steamer now reflect a pitcher’s projection specifically as a Starter vs a Reliever. The previous method relied on Rest of Season projections which would blend the results of these two roles. The Rest of Season projection methodology has been similarly updated.
- Improvements in Run/RBI formula. Hitter Runs/RBIs are now 100% correlated to the pitcher run projections. While they had been very closely correlated (~95%), through this process, we uncovered an issue with the previous method that would lead to inflated run projections in high-scoring games and deflated run projections in low-scoring games. The new methodology fixes this.
- Improvements in SB formula. The old formula multiplied a hitter’s opponent-neutral likelihood to steal against an index based on the starting pitcher’s stolen base rates vs league average. This method works fine in most cases but overstated the SB projections in extreme cases (e.g., Billy Hamilton vs Jimmy Nelson). The new method better handles extreme matchups.
The below stats reflect the differences seen between the ‘legacy’ and ‘new’ projections using week of June 6th data. Most of the projections are north 0f 0.9 (on a scale of 0 to 1) which reflects that these improvements, while significant, are not dramatically different than our previous estimates. The ‘new average’ column reflects the average seen across all projected starting pitchers + hitters on the active roster. The ‘Absolute +/-‘ column reflects the average absolute value of the differences seen vs the previous projections.
The correlations for DraftKings/FanDuel hitter points were both around 0.937. The correlation for DraftKings/FanDuel pitcher points were both around 0.98.
Please let me know if you have any questions or future suggestions in the comments, via e-mail ([email protected]) or via Twitter (@rudygamble).
Streamonator/Starting Pitcher Projections (268 GS)
Correlation | New AVG | Absolute +/- | |
$ | 0.96 | 0.04 | 3.28 |
QS | 0.97 | 0.52 | 0.02 |
W | 0.95 | 0.35 | 0.02 |
L | 0.93 | 0.33 | 0.02 |
IP | 0.97 | 5.69 | 0.10 |
H | 0.93 | 5.64 | 0.19 |
ER | 0.91 | 2.47 | 0.11 |
K | 0.98 | 5.06 | 0.16 |
BB | 0.98 | 1.94 | 0.10 |
HBP | 0.86 | 0.21 | 0.03 |
HR | 0.93 | 0.68 | 0.04 |
K/9 | 0.98 | 7.98 | 0.26 |
K/BB | 0.98 | 2.74 | 0.18 |
ERA | 0.94 | 3.94 | 0.19 |
WHIP | 0.91 | 1.34 | 0.05 |
Hittertron/Hitter Projections (3,378 Games)
Stat | Correlation | New AVG | Absolute +/- |
$ | 0.87 | 0.92 | 5.01 |
PA | 0.86 | 4.09 | 0.13 |
AB | 0.93 | 3.69 | 0.12 |
H | 0.93 | 0.93 | 0.05 |
1B | 0.90 | 0.63 | 0.03 |
2B | 0.90 | 0.18 | 0.01 |
3B | 0.92 | 0.02 | 0.00 |
R | 0.98 | 0.44 | 0.04 |
HR | 0.92 | 0.10 | 0.01 |
RBI | 0.96 | 0.42 | 0.05 |
SB | 0.97 | 0.06 | 0.01 |
BB | 0.94 | 0.32 | 0.02 |
HBP | 0.96 | 0.04 | 0.00 |
SO | 0.94 | 0.83 | 0.06 |
AVG | 0.95 | 0.252 | 0.01 |
OBP | 0.95 | 0.314 | 0.01 |
SLG | 0.95 | 0.395 | 0.02 |
OPS | 0.94 | 0.710 | 0.02 |
Teamonator / Team Projections (268 Team Games / 134 Actual Games)
Correlation | New Avg | Absolute +/- | |
BF | 0.53 | 37.95 | 1.06 |
IP | n/a | 8.77 | 0.23 |
QS | 0.97 | 0.52 | 0.02 |
W | 0.97 | 0.50 | 0.15 |
H | 0.86 | 8.60 | 0.40 |
HR | 0.94 | 1.02 | 0.07 |
ER | 0.93 | 3.79 | 0.18 |
SO | 0.95 | 7.80 | 0.57 |
BB | 0.97 | 2.98 | 0.12 |
ERA | 0.94 | 3.90 | 0.22 |
WHIP | 0.93 | 1.32 | 0.05 |