Current snapshot
| Age | 32 |
| Height | 6' 2" |
| Weight | 220 lb |
| Debut | 2018-07-31 |
RF · Bats/Throws L/L · 6' 2", 220 lb · Age 32
| PA | R | H | HR | SB | AVG | OBP | SLG | OPS | |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 494 | 60 | 117 | 15 | 3 | .264 | .334 | .427 | .761 |
| 2025 | 544 | 67 | 133 | 17 | 3 | .281 | .366 | .437 | .803 |
| 2026 | 231 | 31 | 57 | 10 | 1 | .275 | .342 | .449 | .791 |
| 9 Seasons | 2708 | 305 | 617 | 94 | 12 | .254 | .323 | .423 | .746 |
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.345 |
| xwOBA current pace | 0.328 |
| xwOBA rolling p50 | 0.336 |
| Observed weight | 52% |
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
150 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 | 32 |
| Height | 6' 2" |
| Weight | 220 lb |
| Debut | 2018-07-31 |
| xwOBA Δ | -0.013 |
| wOBA Δ | +0.029 |
negative regression
O'Hearn’s wOBA sits at 0.370, but the quality of contact underneath says it should be 0.328 — a gap of 0.042, -1.4 standard deviations from the MLB norm over 241 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 |
|---|---|---|---|
| No Mithrandir card history is available for this player yet. | |||
| Hitter Projections 20260.341 xwOBA | 17 HR | Projection |
| 2026-04-17 vs TB0 HR | 0 RBI / 4 Ch | 0 E | 0-4 | K |
| 2026-04-15 vs WSH0 HR | 0 RBI / 0 Ch | 0 E | 3-4 | K, R, SB |
| 2026-04-14 vs WSH0 HR | 0 RBI / 0 Ch | 0 E | 0-3 | BB |
| 2026-04-13 vs WSH0 HR | 1 RBI / 1 Ch | 0 E | 1-5 | 2B, 3 K, RBI |
| 2026-04-12 @ CHC0 HR | 0 RBI / 5 Ch | 0 E | 2-4 | K |