Happ, Ian
Middle-order power profile with real damage
Season percentile report
The headline weighs outcome stats (xwOBA, barrels); each bar averages its full strip group below. 100 = best in MLB.
percentile
Preseason / current pace / Bayesian update
Rolling bands shrink current-season signal toward the preseason prior until the sample earns more weight.
| xwOBA preseason | 0.335 |
| xwOBA current pace | 0.319 |
| xwOBA rolling p50 | 0.325 |
| Observed weight | 65% |
Actual percentile with projection tick
100th = best in MLB.
SEAGER+ and decision components
SEAGER+ is the promoted plate-discipline index; component rows marked rebadged research are visible diagnostic context, not standalone promoted metrics.
xwOBA snapshot line
Live snapshot series; true 50/100 PA windows require PA-level logs
Field-coordinate spray profile
151 Statcast batted-ball coordinates from the pitch-event feed (2026). Direction profile remains as the v1 context layer when coordinate density is limited.
Swing path, attack angle, bat speed
Aggregate Savant bat-tracking metrics; not per-swing motion capture. The full swing, with the recommended path overlaid, lives in the 3D Swing Simulator.
Aggregate zone heatmap
Aggregate zone metrics from seasonal Statcast leaderboards.
Current-season signal
| xwOBA Δ | -0.024 |
| wOBA Δ | +0.021 |
| Sample | 416 PA |
negative regression
Point projection and range
| Metric | Point | Range | Half-width |
|---|---|---|---|
| Plate Appearances | 620 | -- | -- |
| Home Runs | 21 | -- | -- |
| Stolen Bases | 0 | -- | -- |
| xwOBA | 0.343 | 0.294 to 0.390 | +/- 0.048 |
| ISO | 0.177 | 0.126 to 0.259 | +/- 0.066 |
| Barrel% | 6.3% | 4.4% to 8.6% | +/- 2.1% |
| Hard-Hit% | 43.9% | 38.5% to 51.6% | +/- 6.6% |
| K% | 24.6% | 19.1% to 29.1% | +/- 5.0% |
| BB% | 11.8% | 9.8% to 15.2% | +/- 2.7% |
| BABIP | 0.288 | 0.245 to 0.339 | +/- 0.047 |
1177 career PA
| xwOBA | 0.286 |
| K% | 20.6% |
| BB% | 9.0% |
| Barrel | 4.7% |
3449 career PA
| xwOBA | 0.303 |
| K% | 20.8% |
| BB% | 11.9% |
| Barrel | 5.7% |