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 | 5 | 5 | 28.0 | 1 | 2 | 0 | 0 | 4.96 | 4.66 | 17.5% | 6.5% | 11.1% | — | — | — | — | 32 | 6.39 |
| 2026 |
| 11 |
| 9 |
| 47.7 |
| 0 |
| 7 |
| 0 |
| 0 |
| 7.17 |
| 4.93 |
| 16.5% |
| 7.6% |
| 8.9% |
| .338 |
| .350 |
| 61.3% |
| 39.3% |
| -12 |
| -1.09 |
| 2025 | 35 | 30 | 166.0 | 5 | 12 | 1 | 0 | 5.26 | 4.91 | 16.7% | 5.5% | 11.2% | .344 | .278 | 67.2% | 37.5% | 185 | 5.29 |
| 2024 | 18 | 18 | 93.0 | 5 | 3 | 0 | 0 | 5.03 | 3.96 | 20.6% | 5.5% | 15.1% | .343 | .339 | 70.5% | 38.5% | 137 | 7.61 |
| 2023 | 4 | 0 | 8.7 | 1 | 0 | 0 | 0 | 3.12 | 1.72 | 36.4% | 4.5% | 31.9% | .290 | .333 | 75.8% | 30.8% | 31 | 7.75 |
| 2022 | 8 | 6 | 30.3 | 1 | 4 | 0 | 0 | 4.45 | 2.41 | 21.5% | 2.2% | 19.3% | .289 | .351 | 59.1% | 47.1% | 39 | 4.88 |
| 2021 | 24 | 22 | 110.7 | 7 | 8 | 0 | 0 | 5.61 | 3.90 | 21.6% | 4.8% | 16.8% | .331 | .317 | 58.5% | 44.5% | 142 | 5.92 |
| 2020 | 13 | 13 | 61.3 | 4 | 6 | 0 | 0 | 5.43 | 5.04 | 23.4% | 4.8% | 18.6% | .345 | .308 | 70.5% | 49.1% | 79 | 6.08 |
| 2019 | 27 | 27 | 143.3 | 10 | 7 | 0 | 0 | 3.27 | 3.79 | 26.9% | 5.5% | 21.4% | .280 | .236 | 77.3% | 40.7% | 358 | 13.26 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
4-Seam FastballFF | 29.3% | 93.0 | 2178 | +19.1 | +6.9 | 6.88 | 16.3% | 54.8% | 30.8% | 34.0% | 15.0% | 0.339 |
ChangeupCH | 23.4% | 85.0 |
| FF | CH | FC | ST | CU | SI | SL | |
|---|---|---|---|---|---|---|---|
| Usage | 29% | 23% | 15% | 12% | 11% | 9% | 0% |
| MPH | 93.0 | 85.0 | 86.1 | 79.7 | 77.0 | 92.8 | 82.5 |
| RHP Avg | 95.0 | 86.9 | 89.8 | 83.3 | 80.2 | 94.3 | 86.7 |
| 1662 |
| +5.8 |
| +15.3 |
| 6.85 |
| 32.0% |
| 33.7% |
| 26.5% |
| 52.7% |
| 22.9% |
| 0.280 |
CutterFC | 14.9% | 86.1 | 1966 | +7.0 | -2.6 | 6.74 | 28.6% | 37.7% | 20.8% | 15.2% | 13.3% | 0.294 |
SweeperST | 12.1% | 79.7 | 2320 | -4.4 | -10.8 | 6.68 | 25.0% | 44.2% | 32.6% | 37.5% | 18.2% | 0.417 |
CurveballCU | 11.0% | 77.0 | 2156 | -15.4 | -6.7 | 6.63 | 30.8% | 33.3% | 25.6% | 19.2% | 0.0% | 0.250 |
SinkerSI | 9.0% | 92.8 | 2090 | +14.6 | +13.4 | 6.88 | 10.0% | 62.5% | 18.8% | 33.3% | 0.0% | 0.327 |
SliderSL | 0.3% | 82.5 | 1992 | +0.8 | -0.5 | 6.80 | — | 100.0% | 100.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.40′ 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.