| Yr | G | PA | AVG | OBP | SLG | ISO | xwOBA | K% | BB% | K-BB% | HR | SB | Pts | PPG | xPPG |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025 | 130 | 465 | .240 | .307 | .378 | .138 | .282 | 18.9% | 7.3% | 11.6% | 16 | 1 | 227 | 1.75 | — |
| 2024 | 74 | 243 | .205 |
455 PA — below qualified cutoff. Percentiles vs. qualified pool (faded).
| .282 |
| .316 |
| .111 |
| .294 |
| 13.6% |
| 8.2% |
| 5.4% |
| 4 |
| 0 |
| 116 |
| 1.57 |
| — |
| 2023 | 130 | 455 | .283 | .356 | .507 | .224 | .336 | 13.8% | 9.0% | 4.8% | 23 | 0 | 300 | 2.31 | — |
| 2022 | 159 | 602 | .229 | .319 | .394 | .165 | .314 | 17.1% | 9.8% | 7.3% | 19 | 0 | 339 | 2.13 | — |
| 2021 | 150 | 436 | .262 | .337 | .447 | .185 | .315 | 12.8% | 9.4% | 3.4% | 18 | 1 | 278 | 1.85 | — |
| 2020 | 57 | 213 | .268 | .316 | .515 | .247 | .311 | 16.9% | 6.1% | 10.8% | 12 | 1 | 144 | 2.53 | — |
| 2019 | 94 | 285 | .317 | .363 | .487 | .170 | .331 | 10.9% | 5.3% | 5.6% | 9 | 0 | 187 | 1.99 | — |
| 2018 | 130 | 429 | .267 | .326 | .417 | .150 | .297 | 9.8% | 6.8% | 3.0% | 11 | 0 | 260 | 2.00 | — |
| 2017 | 114 | 362 | .271 | .312 | .488 | .217 | .316 | 14.9% | 4.7% | 10.2% | 18 | 1 | 236 | 2.07 | — |
| 2016 | 111 | 336 | .266 | .321 | .468 | .202 | .304 | 14.3% | 6.8% | 7.5% | 16 | 1 | 215 | 1.94 | — |
Expected-run-value of every swing-or-take decision, against a league-average batter’s optimum. 100 = avg · 110 = 1 SD better.