| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 115 | 343 | .229 | .300 | .294 | .065 | .281 | 16.3% | 7.0% | 9.3% | 3 | 5 | 134 | 1.17 | — |
| 2024 | 89 | 291 | .337 |
343 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .383 |
| .448 |
| .111 |
| .317 |
| 13.4% |
| 4.1% |
| 9.3% |
| 4 |
| 6 |
| 181 |
| 2.03 |
| — |
| 2022 | 129 | 468 | .291 | .329 | .380 | .089 | .284 | 12.0% | 3.6% | 8.4% | 3 | 2 | 252 | 1.95 | — |
| 2021 | 141 | 511 | .271 | .310 | .391 | .120 | .300 | 14.7% | 4.1% | 10.6% | 9 | 5 | 268 | 1.90 | — |
| 2020 | 41 | 151 | .371 | .400 | .552 | .181 | .387 | 11.3% | 2.0% | 9.3% | 3 | 0 | 116 | 2.83 | — |
| 2019 | 149 | 530 | .288 | .319 | .407 | .119 | .288 | 13.2% | 3.8% | 9.4% | 11 | 6 | 309 | 2.07 | — |
| 2018 | 128 | 465 | .268 | .311 | .388 | .120 | .280 | 10.1% | 4.1% | 6.0% | 5 | 15 | 268 | 2.09 | — |
| 2017 | 136 | 489 | .255 | .289 | .369 | .114 | .277 | 13.3% | 4.3% | 9.0% | 6 | 8 | 252 | 1.85 | — |
| 2016 | 143 | 514 | .254 | .308 | .335 | .081 | .277 | 9.7% | 5.4% | 4.3% | 4 | 7 | 247 | 1.73 | — |
| 2015 | 129 | 454 | .300 | .349 | .370 | .070 | .275 | 9.7% | 5.5% | 4.2% | 2 | 13 | 223 | 1.73 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.