Each bar is one SP, ordered left-to-right by Value (blended). Center dot is VORP; whiskers span V⁻ → V⁺.
| Yr | G | GS | IP | W | L | SV | HLD | ERA | FIP | K% | BB% | K-BB% | xwOBA | BABIP | LOB% | GB% | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Proj | 8 | 8 | 47.0 | 2 | 4 | 0 | 0 | 5.18 | 4.98 | 16.0% | 9.1% | 6.9% | — | — | — | — | 42 | 5.21 |
| 2026 |
| 13 |
| 8 |
| 63.3 |
| 1 |
| 5 |
| 0 |
| 0 |
| 4.69 |
| 5.99 |
| 14.4% |
| 8.7% |
| 5.7% |
| .337 |
| .256 |
| 75.6% |
| 37.7% |
| 56 |
| 4.31 |
| 2025 | 33 | 25 | 145.3 | 4 | 13 | 0 | 1 | 5.39 | 5.09 | 13.3% | 10.7% | 2.6% | .357 | .286 | 67.4% | 42.1% | 90 | 2.73 |
| 2024 | 32 | 32 | 182.3 | 9 | 9 | 0 | 0 | 3.26 | 3.75 | 21.2% | 7.2% | 14.0% | .310 | .268 | 79.0% | 41.7% | 364 | 11.38 |
| 2022 | 30 | 30 | 136.3 | 7 | 13 | 0 | 0 | 5.41 | 4.99 | 16.4% | 10.1% | 6.3% | .361 | .314 | 70.9% | 42.8% | 101 | 3.37 |
| 2021 | 30 | 27 | 135.0 | 7 | 9 | 0 | 0 | 5.40 | 4.55 | 21.7% | 8.1% | 13.6% | .341 | .315 | 65.3% | 51.3% | 169 | 5.63 |
| 2020 | 12 | 8 | 52.3 | 2 | 4 | 1 | 0 | 4.30 | 5.87 | 12.6% | 9.9% | 2.7% | .361 | .238 | 80.0% | 55.6% | 61 | 5.08 |
| 2019 | 21 | 12 | 78.0 | 4 | 2 | 0 | 0 | 4.50 | 5.23 | 12.3% | 9.9% | 2.4% | .385 | .283 | 76.5% | 51.6% | 93 | 4.43 |
| 2018 | 12 | 11 | 52.3 | 2 | 4 | 0 | 0 | 5.33 | 4.67 | 20.9% | 10.0% | 10.9% | .365 | .329 | 71.2% | 54.4% | 52 | 4.33 |
| 2017 | 4 | 4 | 20.3 | 1 | 1 | 0 | 0 | 7.08 | 5.85 | 19.7% | 10.5% | 9.2% | .391 | .361 | 69.0% | 65.4% | 12 | 3.00 |
Expected run-value conceded per pitch against a rational hitter, standardized against the season. 100 = avg · 110 = 1 SD better.
| Pitch | Usage | Velo | Spin | IVB | HB | Ext | Whiff% | Zone% | CSW% | Chase% | PutAway% | xwOBA |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SweeperST | 33.5% | 82.0 | 2514 | +1.9 | -14.9 | 6.57 | 27.9% | 41.7% | 29.8% | 42.9% | 17.1% | 0.163 |
CutterFC | 28.7% | 89.9 |
| ST | FC | SI | CH | FF | |
|---|---|---|---|---|---|
| Usage | 33% | 29% | 22% | 15% | 1% |
| MPH | 82.0 | 89.9 | 94.0 | 88.8 | 93.1 |
| RHP Avg | 83.3 | 89.8 | 94.3 | 86.9 | 95.0 |
| 2176 |
| +6.6 |
| -2.2 |
| 6.60 |
| 15.2% |
| 56.9% |
| 30.6% |
| 22.6% |
| 15.4% |
| 0.393 |
SinkerSI | 22.3% | 94.0 | 2067 | +9.1 | +11.9 | 6.62 | 4.0% | 55.4% | 19.6% | 20.0% | 7.7% | 0.340 |
ChangeupCH | 14.7% | 88.8 | 1794 | +2.8 | +12.2 | 6.57 | 35.7% | 18.9% | 18.9% | 26.7% | 27.3% | 0.195 |
4-Seam FastballFF | 0.8% | 93.1 | 1993 | +12.9 | +6.8 | 6.65 | — | 0.0% | 0.0% | 0.0% | 0.0% | — |
Commit at the decision point, then fast-forward 150ms. Where is each pitch when your bat crosses the zone? Two views of the same moment — catcher-facing and from the side.
Each pitch is launched from a shared decision point (4.38′ height) and advanced using its own Statcast kinematics (release velocity + constant acceleration, so gravity, drag, and Magnus are all in the curve). RHP.
Where pitches are when the hitter commits — and where they end up. Tighter cluster on the left = more deceptive arsenal.
Decision point computed from Statcast kinematics (vx0/vy0/vz0, ax/ay/az) by projecting each pitch back to y = 23 ft. Coordinates in catcher’s view: 1B on the left, 3B on the right. RHP.