Current snapshot
| Age | 29 |
| Height | 5' 11" |
| Weight | 200 lb |
| Debut | 2019-09-09 |
2B · Bats/Throws R/R · 5' 11", 200 lb · Age 29
| PA | R | H | HR | SB | AVG | OBP | SLG | OPS | |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 641 | 86 | 159 | 7 | 31 | .273 | .335 | .373 | .708 |
| 2025 | 649 | 89 | 178 | 7 | 29 | .297 | .345 | .394 | .739 |
| 2026 | 317 | 26 | 67 | 4 | 12 | .240 | .319 | .337 | .656 |
| 8 Seasons | 3190 | 404 | 805 | 40 | 143 | .278 | .338 | .379 | .717 |
The headline weighs outcome stats (xwOBA, barrels); each bar averages its full strip group below. 100 = best in MLB.
Rolling bands shrink current-season signal toward the preseason prior until the sample earns more weight.
| xwOBA preseason | 0.315 |
| xwOBA current pace | 0.332 |
| xwOBA rolling p50 | 0.325 |
| Observed weight | 60% |
100th = best in MLB.
Our research metrics for how this hitter controls the strike zone and handles each pitch family.
Live snapshot series; true 50/100 PA windows require PA-level logs
229 Statcast batted-ball coordinates from the pitch-event feed (2026). Direction profile remains as the v1 context layer when coordinate density is limited.
Aggregate zone metrics from seasonal Statcast leaderboards.
Aggregate Savant bat-tracking metrics; not per-swing motion capture. The full swing, with the recommended path overlaid, lives in the 3D Swing Simulator.
| Age | 29 |
| Height | 5' 11" |
| Weight | 200 lb |
| Debut | 2019-09-09 |
| xwOBA Δ | +0.016 |
| wOBA Δ | +0.026 |
negative regression
Hoerner’s wOBA sits at 0.342, but the quality of contact underneath says it should be 0.332 — a gap of 0.010, -0.4 standard deviations from the MLB norm over 334 PA. The results have outrun the underlying process; as the sample grows, expect the numbers to drift back toward the deserved level.
| Module | Cards | Latest | Signal |
|---|---|---|---|
| Hitting | 3 | 2026-04-15 | On-base pressure held the card together |
| Hitter Projections 20260.316 xwOBA | 9 HR | Projection |
| 2026-05-20 vs MIL0 HR | 0 RBI / 2 Ch | 0 E | 1-4 | 2B |
| 2026-04-20 vs PHI0 HR | 0 RBI / 3 Ch | 0 E | 1-4 | 2 K |
| 2026-04-17 vs NYM1 HR | 2 RBI / 10 Ch | 0 E | 3-5 | HR, 2 RBI, R |
| 2026-04-15 @ PHI1 HR | 5 RBI / 2 Ch | 0 E | 3-5 | HR, 5 RBI, 2 R |
| 2026-04-14 @ PHI0 HR | 3 RBI / 4 Ch | 0 E | 2-6 | K, 3 RBI, R |