Current snapshot
| MLB bio context is unavailable. |
Player · Bats/Throws R/R · 5' 11", 190 lb · Age 27
| PA | R | H | HR | SB | AVG | OBP | SLG | OPS | |
|---|---|---|---|---|---|---|---|---|---|
| 2023 | 179 | 35 | 38 | 17 | 0 | .235 | .302 | .586 | .888 |
| 2024 | 230 | 31 | 41 | 8 | 2 | .200 | .274 | .366 | .640 |
| 2026 | 65 | 10 | 14 | 4 | 0 | .246 | .323 | .509 | .832 |
| 4 Seasons | 680 | 96 | 131 | 35 | 7 | .215 | .290 | .440 | .730 |
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.288 |
| xwOBA current pace | 0.394 |
| xwOBA rolling p50 | 0.316 |
| Observed weight | 26% |
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
23 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.
| MLB bio context is unavailable. |
| xwOBA Δ | +0.108 |
| wOBA Δ | +0.178 |
| Module | Cards | Latest | Signal |
|---|---|---|---|
| Hitting | 2 | 2026-06-30 | Impact contact carried uneven swing decisions |
| Hitter Projections 20260.286 xwOBA | 10 HR | Projection |
| 2026-03-21 vs MIA0 HR | 0 RBI / 4 Ch | 0 E | 2-3 | K |
| 2026-03-19 vs WSH0 HR | 1 RBI / 3 Ch | 0 E | 2-3 | BB, RBI, R |
| 2026-03-18 vs HOU0 HR | 0 RBI / 0 Ch | 0 E | 0-3 |