| Yr | G | GS | IP | W | L | SV | HLD | ERA | FIP | K% | BB% | K-BB% | xwOBA | BABIP | LOB% | GB% | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 2 | 0 | 2.0 | 0 | 0 | 0 | 0 | 0.00 | 2.10 | 14.3% | 0.0% | 14.3% | .399 | .167 | 100.0% | 0.0% | 6 | 3.00 |
54 BF — below qualified cutoff. Percentiles vs. qualified pool (faded).
| 2025 |
| 8 |
| 0 |
| 9.3 |
| 0 |
| 0 |
| 0 |
| 0 |
| 16.39 |
| 10.06 |
| 1.9% |
| 9.3% |
| -7.4% |
| .432 |
| .455 |
| 51.3% |
| 22.9% |
| -34 |
| -4.25 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
OtherFA | 98.8% | 62.6 | 1579 | +11.4 | +10.5 | 4.08 | 9.4% | 43.5% | 14.9% | 26.3% | 3.6% | 0.437 |
Slow CurveCS | 0.6% | 56.7 | 1736 |
| FA | CS | EP | |
|---|---|---|---|
| Usage | 99% | 1% | 1% |
| MPH | 62.6 | 56.7 | 44.7 |
| RHP Avg | 68.4 | — | 49.1 |
| +0.8 |
| -9.1 |
| 4.50 |
| — |
| 0.0% |
| 0.0% |
| 0.0% |
| 0.0% |
| — |
EephusEP | 0.6% | 44.7 | 1121 | +18.2 | +4.8 | 4.80 | 0.0% | 100.0% | 0.0% | — | — | 0.145 |
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 (5.00′ 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.