| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | 61 | 226 | .256 | .339 | .437 | .181 | .323 | 19.9% | 8.8% | 11.1% | 8 | 1 | 130 | 2.13 | — |
| 2025 | 109 | 437 | .236 |
437 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .291 |
| .376 |
| .140 |
| .293 |
| 11.2% |
| 6.4% |
| 4.8% |
| 12 |
| 3 |
| 247 |
| 2.27 |
| — |
| 2024 | 157 | 635 | .272 | .329 | .394 | .122 | .301 | 14.5% | 6.9% | 7.6% | 16 | 2 | 330 | 2.10 | — |
| 2023 | 148 | 614 | .265 | .318 | .457 | .192 | .324 | 16.4% | 6.7% | 9.7% | 26 | 3 | 371 | 2.51 | — |
| 2022 | 159 | 621 | .292 | .360 | .532 | .240 | .346 | 11.6% | 8.4% | 3.2% | 30 | 5 | 478 | 3.01 | — |
| 2021 | 166 | 653 | .255 | .316 | .494 | .239 | .319 | 14.7% | 7.7% | 7.0% | 34 | 2 | 453 | 2.73 | — |
| 2020 | 50 | 201 | .253 | .310 | .434 | .181 | .294 | 10.0% | 7.5% | 2.5% | 8 | 0 | 133 | 2.66 | — |
| 2019 | 161 | 663 | .314 | .383 | .582 | .268 | .350 | 14.0% | 9.4% | 4.6% | 41 | 3 | 574 | 3.57 | — |
| 2018 | 166 | 673 | .297 | .377 | .561 | .264 | .362 | 18.1% | 10.8% | 7.3% | 38 | 2 | 511 | 3.08 | — |
| 2017 | 167 | 679 | .309 | .376 | .586 | .277 | .372 | 15.6% | 9.1% | 6.5% | 37 | 3 | 574 | 3.44 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.