| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 134 | 475 | .215 | .302 | .390 | .175 | .335 | 19.6% | 10.1% | 9.5% | 18 | 5 | 253 | 1.89 | — |
| 2024 | 107 | 399 | .253 |
491 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .304 |
| .380 |
| .127 |
| .304 |
| 20.1% |
| 5.5% |
| 14.6% |
| 8 |
| 1 |
| 169 |
| 1.58 |
| — |
| 2023 | 136 | 491 | .260 | .335 | .484 | .224 | .364 | 21.6% | 9.2% | 12.4% | 24 | 1 | 297 | 2.18 | — |
| 2022 | 126 | 448 | .226 | .320 | .346 | .120 | .344 | 14.7% | 10.9% | 3.8% | 9 | 4 | 241 | 1.91 | — |
| 2021 | 128 | 490 | .211 | .309 | .413 | .202 | .349 | 19.6% | 11.0% | 8.6% | 19 | 10 | 261 | 2.04 | — |
| 2020 | 50 | 196 | .228 | .323 | .439 | .211 | .343 | 18.4% | 11.2% | 7.2% | 9 | 3 | 121 | 2.42 | — |
| 2019 | 139 | 597 | .251 | .337 | .518 | .267 | .347 | 16.6% | 10.1% | 6.5% | 36 | 2 | 450 | 3.24 | — |
| 2018 | 161 | 611 | .224 | .321 | .408 | .184 | .326 | 15.7% | 11.6% | 4.1% | 20 | 4 | 339 | 2.11 | — |
| 2017 | 153 | 568 | .243 | .314 | .425 | .182 | .305 | 20.1% | 8.3% | 11.8% | 19 | 6 | 305 | 1.99 | — |
| 2016 | 110 | 448 | .234 | .312 | .423 | .189 | .300 | 20.8% | 9.4% | 11.4% | 17 | 6 | 240 | 2.18 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.