Reference layer
Current snapshot
| Age | 32 |
| Height | 5' 9" |
| Weight | 185 lb |
| Debut | 2020-08-20 |
3B · Bats/Throws R/R · 5' 9", 185 lb · Age 32
| PA | R | H | HR | SB | AVG | OBP | SLG | OPS | |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 301 | 39 | 69 | 11 | 1 | .254 | .322 | .423 | .745 |
| 2025 | 391 | 33 | 85 | 11 | 3 | .241 | .292 | .384 | .676 |
| 2026 | 68 | 9 | 9 | 2 | 0 | .158 | .279 | .316 | .595 |
| 7 Seasons | 1924 | 212 | 440 | 52 | 9 | .254 | .319 | .400 | .719 |
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.296 |
| xwOBA current pace | 0.306 |
| xwOBA rolling p50 | 0.299 |
| 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
51 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.
| Age | 32 |
| Height | 5' 9" |
| Weight | 185 lb |
| Debut | 2020-08-20 |
| xwOBA Δ | +0.012 |
| wOBA Δ | +0.040 |
| Module | Cards | Latest | Signal |
|---|---|---|---|
| Hitting | 3 | 2026-04-06 | Impact contact carried uneven swing decisions |
| Hitter Projections 20260.293 xwOBA | 11 HR | Projection |
| 2026-04-20 @ MIA0 HR | 1 RBI / 3 Ch | 0 E | 1-3 | 2 K, RBI |
| 2026-04-15 vs CLE0 HR | 0 RBI / 1 Ch | 0 E | 0-1 | R |
| 2026-04-14 vs CLE0 HR | 0 RBI / 2 Ch | 0 E | 0-2 | BB, CS |
| 2026-04-12 vs BOS0 HR | 0 RBI / 4 Ch | 0 E | 0-3 | BB |
| 2026-04-11 vs BOS0 HR | 0 RBI / 8 Ch | 0 E | 1-4 | K |