My approach to identifying lineups worthy of stacking evolved from fantasy football where I’d look at the opposing defenses fantasy points allowed to help identify positive matchups. For DFS baseball I look at a team’s DFS points per plate appearance (ppa) and compare to the opposing pitcher’s DFS ppa. A “bad” pitcher could lead to an increase in production from the hitters and conversely, a “good” pitcher could lead to a decrease in production.
How to Read the Charts
The Seattle Mariners are facing a LHP on road (Martin Perez TEX who has faced 220 batters). On FanDuel the Mariners are currently putting up 2.17 points per plate appearance (PPA) vs. LHP on road and Martin Perez is currently allowing 139% more PPA than the MLB average (2.117 PPA). Their modified PPA is 3.01 (2.17 x 139%) and the difference is simply their modified PPA minus their situational PPA. Rinse & repeat for DraftKings.
It is important to note that due to the volatility of stolen bases, I do not include them when calculating ppa.
Lineup | Situation | Opposing Pitcher | Batters Faced | ![]() |
![]() |
||||
---|---|---|---|---|---|---|---|---|---|
FanDuel MLB Avg is 2.117 | DraftKings MLB Avg is 1.615 | ||||||||
PPA x % | Mod PPA | Dif | PPA x % | Mod PPA | Dif | ||||
![]() |
LHP on road | Martin Perez TEX | 220 | 2.17 x 139% | 3.01 | +0.84 | 1.66 x 139% | 2.32 | +0.65 |
![]() |
LHP on road | Wei-Yin Chen MIA | 367 | 2.43 x 121% | 2.95 | +0.52 | 1.83 x 119% | 2.18 | +0.35 |
![]() |
RHP on road | Jakob Junis KCR | 509 | 2.25 x 116% | 2.61 | +0.36 | 1.71 x 116% | 1.98 | +0.27 |
![]() |
LHP at home | Wade LeBlanc SEA | 439 | 2.56 x 100% | 2.55 | +0.00 | 1.92 x 101% | 1.95 | +0.03 |
![]() |
RHP on road | Dylan Covey CHW | 331 | 2.15 x 117% | 2.52 | +0.37 | 1.63 x 115% | 1.87 | +0.24 |
![]() |
RHP at home | Lance Lynn NYY | 486 | 2.19 x 107% | 2.35 | +0.16 | 1.68 x 106% | 1.78 | +0.10 |
![]() |
RHP at home | Homer Bailey CIN | 346 | 1.78 x 125% | 2.23 | +0.45 | 1.37 x 124% | 1.70 | +0.33 |
![]() |
RHP at home | Kyle Gibson MIN | 560 | 2.53 x 88% | 2.23 | -0.30 | 1.90 x 88% | 1.68 | -0.22 |
![]() |
RHP at home | Joe Musgrove PIT | 288 | 2.37 x 91% | 2.15 | -0.21 | 1.80 x 93% | 1.67 | -0.13 |
![]() |
RHP on road | Zack Godley ARI | 549 | 2.03 x 102% | 2.07 | +0.04 | 1.55 x 101% | 1.56 | +0.01 |
![]() |
LHP at home | Cole Hamels CHC | 523 | 1.80 x 113% | 2.03 | +0.23 | 1.41 x 112% | 1.58 | +0.16 |
![]() |
RHP at home | Jake Arrieta PHI | 492 | 2.11 x 98% | 2.07 | -0.05 | 1.60 x 97% | 1.55 | -0.05 |
![]() |
RHP on road | Dereck Rodriguez SFG | 273 | 2.40 x 84% | 2.01 | -0.39 | 1.80 x 85% | 1.54 | -0.27 |
![]() |
RHP on road | Nick Tropeano LAA | 300 | 1.67 x 119% | 1.99 | +0.32 | 1.30 x 118% | 1.53 | +0.23 |
![]() |
RHP at home | Luke Weaver STL | 504 | 1.86 x 104% | 1.94 | +0.08 | 1.44 x 105% | 1.51 | +0.07 |
![]() |
LHP on road | Kyle Freeland COL | 556 | 2.12 x 86% | 1.83 | -0.29 | 1.62 x 88% | 1.42 | -0.19 |
![]() |
RHP at home | Charlie Morton HOU | 517 | 2.17 x 83% | 1.79 | -0.38 | 1.65 x 83% | 1.37 | -0.28 |
![]() |
RHP on road | Noah Syndergaard NYM | 342 | 2.06 x 84% | 1.73 | -0.33 | 1.58 x 87% | 1.38 | -0.20 |
![]() |
RHP on road | Trevor Bauer CLE | 635 | 2.09 x 75% | 1.56 | -0.53 | 1.58 x 76% | 1.20 | -0.39 |
![]() |
LHP at home | Matt Boyd DET | 487 | 1.63 x 93% | 1.52 | -0.11 | 1.26 x 92% | 1.16 | -0.10 |