Who has the edge in this at-bat, and with which pitch?
Over 100 such plate appearances that is about 0.09 wins at average leverage and 0.17 at a leverage of 2 (runs ÷ 9.7 per win × leverage, a rough conversion). His best-graded pitch here is the sinker (39% of his pitches to this side, net +0.32), his weakest the curveball (net +0.02). The hitter-specific part of that ranking is within noise in the forward test, so read it as his best pitch, not a plan for this hitter.
By pitch type
His usage against this side; runs per 100 pitches vs. league for that pitch type. Pitcher column: + is good for the pitcher. Hitter column: + is good for the hitter, and includes the league platoon split for his side against this hand. Contribution = usage × (pitcher − hitter).
| Pitch | Use | Pitcher | Hitter | Contribution |
|---|---|---|---|---|
| Sinker | 39% | +0.27 | −0.05316 | +0.12 |
| Sweeper | 33% | +0.32 | +0.0998 | +0.08 |
| Four-seam | 13% | +0.31 | +0.26310 | +0.01 |
| Curveball | 12% | +0.36 | +0.3459 | 0.00 |
| Changeup | 1% | +0.29 | +0.0435 | 0.00 |
| Cutter | 1% | +0.30 | +0.0764 | 0.00 |
| Slider | 1% | +0.30 | +0.35265 | 0.00 |
Pittsburgh bullpen vs. a rival lineup
The Winter Plan’s 2027 bullpen (decisions feed, in the plan’s order) against each rival regular, runs per 100 pitches. Warm = our pitcher’s edge. Click a cell to open it above.
| Crow-ArmstrongL | BuschL | BregmanR | SuzukiR · FA | HappS · FA | HoernerR | SwansonR | KellyR · FA | ConfortoL · FA | AmayaR | |
|---|---|---|---|---|---|---|---|---|---|---|
| Mason MontgomeryLHP · Late innings | ||||||||||
| Carmen MlodzinskiRHP · Middle / long | ||||||||||
| Wilber DotelRHP · Middle / long | ||||||||||
| Luke WeaverRHP · Setup | ||||||||||
| Yohan RamírezRHP · Late innings | ||||||||||
| Evan SiskLHP · Setup | ||||||||||
| Isaac MattsonRHP · Middle / long | ||||||||||
| Brandon EisertLHP · Middle / long | ||||||||||
| Best edge | Sisk | Sisk | Weaver | Weaver | Weaver | Weaver | Weaver | Weaver | Sisk | Weaver |
| Best fit | Sisk | Sisk | Ramírez | Dotel | Weaver | Dotel | Dotel | Ramírez | Sisk | Dotel |
“Best edge” is mostly who is good (one arm is best against 7 of 10); “Best fit” ranks each arm by his edge against this hitter beyond his usual edge, which is the matchup-specific part. Against the Cubs’ 3 left-handed regulars (Crow-Armstrong, Busch, Conforto), the plan’s 3 lefties give a best edge of +0.35 on average (Evan Sisk has the highest average edge against them), its righties +0.15 (Luke Weaver the highest). FA: a pending free agent, who may not be in that lineup in 2027. Fatigue and back-to-back availability aren’t in the grid: the data end with the 2026 season.
Our 2027 lineup vs. their staff
The Winter Plan’s hitters (decisions feed) against the Cubs’ 12 busiest pitchers under control for 2027, hitter’s view: + is our hitter’s edge, runs per 100 pitches, weighted by each pitcher’s 2025–26 pitches. 9 of their 13 busiest are pending free agents, left out.
| Hitter | 2027 | Bats | vs. RHP | vs. LHP | All |
|---|---|---|---|---|---|
| Bryan Reynolds | lineup, LF | S | +0.33 | +0.48 | +0.35 |
| Isaac Paredes | lineup, 3B | R | +0.53 | +0.69 | +0.56 |
| Nick Gonzales | lineup, 2B | R | −0.11 | +0.13 | −0.08 |
| Ryan O'Hearn | lineup, 1B | L | +0.48 | +0.05 | +0.42 |
| Spencer Horwitz | lineup, DH | L | +0.29 | −0.07 | +0.24 |
| Oneil Cruz | lineup, CF | L | +0.38 | −0.05 | +0.33 |
| Konnor Griffin | lineup, SS | R | −0.18 | +0.17 | −0.13 |
| Esmerlyn Valdez | lineup, RF | R | +0.22 | +0.59 | +0.27 |
| Rafael Flores Jr. | lineup, C | R | +0.13 | +0.44 | +0.17 |
| Jake Mangum | bench, CF | S | −0.02 | −0.01 | −0.02 |
| Jared Triolo | bench, SS | R | −0.42 | −0.14 | −0.38 |
| Endy Rodríguez | bench, C | S | +0.26 | +0.31 | +0.26 |
| Ronny Simon | bench, RF | S | −0.18 | −0.15 | −0.18 |
| Brandon Lowe | free agent (if he declines) | L | +0.66 | +0.19 | +0.60 |
| Henry Davis | non-tender | R | −0.72 | −0.49 | −0.69 |
| Jacob Gonzalez | traded | L | −0.23 | −0.59 | −0.28 |
Pending free agents among the Cubs’ 13 busiest: Kevin Gausman (RHP), David Peterson (LHP), Shota Imanaga (LHP), Colin Rea (RHP), Matthew Boyd (LHP), Aaron Civale (RHP), Jacob Webb (RHP), Javier Assad (RHP), Caleb Thielbar (LHP); they are left out, and the next-busiest arms under control take their places. Muted rows are the hitters the plan lets go, for comparison. Pick a rival above to switch staffs. This is the platoon picture for a series; the Lineup Lab sets the order.
How well does this work?
Profiles built on 2025 only, tested on 20,170 batter–pitcher pairs in 2026 (305,778 pitches). Deciles of predicted edge vs. what happened, runs per 100 pitches.
- Overall quality only
- r = 0.079
- + league platoon split
- r = 0.085
- + pitch types (the full model)
- r = 0.086
- Earlier design (pitch types, no platoon)
- r = 0.080
| 2026 pairs | Actual | Predicted | Earlier design |
|---|---|---|---|
| Same side | +0.16 | +0.05 | −0.10 |
| Opposite side | −0.11 | −0.17 | −0.06 |
Single matchups are noisy (a few pitches each), so correlations are low for every method. Predicted edges line up with outcomes on average (the top decile beat the bottom by about 1.7 runs per 100). The earlier design shrank each hitter’s split toward zero and got same-side matchups backwards (pitchers do better against their own side); with the league platoon split it gets the direction right and most of the size. Gains with 95% intervals from a bootstrap over pairs: platoon 0.002 to 0.011, pitch types −0.001 to 0.001. Every shrinkage amount and the calibration (0.79×) were set on 2024 → 2025, before this test; the pitch-type part is shrunk with 4,000 pitches of ballast because that predicted best. Recency: the profiles pool 2025–26 equally. Tuned on 2023–24 profiles → 2025, counting the later season 2.00× predicted best (r = 0.0963 against 0.0942 pooled equally); tested on 2024–25 → 2026 (21,151 pairs), it scored r = 0.0864 and slope 0.86 against equal pooling’s r = 0.0865 and slope 0.89 (r gain, 95% interval −0.0023 to +0.0023): no better out of sample, so the page keeps equal pooling. Hitter values aren’t park-neutral and pitch values aren’t count-adjusted; neither is tested here.
Reading the numbers
- Pitcher / Hitter columns are relative to league average for that pitch type: +0.50 means half a run better per 100 of that pitch.
- Each value is a player’s overall quality plus a hard-shrunk pitch-type tilt, so a good hitter is + on most rows; compare the two columns, not each to zero. Hitter values are by pitcher hand (2025–26) and include the league platoon split for his side; the small number is the pitches seen.
- Switch hitters are evaluated from the side they’d bat.
- An edge of 0.5 runs per 100 pitches is about 0.019 runs a plate appearance: it decides a close call, not a roster. The conversions are measured on 2025–26 plate appearances: 3.88 pitches each, and 1.20 of wOBA per run (0.01 runs a plate appearance is about .012 wOBA).
- Not modeled: sequencing, count leverage, the specific location a pitcher can hit, or how tired he is.