| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 49 | 126 | .211 | .274 | .263 | .052 | .268 | 19.0% | 5.6% | 13.4% | 1 | 0 | 36 | 0.73 | — |
| 2024 | 128 | 463 | .241 |
509 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .347 |
| .345 |
| .104 |
| .295 |
| 20.7% |
| 11.0% |
| 9.7% |
| 7 |
| 7 |
| 201 |
| 1.57 |
| — |
| 2023 | 142 | 509 | .261 | .358 | .398 | .137 | .323 | 15.5% | 9.6% | 5.9% | 11 | 11 | 291 | 2.05 | — |
| 2022 | 149 | 542 | .266 | .370 | .403 | .137 | .329 | 17.9% | 8.9% | 9.0% | 13 | 3 | 311 | 2.09 | — |
| 2021 | 148 | 625 | .231 | .360 | .387 | .156 | .332 | 20.5% | 12.3% | 8.2% | 17 | 12 | 346 | 2.34 | — |
| 2020 | 68 | 243 | .246 | .395 | .408 | .162 | .360 | 22.2% | 15.2% | 7.0% | 5 | 4 | 149 | 2.19 | — |
| 2019 | 129 | 497 | .273 | .398 | .517 | .244 | .363 | 21.5% | 13.5% | 8.0% | 26 | 3 | 340 | 2.64 | — |
| 2018 | 125 | 411 | .249 | .330 | .449 | .200 | .343 | 21.4% | 8.3% | 13.1% | 17 | 1 | 244 | 1.95 | — |
| 2017 | 66 | 187 | .208 | .263 | .382 | .174 | .279 | 29.9% | 3.7% | 26.2% | 5 | 2 | 57 | 0.86 | — |
| 2016 | 26 | 44 | .122 | .143 | .341 | .219 | .237 | 45.5% | 0.0% | 45.5% | 3 | 0 | 9 | 0.35 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.