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 | 16 | 16 | 97.0 | 4 | 7 | 0 | 0 | 4.88 | 4.72 | 16.1% | 5.5% | 10.6% | — | — | — | — | 109 | 6.82 |
| 2026 |
| 13 |
| 9 |
| 64.3 |
| 6 |
| 4 |
| 0 |
| 0 |
| 4.76 |
| 5.94 |
| 14.0% |
| 7.2% |
| 6.8% |
| .371 |
| .243 |
| 69.2% |
| 35.9% |
| 90 |
| 6.92 |
| 2025 | 34 | 34 | 191.7 | 10 | 9 | 0 | 0 | 3.99 | 4.79 | 17.1% | 4.2% | 12.9% | .325 | .257 | 79.0% | 40.7% | 332 | 9.76 |
| 2024 | 30 | 30 | 159.7 | 8 | 10 | 0 | 0 | 3.66 | 3.80 | 21.5% | 4.7% | 16.8% | .327 | .315 | 77.9% | 34.1% | 280 | 9.33 |
| 2023 | 31 | 15 | 93.7 | 3 | 6 | 0 | 0 | 4.13 | 3.79 | 19.5% | 3.2% | 16.3% | .322 | .292 | 72.0% | 42.2% | 150 | 4.84 |
| 2022 | 43 | 0 | 48.0 | 3 | 3 | 1 | 6 | 4.88 | 4.54 | 20.5% | 6.8% | 13.7% | .303 | .308 | 73.5% | 43.1% | 83 | 1.93 |
| 2021 | 69 | 2 | 68.3 | 4 | 0 | 2 | 9 | 3.03 | 3.63 | 25.0% | 9.5% | 15.5% | .304 | .269 | 77.0% | 48.5% | 202 | 2.93 |
| 2020 | 7 | 0 | 7.3 | 0 | 0 | 0 | 0 | 8.59 | 12.78 | 9.7% | 9.7% | 0.0% | .543 | .318 | 100.0% | 33.3% | -4 | -0.57 |
| 2019 | 31 | 0 | 37.3 | 6 | 1 | 0 | 1 | 3.13 | 3.66 | 21.9% | 6.2% | 15.7% | .353 | .294 | 78.7% | 39.0% | 101 | 3.26 |
| 2018 | 8 | 2 | 20.3 | 0 | 2 | 0 | 0 | 6.20 | 5.85 | 13.9% | 10.9% | 3.0% | .365 | .319 | 64.2% | 44.4% | 1 | 0.13 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SliderSL | 27.6% | 87.0 | 2141 | +9.4 | -1.8 | 6.13 | 16.7% | 58.0% | 33.3% | 20.6% | 44.4% | 0.507 |
4-Seam FastballFF | 25.3% | 91.2 | 2013 |
| SL | FF | FS | SI | ST | |
|---|---|---|---|---|---|
| Usage | 28% | 25% | 18% | 17% | 12% |
| MPH | 87.0 | 91.2 | 83.4 | 90.7 | 78.9 |
| RHP Avg | 86.7 | 95.0 | 86.7 | 94.3 | 83.3 |
| +16.1 |
| +6.9 |
| 6.20 |
| 7.7% |
| 58.1% |
| 20.3% |
| 22.6% |
| 16.7% |
| 0.400 |
Split-FingerFS | 18.1% | 83.4 | 1011 | +0.6 | +10.2 | 6.06 | 25.9% | 43.4% | 20.8% | 30.0% | 25.0% | 0.262 |
SinkerSI | 17.4% | 90.7 | 1923 | +11.1 | +15.0 | 6.21 | 3.6% | 54.9% | 19.6% | 30.4% | 0.0% | 0.611 |
SweeperST | 11.6% | 78.9 | 2200 | -4.5 | -13.2 | 6.02 | 29.4% | 44.1% | 26.5% | 36.8% | 6.7% | 0.343 |
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.53′ 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.