| Yr | G | GS | IP | W | L | SV | HLD | ERA | FIP | K% | BB% | K-BB% | xwOBA | BABIP | LOB% | GB% | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 1 | 0 | 1.0 | 0 | 0 | 0 | 0 | 72.00 | 22.10 | 0.0% | 15.4% | -15.4% | .548 | .700 | 23.3% | 18.2% | -23 | -23.00 |
20 BF — below qualified cutoff. Percentiles vs. qualified pool (faded).
| 2024 |
| 4 |
| 0 |
| 4.0 |
| 0 |
| 0 |
| 0 |
| 0 |
| 9.00 |
| 7.10 |
| 0.0% |
| 0.0% |
| 0.0% |
| .385 |
| .333 |
| 60.6% |
| 31.6% |
| -3 |
| -0.75 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
EephusEP | 53.6% | 58.7 | 1535 | +15.9 | +10.4 | 4.59 | 0.0% | 53.3% | 16.7% | 28.6% | 0.0% | 0.380 |
OtherFA | 25.0% | 82.7 | 2086 |
| EP | FA | CH | |
|---|---|---|---|
| Usage | 54% | 25% | 21% |
| MPH | 58.7 | 82.7 | 69.8 |
| RHP Avg | — | 67.9 | 86.1 |
| +15.2 |
| +9.4 |
| 5.01 |
| 0.0% |
| 50.0% |
| 28.6% |
| 14.3% |
| 0.0% |
| 0.251 |
ChangeupCH | 21.4% | 69.8 | 1813 | +16.8 | +10.7 | 4.51 | 25.0% | 41.7% | 16.7% | 42.9% | — | 0.540 |
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.94′ 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.