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 | 13 | 13 | 73.0 | 3 | 6 | 0 | 0 | 4.97 | 4.65 | 15.2% | 5.7% | 9.5% | — | — | — | — | 72 | 5.56 |
| 2026 |
| 14 |
| 6 |
| 61.0 |
| 1 |
| 5 |
| 0 |
| 0 |
| 5.61 |
| 5.62 |
| 14.4% |
| 6.1% |
| 8.3% |
| .350 |
| .263 |
| 61.9% |
| 46.2% |
| 44 |
| 3.14 |
| 2025 | 31 | 31 | 156.3 | 8 | 11 | 0 | 0 | 4.84 | 5.00 | 14.9% | 5.5% | 9.4% | .352 | .280 | 72.4% | 40.8% | 180 | 5.81 |
| 2024 | 33 | 33 | 176.7 | 10 | 11 | 0 | 0 | 5.25 | 4.11 | 16.9% | 3.5% | 13.4% | .335 | .313 | 63.5% | 42.0% | 219 | 6.64 |
| 2023 | 36 | 36 | 208.3 | 10 | 13 | 0 | 0 | 4.62 | 4.06 | 15.9% | 4.5% | 11.4% | .356 | .306 | 69.2% | 39.0% | 264 | 7.33 |
| 2022 | 37 | 36 | 219.7 | 15 | 14 | 0 | 0 | 3.24 | 3.91 | 19.0% | 4.8% | 14.2% | .311 | .244 | 75.2% | 45.9% | 449 | 12.14 |
| 2021 | 9 | 9 | 44.7 | 2 | 3 | 0 | 0 | 4.23 | 4.33 | 16.7% | 5.9% | 10.8% | .323 | .272 | 67.2% | 53.5% | 64 | 7.11 |
| 2019 | 36 | 35 | 199.0 | 10 | 15 | 0 | 0 | 4.12 | 4.19 | 18.8% | 4.2% | 14.6% | .331 | .302 | 74.6% | 48.8% | 303 | 8.42 |
| 2018 | 34 | 33 | 209.7 | 19 | 4 | 0 | 0 | 2.79 | 3.12 | 18.1% | 3.6% | 14.5% | .288 | .278 | 75.9% | 50.8% | 515 | 15.15 |
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 | 24.0% | 92.4 | 2220 | +15.8 | +7.0 | 6.19 | 20.7% | 68.1% | 36.2% | 22.7% | 23.5% | 0.398 |
SinkerSI | 21.9% | 91.7 |
| FF | SI | SL | CU | CH | ST | |
|---|---|---|---|---|---|---|
| Usage | 24% | 22% | 16% | 15% | 12% | 11% |
| MPH | 92.4 | 91.7 | 86.6 | 75.5 | 85.0 | 80.8 |
| RHP Avg | 95.0 | 94.3 | 86.7 | 80.2 | 86.9 | 83.3 |
| 2132 |
| +10.4 |
| +15.7 |
| 6.22 |
| 15.0% |
| 61.9% |
| 25.4% |
| 45.8% |
| 23.5% |
| 0.254 |
SliderSL | 16.0% | 86.6 | 2229 | +6.5 | -3.6 | 6.18 | 21.1% | 37.0% | 26.1% | 34.5% | 0.0% | 0.543 |
CurveballCU | 15.3% | 75.5 | 2517 | -15.8 | -7.8 | 6.17 | 25.0% | 38.6% | 29.5% | 14.8% | 16.7% | 0.460 |
ChangeupCH | 12.2% | 85.0 | 1424 | +1.1 | +11.0 | 6.30 | 14.3% | 34.3% | 14.3% | 21.7% | 0.0% | 0.417 |
SweeperST | 10.8% | 80.8 | 2371 | -1.8 | -9.9 | 6.19 | 10.0% | 38.7% | 19.4% | 15.8% | 7.1% | 0.440 |
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.59′ 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.