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 | 25 | 17 | 108.0 | 7 | 7 | 0 | 0 | 4.20 | 3.99 | 20.3% | 8.3% | 12.0% | — | — | — | — | 175 | 7.02 |
| 2026 |
| 13 |
| 13 |
| 72.7 |
| 4 |
| 6 |
| 0 |
| 0 |
| 4.21 |
| 3.21 |
| 21.3% |
| 6.7% |
| 14.6% |
| .309 |
| .322 |
| 66.3% |
| 44.8% |
| 115 |
| 8.85 |
| 2025 | 26 | 24 | 137.3 | 8 | 11 | 0 | 0 | 4.85 | 4.78 | 21.1% | 9.6% | 11.5% | .351 | .293 | 71.8% | 42.7% | 187 | 7.19 |
| 2023 | 10 | 10 | 53.7 | 4 | 2 | 0 | 0 | 2.85 | 3.17 | 18.2% | 8.6% | 9.6% | .287 | .217 | 69.7% | 44.4% | 124 | 12.40 |
| 2022 | 6 | 6 | 30.0 | 2 | 3 | 0 | 0 | 4.50 | 4.37 | 22.8% | 11.0% | 11.8% | .303 | .237 | 64.2% | 51.9% | 49 | 8.17 |
| 2021 | 8 | 8 | 37.0 | 3 | 1 | 0 | 0 | 2.43 | 2.67 | 37.6% | 5.4% | 32.2% | .269 | .289 | 84.3% | 56.9% | 115 | 14.38 |
| 2020 | 19 | 13 | 66.7 | 4 | 1 | 0 | 2 | 2.84 | 4.42 | 19.6% | 7.1% | 12.5% | .314 | .250 | 84.6% | 54.6% | 157 | 8.26 |
| 2019 | 18 | 5 | 44.3 | 2 | 3 | 0 | 4 | 3.45 | 2.83 | 22.7% | 3.5% | 19.2% | .304 | .323 | 67.7% | 46.0% | 87 | 4.83 |
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 | 30.1% | 96.9 | 2312 | +14.4 | +10.6 | 6.79 | 11.4% | 60.9% | 29.3% | 25.0% | 10.7% | 0.356 |
SweeperST | 21.2% | 85.6 |
| FF | ST | SI | FC | CU | CH | |
|---|---|---|---|---|---|---|
| Usage | 30% | 21% | 18% | 15% | 8% | 8% |
| MPH | 96.9 | 85.6 | 96.5 | 93.5 | 82.7 | 90.2 |
| RHP Avg | 95.0 | 83.3 | 94.3 | 89.8 | 80.2 | 86.9 |
| 3121 |
| -3.1 |
| -16.3 |
| 6.49 |
| 20.8% |
| 49.2% |
| 27.7% |
| 21.2% |
| 25.0% |
| 0.339 |
SinkerSI | 18.0% | 96.5 | 2358 | +6.3 | +17.9 | 6.73 | 13.3% | 50.9% | 21.8% | 37.0% | 16.7% | 0.307 |
CutterFC | 15.0% | 93.5 | 2457 | +10.1 | -0.0 | 6.82 | 8.0% | 54.3% | 28.3% | 38.1% | 33.3% | 0.181 |
CurveballCU | 8.2% | 82.7 | 3116 | -15.6 | -10.9 | 6.46 | 25.0% | 40.0% | 28.0% | 13.3% | 0.0% | 0.189 |
ChangeupCH | 7.5% | 90.2 | 1767 | +1.3 | +17.5 | 6.79 | 0.0% | 47.8% | 17.4% | 25.0% | 50.0% | 0.526 |
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.12′ 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.