| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 67 | 300 | .220 | .387 | .441 | .221 | .422 | 24.3% | 20.3% | 4.0% | 14 | 5 | 181 | 2.70 | — |
| 2025 | 135 | 558 | .231 |
363 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .361 |
| .437 |
| .206 |
| .367 |
| 31.9% |
| 15.6% |
| 16.3% |
| 26 |
| 2 |
| 263 |
| 1.95 |
| — |
| 2024 | 34 | 126 | .220 | .325 | .541 | .321 | .412 | 21.4% | 12.7% | 8.7% | 10 | 6 | 95 | 2.79 | — |
| 2023 | 85 | 363 | .262 | .368 | .489 | .227 | .393 | 28.7% | 12.4% | 16.3% | 18 | 2 | 202 | 2.38 | — |
| 2022 | 126 | 500 | .282 | .369 | .629 | .347 | .405 | 27.8% | 10.8% | 17.0% | 40 | 1 | 368 | 2.92 | — |
| 2021 | 44 | 146 | .333 | .466 | .624 | .291 | .437 | 28.1% | 18.5% | 9.6% | 8 | 2 | 119 | 2.70 | — |
| 2020 | 56 | 241 | .281 | .397 | .603 | .322 | .434 | 23.2% | 14.5% | 8.7% | 17 | 1 | 192 | 3.43 | — |
| 2019 | 140 | 600 | .291 | .441 | .645 | .354 | .471 | 20.0% | 18.3% | 1.7% | 45 | 11 | 546 | 3.90 | — |
| 2018 | 147 | 608 | .312 | .463 | .628 | .316 | .454 | 20.4% | 20.1% | 0.3% | 39 | 25 | 525 | 3.57 | — |
| 2017 | 124 | 507 | .306 | .445 | .629 | .323 | .438 | 17.8% | 18.5% | -0.7% | 33 | 24 | 473 | 3.81 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.