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 | 23 | 16 | 92.0 | 7 | 5 | 0 | 0 | 4.09 | 3.76 | 22.8% | 8.2% | 14.6% | — | — | — | — | 174 | 7.56 |
| 2026 |
| 13 |
| 13 |
| 74.0 |
| 8 |
| 3 |
| 0 |
| 0 |
| 3.28 |
| 3.06 |
| 23.5% |
| 5.5% |
| 18.0% |
| .313 |
| .300 |
| 76.9% |
| 39.0% |
| 180 |
| 13.85 |
| 2025 | 25 | 18 | 96.0 | 3 | 9 | 0 | 1 | 5.06 | 4.23 | 24.9% | 7.6% | 17.3% | .293 | .278 | 64.2% | 44.2% | 134 | 5.36 |
| 2024 | 26 | 10 | 83.7 | 0 | 10 | 0 | 2 | 4.52 | 4.71 | 24.1% | 12.6% | 11.5% | .334 | .256 | 67.1% | 41.7% | 98 | 3.77 |
| 2023 | 8 | 7 | 33.7 | 2 | 2 | 0 | 0 | 6.42 | 6.31 | 20.0% | 8.3% | 11.7% | .361 | .306 | 71.4% | 46.0% | 31 | 3.88 |
| 2020 | 3 | 3 | 13.7 | 0 | 1 | 0 | 0 | 3.95 | 3.69 | 14.0% | 12.3% | 1.7% | .340 | .268 | 63.2% | 61.0% | 14 | 4.67 |
| 2019 | 31 | 30 | 182.7 | 13 | 4 | 0 | 0 | 2.61 | 3.25 | 20.3% | 5.8% | 14.5% | .307 | .273 | 79.6% | 52.9% | 440 | 14.19 |
| 2018 | 6 | 6 | 26.7 | 2 | 1 | 0 | 0 | 3.71 | 2.65 | 18.6% | 6.2% | 12.4% | .331 | .356 | 63.8% | 44.7% | 47 | 7.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 | 34.3% | 94.0 | 2492 | +14.5 | +8.8 | 6.15 | 11.3% | 54.0% | 25.4% | 19.0% | 26.3% | 0.428 |
SlurveSV | 33.0% | 81.0 |
| FF | SV | CH | SI | FC | |
|---|---|---|---|---|---|
| Usage | 34% | 33% | 12% | 10% | 10% |
| MPH | 94.0 | 81.0 | 86.0 | 93.8 | 89.2 |
| RHP Avg | 95.0 | — | 86.9 | 94.3 | 89.8 |
| 2859 |
| -7.7 |
| -10.1 |
| 5.96 |
| 30.5% |
| 48.8% |
| 37.2% |
| 38.7% |
| 23.6% |
| 0.285 |
ChangeupCH | 12.3% | 86.0 | 2156 | +3.9 | +16.9 | 6.12 | 33.3% | 46.7% | 31.1% | 41.7% | 33.3% | 0.418 |
SinkerSI | 10.4% | 93.8 | 2344 | +6.4 | +17.1 | 6.16 | 5.6% | 52.6% | 23.7% | 27.8% | 20.0% | 0.181 |
CutterFC | 10.1% | 89.2 | 2637 | +8.2 | -2.2 | 6.04 | 22.7% | 40.5% | 18.9% | 40.9% | 33.3% | 0.367 |
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.32′ 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.