Each bar is one SP, ordered left-to-right by Value (blended). Center dot is VORP; whiskers span V⁻ → V⁺. This player is highlighted in blue.
| Yr | G | GS | IP | W | L | SV | HLD | ERA | FIP | K% | BB% | K-BB% | xwOBA | BABIP | LOB% | GB% | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Proj | 19 | 14 | 78.0 | 5 | 4 | 0 | 0 | 3.93 | 3.66 | 22.6% | 8.8% | 13.9% | — | — | — | — | 144 | 7.60 |
| 2026 |
| 9 |
| 9 |
| 50.3 |
| 3 |
| 2 |
| 0 |
| 0 |
| 4.11 |
| 3.72 |
| 24.6% |
| 12.6% |
| 12.0% |
| .327 |
| .256 |
| 69.7% |
| 45.7% |
| 99 |
| 11.00 |
| 2025 | 23 | 22 | 125.3 | 9 | 7 | 0 | 0 | 3.09 | 2.99 | 24.3% | 8.2% | 16.1% | .280 | .307 | 74.8% | 46.5% | 274 | 11.91 |
| 2024 | 31 | 0 | 35.0 | 1 | 2 | 1 | 10 | 2.57 | 2.50 | 32.0% | 4.1% | 27.9% | .226 | .315 | 74.7% | 59.7% | 108 | 3.48 |
| 2023 | 5 | 4 | 21.3 | 0 | 2 | 0 | 0 | 3.80 | 2.44 | 23.5% | 2.9% | 20.6% | .309 | .383 | 74.3% | 53.1% | 30 | 6.00 |
| 2022 | 30 | 28 | 134.0 | 4 | 13 | 0 | 0 | 5.44 | 4.69 | 18.7% | 10.7% | 8.0% | .368 | .347 | 69.0% | 42.2% | 85 | 2.83 |
| 2021 | 29 | 20 | 130.0 | 6 | 7 | 0 | 0 | 4.43 | 5.07 | 20.5% | 10.6% | 9.9% | .348 | .280 | 76.8% | 47.3% | 191 | 6.59 |
| 2020 | 10 | 10 | 50.0 | 1 | 6 | 0 | 0 | 4.32 | 4.66 | 22.1% | 9.9% | 12.2% | .351 | .312 | 72.5% | 46.3% | 52 | 5.20 |
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 | 45.7% | 91.4 | 2402 | +17.3 | +3.0 | 6.76 | 24.0% | 48.7% | 25.6% | 28.8% | 25.0% | 0.420 |
ChangeupCH | 18.5% | 85.8 |
| FF | CH | ST | SI | SL | |
|---|---|---|---|---|---|
| Usage | 46% | 18% | 15% | 11% | 10% |
| MPH | 91.4 | 85.8 | 82.4 | 90.8 | 84.9 |
| LHP Avg | 93.2 | 84.6 | 81.0 | 93.0 | 84.7 |
| 1535 |
| +0.2 |
| +9.8 |
| 6.65 |
| 40.6% |
| 33.3% |
| 25.4% |
| 33.3% |
| 22.7% |
| 0.214 |
SweeperST | 15.2% | 82.4 | 2623 | -4.0 | -13.5 | 6.52 | 27.8% | 50.0% | 36.5% | 23.1% | 41.7% | 0.234 |
SinkerSI | 10.9% | 90.8 | 2265 | +8.7 | +12.8 | 6.69 | 10.0% | 59.5% | 21.6% | 26.7% | 0.0% | 0.291 |
SliderSL | 9.7% | 84.9 | 2586 | -1.8 | -2.5 | 6.73 | 53.8% | 42.4% | 45.5% | 36.8% | 42.9% | 0.155 |
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.20′ height) and advanced using its own Statcast kinematics (release velocity + constant acceleration, so gravity, drag, and Magnus are all in the curve). LHP.
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. LHP.