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 | 11 | 6 | 39.0 | 3 | 2 | 0 | 0 | 3.77 | 3.72 | 19.9% | 8.9% | 11.0% | — | — | — | — | 71 | 6.42 |
| 2026 |
| 9 |
| 9 |
| 52.7 |
| 4 |
| 4 |
| 0 |
| 0 |
| 2.39 |
| 3.21 |
| 20.9% |
| 8.4% |
| 12.5% |
| .308 |
| .250 |
| 82.1% |
| 55.3% |
| 117 |
| 13.00 |
| 2025 | 34 | 32 | 171.0 | 12 | 8 | 0 | 0 | 3.42 | 4.00 | 18.2% | 9.3% | 8.9% | .323 | .279 | 74.6% | 55.9% | 319 | 9.38 |
| 2024 | 82 | 0 | 76.7 | 6 | 6 | 30 | 8 | 2.93 | 3.06 | 25.1% | 8.1% | 17.0% | .286 | .308 | 73.4% | 64.6% | 332 | 4.05 |
| 2023 | 68 | 0 | 64.3 | 5 | 4 | 24 | 5 | 2.80 | 2.45 | 27.1% | 8.8% | 18.3% | .262 | .299 | 74.1% | 66.7% | 287 | 4.22 |
| 2022 | 72 | 0 | 74.3 | 7 | 4 | 20 | 10 | 2.18 | 2.79 | 25.0% | 7.7% | 17.3% | .250 | .242 | 76.7% | 77.0% | 326 | 4.53 |
| 2021 | 74 | 0 | 76.3 | 8 | 4 | 0 | 14 | 3.30 | 3.14 | 26.7% | 9.9% | 16.8% | .270 | .271 | 70.2% | 68.5% | 217 | 2.93 |
| 2020 | 2 | 0 | 2.3 | 0 | 0 | 0 | 0 | 0.00 | 1.39 | 16.7% | 0.0% | 16.7% | .256 | .286 | 100.0% | 60.0% | 7 | 3.50 |
| 2019 | 36 | 0 | 51.0 | 2 | 2 | 0 | 1 | 5.47 | 4.88 | 23.2% | 14.9% | 8.3% | .342 | .292 | 65.5% | 60.1% | 67 | 1.86 |
| 2018 | 11 | 4 | 26.3 | 1 | 3 | 0 | 0 | 6.84 | 5.34 | 16.3% | 17.8% | -1.5% | .353 | .346 | 65.1% | 57.8% | -3 | -0.27 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SinkerSI | 43.0% | 93.5 | 2143 | +2.1 | +15.8 | 5.89 | 9.2% | 58.7% | 27.3% | 17.7% | 8.3% | 0.359 |
SweeperST | 19.2% | 81.9 |
| SI | ST | CH | FC | CU | FF | |
|---|---|---|---|---|---|---|
| Usage | 43% | 19% | 16% | 14% | 7% | 1% |
| MPH | 93.5 | 81.9 | 89.3 | 88.6 | 81.4 | 94.1 |
| RHP Avg | 94.3 | 83.3 | 86.9 | 89.8 | 80.2 | 95.0 |
| 2896 |
| -4.6 |
| -16.6 |
| 5.75 |
| 42.9% |
| 38.8% |
| 38.8% |
| 43.9% |
| 25.0% |
| 0.151 |
ChangeupCH | 16.0% | 89.3 | 839 | -2.0 | +9.2 | 5.94 | 36.8% | 33.9% | 30.4% | 59.5% | 20.0% | 0.209 |
CutterFC | 13.8% | 88.6 | 2575 | +2.7 | -1.5 | 5.90 | 21.4% | 43.8% | 25.0% | 48.1% | 7.7% | 0.480 |
CurveballCU | 7.4% | 81.4 | 2965 | -15.1 | -9.3 | 5.77 | 16.7% | 23.1% | 19.2% | 20.0% | 18.2% | 0.070 |
4-Seam FastballFF | 0.6% | 94.1 | 2260 | +10.1 | +12.8 | 5.95 | 0.0% | 100.0% | 50.0% | — | 0.0% | 0.573 |
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.57′ 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.