| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 26 | 73 | .258 | .319 | .348 | .090 | .322 | 30.1% | 5.5% | 24.6% | 1 | 0 | 17 | 0.65 | — |
| 2025 | 99 | 329 | .270 |
329 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .340 |
| .410 |
| .140 |
| .319 |
| 20.7% |
| 6.7% |
| 14.0% |
| 9 |
| 7 |
| 163 |
| 1.65 |
| — |
| 2024 | 109 | 370 | .269 | .329 | .388 | .119 | .344 | 21.9% | 7.3% | 14.6% | 7 | 18 | 213 | 1.95 | — |
| 2023 | 89 | 341 | .248 | .301 | .324 | .076 | .316 | 20.2% | 4.7% | 15.5% | 5 | 25 | 159 | 1.79 | — |
| 2022 | 126 | 505 | .292 | .347 | .468 | .176 | .337 | 19.2% | 5.1% | 14.1% | 16 | 23 | 341 | 2.71 | — |
| 2021 | 125 | 528 | .309 | .383 | .456 | .147 | .350 | 18.8% | 8.1% | 10.7% | 12 | 48 | 378 | 3.02 | — |
| 2020 | 64 | 250 | .281 | .341 | .430 | .149 | .327 | 16.4% | 4.8% | 11.6% | 6 | 11 | 158 | 2.47 | — |
| 2019 | 132 | 588 | .294 | .344 | .501 | .207 | .362 | 16.0% | 4.3% | 11.7% | 23 | 25 | 422 | 3.20 | — |
| 2018 | 150 | 608 | .276 | .328 | .458 | .182 | .337 | 17.9% | 5.8% | 12.1% | 20 | 35 | 380 | 2.53 | — |
| 2017 | 83 | 340 | .274 | .334 | .377 | .103 | .322 | 18.5% | 5.9% | 12.6% | 7 | 21 | 188 | 2.27 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.