Current snapshot
| Age | 32 |
| Height | 6' 0" |
| Weight | 190 lb |
| Debut | 2016-08-17 |
SS · Bats/Throws R/R · 6' 0", 190 lb · Age 32
| PA | R | H | HR | SB | AVG | OBP | SLG | OPS | |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 593 | 82 | 129 | 16 | 19 | .242 | .312 | .390 | .702 |
| 2025 | 645 | 84 | 144 | 24 | 20 | .244 | .300 | .417 | .717 |
| 2026 | 262 | 39 | 40 | 7 | 6 | .179 | .284 | .313 | .597 |
| 11 Seasons | 5525 | 719 | 1226 | 171 | 112 | .247 | .316 | .409 | .725 |
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.324 |
| xwOBA current pace | 0.285 |
| xwOBA rolling p50 | 0.302 |
| Observed weight | 56% |
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
156 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' 0" |
| Weight | 190 lb |
| Debut | 2016-08-17 |
| xwOBA Δ | -0.045 |
| wOBA Δ | -0.028 |
negative regression
Swanson’s wOBA sits at 0.303, but the quality of contact underneath says it should be 0.285 — a gap of 0.017, -0.6 standard deviations from the MLB norm over 278 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 | 2 | 2026-04-24 | Impact contact carried uneven swing decisions |
| Hitter Projections 20260.331 xwOBA | 20 HR | Projection |
| 2026-05-20 vs MIL0 HR | 0 RBI / 5 Ch | 0 E | 0-3 | 2 K |
| 2026-04-20 vs PHI1 HR | 3 RBI / 2 Ch | 0 E | 1-4 | HR, K, 3 RBI |
| 2026-04-17 vs NYM0 HR | 1 RBI / 4 Ch | 0 E | 1-2 | BB, RBI, 2 R |
| 2026-04-15 @ PHI1 HR | 2 RBI / 2 Ch | 0 E | 3-5 | HR, 2 RBI, 2 R |
| 2026-04-14 @ PHI0 HR | 0 RBI / 3 Ch | 0 E | 0-3 | 2 BB, K, 2 R |