William Contreras
C Milwaukee Brewers| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR |
|---|---|---|---|---|---|---|---|---|
| 2024 | 26 | MLBMIL | 679 | .281/.367/.466 | 23 | 9 | 134 | 6.8 |
| 2025 | 27 | MLBMIL | 659 | .260/.358/.399 | 17 | 6 | 115 | 4.7 |
| 2026 | 28 | MLBMIL | 640 | .270/.345/.417 | 18 | 1 | 111 | 3.5 |
| 2027PROJ | 29 | MLBMIL | 445 | .265/.345/.424 | 14 | 3 | 119 | 2.9 |
| 2028PROJ | 30 | MLBMIL | 445 | .262/.341/.415 | 13 | 2 | 115 | 2.5 |
| 2029PROJ | 31 | MLBMIL | 426 | .257/.336/.404 | 12 | 1 | 111 | 2.1 |
Tools · Recent Form · Splits · ContractCON 55 / POW 50
Career Stats + Projections
Methodology▸ how these numbers are built
All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2027 = full-season projection (no games played yet). 2028+ via Advanced Marcel + aging curve. Catcher framing: only 2027 Statcast framing is modeled (Baseball Savant server-caches the leaderboard to the current season); prior-year framing is unmodeled — projections for established framers may run 1-3 WAR low.
| Year | Age | Lvl | Team | MLB% | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per stint (as recorded, no adjustments) | |||||||||||||||||||||||||||||||
| 2015 | 17 | ROK | DSL Braves | — | 189 | 172 | 54 | 9 | 4 | 0 | 15 | 21 | 1 | 2 | 2 | 314 | 372 | 413 | 785 | 99 | 358 | 11 | 8 | 351 | 45 | — | — | — | — | — | — |
| 2016 | 18 | ROK | GCL Braves | — | 82 | 72 | 19 | 5 | 0 | 1 | 7 | 15 | 2 | 0 | 1 | 264 | 346 | 375 | 721 | 111 | 321 | 18 | 9 | 325 | 48 | — | — | — | — | — | — |
| 2017 | 19 | ROK | Danville Braves | — | 198 | 169 | 49 | 10 | 1 | 4 | 24 | 30 | 2 | 1 | 0 | 290 | 385 | 432 | 817 | 142 | 326 | 15 | 12 | 362 | 69 | — | — | — | — | — | — |
| 2018 | 20 | A+ | Florida Fire Frogs | — | 90 | 83 | 21 | 7 | 0 | 0 | 6 | 16 | 0 | 0 | 0 | 253 | 303 | 337 | 641 | 84 | 309 | 18 | 7 | 287 | 49 | — | — | — | — | — | — |
| 2018 | 20 | A | Rome Braves | — | 342 | 307 | 90 | 17 | 1 | 11 | 29 | 73 | 4 | 1 | 1 | 293 | 362 | 463 | 824 | 169 | 351 | 21 | 8 | 365 | 86 | — | — | — | — | — | — |
| 2019 | 21 | AA | Mississippi Braves | — | 209 | 191 | 47 | 9 | 0 | 3 | 15 | 40 | 2 | 0 | 0 | 246 | 308 | 340 | 648 | 94 | 295 | 19 | 7 | 294 | 51 | — | — | — | — | — | — |
| 2019 | 21 | A+ | Florida Fire Frogs | — | 207 | 190 | 50 | 11 | 0 | 3 | 14 | 44 | 3 | 0 | 0 | 263 | 324 | 368 | 692 | 105 | 329 | 21 | 7 | 314 | 50 | — | — | — | — | — | — |
| 2021 | 23 | MLB | Atlanta Braves | — | 185 | 163 | 35 | 4 | 1 | 8 | 19 | 54 | 2 | 0 | 0 | 215 | 304 | 399 | 703 | 184 | 265 | 29 | 10 | 314 | 96 | -1 | +0 | -4 | +8 | +4 | 0.7 |
| 2021 | 23 | AAA | Gwinnett Stripers | — | 171 | 155 | 45 | 8 | 0 | 9 | 13 | 36 | 3 | 0 | 0 | 290 | 357 | 516 | 873 | 226 | 327 | 21 | 8 | 384 | 92 | — | — | — | — | — | — |
| 2021 | 23 | INTL | Cardenales de Lara | — | 74 | 65 | 14 | 2 | 0 | 2 | 8 | 14 | 1 | 0 | 0 | 215 | 311 | 338 | 649 | 123 | 245 | 19 | 11 | 299 | 88 | — | — | — | — | — | — |
| 2022 | 24 | MLB | Atlanta Braves | — | 376 | 334 | 93 | 14 | 1 | 20 | 39 | 104 | 1 | 2 | 0 | 278 | 356 | 506 | 862 | 228 | 344 | 28 | 10 | 377 | 140 | +18 | +0 | -2 | +8 | +8 | 3.2 |
| 2022 | 24 | AAA | Gwinnett Stripers | — | 51 | 48 | 14 | 3 | 0 | 0 | 3 | 10 | 0 | 0 | 0 | 292 | 333 | 354 | 688 | 62 | 368 | 20 | 6 | 312 | 66 | — | — | — | — | — | — |
| 2023 | 25 | MLB | Milwaukee Brewers | — | 611 | 540 | 156 | 38 | 1 | 17 | 63 | 126 | 5 | 6 | 1 | 289 | 368 | 457 | 826 | 169 | 348 | 21 | 10 | 366 | 135 | +25 | +1 | +23 | +11 | +13 | 7.5 |
| 2024 | 26 | MLB | Milwaukee Brewers | — | 679 | 595 | 167 | 37 | 2 | 23 | 78 | 139 | 3 | 9 | 2 | 281 | 367 | 466 | 832 | 185 | 330 | 20 | 11 | 369 | 134 | +27 | +1 | +11 | +12 | +15 | 6.8 |
| 2025 | 27 | MLB | Milwaukee Brewers | — | 659 | 566 | 147 | 28 | 0 | 17 | 84 | 120 | 3 | 6 | 4 | 260 | 358 | 399 | 758 | 140 | 299 | 18 | 13 | 341 | 115 | +12 | -0 | +9 | +12 | +14 | 4.7 |
| 2026 | 28 | MLB | Milwaukee Brewers | — | 640 | 566 | 153 | 27 | 1 | 18 | 61 | 94 | 4 | 1 | 2 | 270 | 345 | 417 | 762 | 147 | 292 | 15 | 10 | 338 | 111 | +9 | -1 | +1 | +11 | +14 | 3.5 |
| ▸ Career Totals (raw MLB only — historical actual) | |||||||||||||||||||||||||||||||
| MLB Career | — | — | 3150 | 2764 | 751 | 148 | 6 | 103 | 344 | 637 | 18 | 24 | 9 | 272 | 356 | 441 | 797 | 170 | 317 | 20 | 11 | 354 | 126 | +96 | +1 | +39 | +62 | +68 | 27.1 | ||
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2015 | 17 | ROK MLE | DSL Braves | — | 189 | 176 | 37 | 6 | 2 | 0 | 11 | 26 | 1 | 2 | 2 | 210 | 261 | 267 | 528 | 57 | 244 | 14 | 6 | 234 | 45 | — | — | — | — | — | — |
| 2016 | 18 | ROK MLE | GCL Braves | — | 82 | 75 | 16 | 4 | 0 | 1 | 4 | 22 | 2 | 0 | 1 | 213 | 272 | 307 | 578 | 93 | 268 | 27 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2017 | 19 | ROK MLE | Danville Braves | — | 198 | 178 | 39 | 7 | 1 | 3 | 15 | 43 | 2 | 1 | 0 | 219 | 287 | 320 | 607 | 101 | 259 | 22 | 8 | 270 | 69 | — | — | — | — | — | — |
| 2018 | 20 | A+ MLE | Florida Fire Frogs | — | 90 | 84 | 18 | 6 | 0 | 0 | 5 | 24 | 0 | 0 | 0 | 214 | 258 | 286 | 544 | 71 | 292 | 27 | 6 | 241 | 49 | — | — | — | — | — | — |
| 2018 | 20 | A MLE | Rome Braves | — | 342 | 317 | 79 | 13 | 1 | 10 | 19 | 103 | 4 | 1 | 1 | 249 | 300 | 391 | 691 | 142 | 328 | 30 | 6 | 296 | 86 | — | — | — | — | — | — |
| 2019 | 21 | AA MLE | Mississippi Braves | — | 209 | 195 | 41 | 9 | 0 | 3 | 11 | 50 | 2 | 0 | 0 | 210 | 260 | 303 | 562 | 92 | 260 | 24 | 5 | 243 | 51 | — | — | — | — | — | — |
| 2019 | 21 | A+ MLE | Florida Fire Frogs | — | 207 | 195 | 40 | 8 | 0 | 3 | 9 | 60 | 3 | 0 | 0 | 205 | 251 | 292 | 544 | 87 | 285 | 29 | 4 | 242 | 50 | — | — | — | — | — | — |
| 2021 | 23 | MLB MLE | Atlanta Braves | — | 185 | 164 | 35 | 4 | 1 | 8 | 18 | 54 | 2 | 0 | 0 | 213 | 299 | 396 | 695 | 183 | 265 | 29 | 10 | 310 | 96 | -1 | +0 | -4 | +8 | +4 | 0.7 |
| 2021 | 23 | AAA MLE | Gwinnett Stripers | — | 171 | 159 | 38 | 6 | 0 | 6 | 9 | 44 | 3 | 0 | 0 | 239 | 292 | 390 | 682 | 151 | 298 | 26 | 5 | 304 | 92 | — | — | — | — | — | — |
| 2022 | 24 | MLB MLE | Atlanta Braves | — | 376 | 335 | 93 | 14 | 1 | 20 | 38 | 104 | 1 | 2 | 0 | 278 | 353 | 504 | 857 | 227 | 344 | 28 | 10 | 375 | 140 | +18 | +0 | -2 | +8 | +8 | 3.2 |
| 2022 | 24 | AAA MLE | Gwinnett Stripers | — | 51 | 49 | 13 | 3 | 0 | 0 | 2 | 12 | 0 | 0 | 0 | 265 | 294 | 327 | 621 | 61 | 343 | 24 | 4 | 266 | 66 | — | — | — | — | — | — |
| 2023 | 25 | MLB MLE | Milwaukee Brewers | — | 611 | 542 | 159 | 41 | 1 | 16 | 61 | 126 | 5 | 6 | 1 | 293 | 370 | 461 | 831 | 168 | 348 | 21 | 10 | 368 | 135 | +25 | +1 | +23 | +11 | +13 | 7.5 |
| 2024 | 26 | MLB MLE | Milwaukee Brewers | — | 679 | 600 | 170 | 40 | 2 | 22 | 73 | 139 | 3 | 9 | 2 | 283 | 364 | 467 | 831 | 183 | 330 | 20 | 11 | 366 | 134 | +27 | +1 | +11 | +12 | +15 | 6.8 |
| 2025 | 27 | MLB MLE | Milwaukee Brewers | — | 659 | 570 | 149 | 30 | 0 | 16 | 80 | 120 | 3 | 6 | 4 | 261 | 355 | 398 | 754 | 137 | 299 | 18 | 12 | 338 | 115 | +12 | -0 | +9 | +12 | +14 | 4.7 |
| 2026 | 28 | MLB MLE | Milwaukee Brewers | — | 640 | 572 | 155 | 29 | 1 | 17 | 55 | 94 | 4 | 1 | 2 | 271 | 339 | 414 | 753 | 143 | 292 | 15 | 9 | 333 | 111 | +9 | -1 | +1 | +11 | +14 | 3.5 |
| 2015 | 17 | ROK MLE | DSL Braves | — | 189 | 176 | 37 | 6 | 2 | 0 | 11 | 26 | 1 | 2 | 2 | 210 | 261 | 267 | 528 | 57 | 247 | 14 | 6 | 234 | 45 | — | — | — | — | — | — |
| 2015 | 17 | ROK RAW | DSL Braves | — | 189 | 172 | 54 | 9 | 4 | 0 | 15 | 21 | 1 | 2 | 2 | 314 | 372 | 413 | 785 | 99 | 358 | 11 | 8 | 351 | 45 | — | — | — | — | — | — |
| 2016 | 18 | ROK MLE | GCL Braves | — | 82 | 75 | 16 | 4 | 0 | 1 | 4 | 22 | 2 | 0 | 1 | 213 | 272 | 307 | 578 | 93 | 288 | 27 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2016 | 18 | ROK RAW | GCL Braves | — | 82 | 72 | 19 | 5 | 0 | 1 | 7 | 15 | 2 | 0 | 1 | 264 | 346 | 375 | 721 | 111 | 321 | 18 | 9 | 325 | 48 | — | — | — | — | — | — |
| 2017 | 19 | ROK MLE | Danville Braves | — | 198 | 178 | 39 | 7 | 1 | 3 | 15 | 43 | 2 | 1 | 0 | 219 | 287 | 320 | 607 | 101 | 267 | 22 | 8 | 270 | 69 | — | — | — | — | — | — |
| 2017 | 19 | ROK RAW | Danville Braves | — | 198 | 169 | 49 | 10 | 1 | 4 | 24 | 30 | 2 | 1 | 0 | 290 | 385 | 432 | 817 | 142 | 326 | 15 | 12 | 362 | 69 | — | — | — | — | — | — |
| 2018 | 20 | A MLE | 2 teams | — | 432 | 401 | 97 | 19 | 1 | 10 | 24 | 126 | 4 | 1 | 1 | 242 | 291 | 369 | 660 | 127 | 325 | 29 | 6 | 285 | 79 | — | — | — | — | — | — |
| 2018 | 20 | A RAW | 2 teams | — | 432 | 390 | 111 | 24 | 1 | 11 | 35 | 89 | 4 | 1 | 1 | 285 | 350 | 436 | 786 | 151 | 341 | 21 | 8 | 349 | 79 | — | — | — | — | — | — |
| 2019 | 21 | AA MLE | 2 teams | — | 416 | 390 | 80 | 17 | 0 | 5 | 20 | 110 | 5 | 0 | 0 | 205 | 253 | 287 | 540 | 82 | 272 | 26 | 5 | 243 | 50 | — | — | — | — | — | — |
| 2019 | 21 | AA RAW | 2 teams | — | 416 | 381 | 97 | 20 | 0 | 6 | 29 | 84 | 5 | 0 | 0 | 255 | 316 | 354 | 670 | 100 | 312 | 20 | 7 | 304 | 50 | — | — | — | — | — | — |
| 2021 | 23 | MLB MLE | 3 teams | — | 430 | 390 | 89 | 13 | 1 | 17 | 33 | 119 | 6 | 0 | 0 | 228 | 298 | 397 | 696 | 169 | 282 | 28 | 8 | 307 | 94 | -3 | +0 | -4 | +8 | +9 | 1.1 |
| 2021 | 23 | MLB RAW | 3 teams | — | 430 | 383 | 94 | 14 | 1 | 19 | 40 | 104 | 6 | 0 | 0 | 245 | 326 | 436 | 762 | 191 | 287 | 24 | 9 | 339 | 94 | -3 | +0 | -4 | +8 | +9 | 1.1 |
| 2022 | 24 | MLB MLE | 2 teams | — | 427 | 384 | 106 | 17 | 1 | 20 | 40 | 116 | 1 | 2 | 0 | 276 | 346 | 482 | 828 | 206 | 344 | 27 | 9 | 362 | 131 | +16 | +0 | -2 | +8 | +9 | 3.1 |
| 2022 | 24 | MLB RAW | 2 teams | — | 427 | 382 | 107 | 17 | 1 | 20 | 42 | 114 | 1 | 2 | 0 | 280 | 353 | 487 | 840 | 207 | 348 | 27 | 10 | 369 | 131 | +16 | +0 | -2 | +8 | +9 | 3.1 |
| 2023 | 25 | MLB MLE | Milwaukee Brewers | — | 611 | 542 | 159 | 41 | 1 | 16 | 61 | 126 | 5 | 6 | 1 | 293 | 370 | 461 | 831 | 168 | 356 | 21 | 10 | 368 | 135 | +25 | +1 | +23 | +11 | +13 | 7.5 |
| 2023 | 25 | MLB RAW | Milwaukee Brewers | — | 611 | 540 | 156 | 38 | 1 | 17 | 63 | 126 | 5 | 6 | 1 | 289 | 368 | 457 | 826 | 169 | 348 | 21 | 10 | 366 | 135 | +25 | +1 | +23 | +11 | +13 | 7.5 |
| 2024 | 26 | MLB MLE | Milwaukee Brewers | — | 679 | 600 | 170 | 40 | 2 | 22 | 73 | 139 | 3 | 9 | 2 | 283 | 364 | 467 | 831 | 183 | 335 | 20 | 11 | 366 | 134 | +27 | +1 | +11 | +12 | +15 | 6.8 |
| 2024 | 26 | MLB RAW | Milwaukee Brewers | — | 679 | 595 | 167 | 37 | 2 | 23 | 78 | 139 | 3 | 9 | 2 | 281 | 367 | 466 | 832 | 185 | 330 | 20 | 11 | 369 | 134 | +27 | +1 | +11 | +12 | +15 | 6.8 |
| 2025 | 27 | MLB MLE | Milwaukee Brewers | — | 659 | 570 | 149 | 30 | 0 | 16 | 80 | 120 | 3 | 6 | 4 | 261 | 355 | 398 | 754 | 137 | 302 | 18 | 12 | 338 | 115 | +12 | -0 | +9 | +12 | +14 | 4.7 |
| 2025 | 27 | MLB RAW | Milwaukee Brewers | — | 659 | 566 | 147 | 28 | 0 | 17 | 84 | 120 | 3 | 6 | 4 | 260 | 358 | 399 | 758 | 140 | 299 | 18 | 13 | 341 | 115 | +12 | -0 | +9 | +12 | +14 | 4.7 |
| 2026 | 28 | MLB MLE | Milwaukee Brewers | — | 640 | 572 | 155 | 29 | 1 | 17 | 55 | 94 | 4 | 1 | 2 | 271 | 339 | 414 | 753 | 143 | 294 | 15 | 9 | 333 | 111 | +9 | -1 | +1 | +11 | +14 | 3.5 |
| 2026 | 28 | MLB RAW | Milwaukee Brewers | — | 640 | 566 | 153 | 27 | 1 | 18 | 61 | 94 | 4 | 1 | 2 | 270 | 345 | 417 | 762 | 147 | 292 | 15 | 10 | 338 | 111 | +9 | -1 | +1 | +11 | +14 | 3.5 |
| 2015 | 17 | ROK MLE | DSL Braves | — | 189 | 175 | 37 | 6 | 2 | 0 | 11 | 26 | 1 | 2 | 2 | 211 | 261 | 269 | 529 | 57 | 244 | 14 | 6 | 234 | 45 | — | — | — | — | — | — |
| 2016 | 18 | ROK MLE | GCL Braves | — | 82 | 76 | 16 | 4 | 0 | 1 | 4 | 22 | 2 | 0 | 1 | 211 | 272 | 303 | 574 | 92 | 268 | 27 | 5 | 239 | 48 | — | — | — | — | — | — |
| 2017 | 19 | ROK MLE | Danville Braves | — | 198 | 179 | 39 | 7 | 1 | 3 | 15 | 43 | 2 | 1 | 0 | 218 | 287 | 318 | 606 | 101 | 259 | 22 | 8 | 270 | 69 | — | — | — | — | — | — |
| 2018 | 20 | A MLE | 2 teams | — | 432 | 401 | 97 | 19 | 1 | 10 | 24 | 126 | 4 | 1 | 1 | 242 | 291 | 369 | 660 | 127 | 320 | 29 | 6 | 285 | 79 | — | — | — | — | — | — |
| 2019 | 21 | AA MLE | 2 teams | — | 416 | 388 | 80 | 17 | 0 | 5 | 20 | 110 | 5 | 0 | 0 | 206 | 253 | 289 | 542 | 82 | 272 | 26 | 5 | 243 | 50 | — | — | — | — | — | — |
| 2021 | 23 | MLB MLE | 3 teams | — | 430 | 388 | 89 | 13 | 1 | 17 | 33 | 119 | 6 | 0 | 0 | 229 | 298 | 399 | 698 | 170 | 281 | 28 | 8 | 307 | 94 | — | — | — | — | — | — |
| 2022 | 24 | MLB MLE | 2 teams | — | 427 | 383 | 106 | 17 | 1 | 20 | 40 | 116 | 1 | 2 | 0 | 277 | 346 | 483 | 829 | 206 | 344 | 27 | 9 | 362 | 131 | — | — | — | — | — | — |
| 2023 | 25 | MLB MLE | Milwaukee Brewers | — | 611 | 540 | 159 | 41 | 1 | 16 | 61 | 126 | 5 | 6 | 1 | 294 | 370 | 463 | 833 | 169 | 348 | 21 | 10 | 368 | 135 | — | — | — | — | — | — |
| 2024 | 26 | MLB MLE | Milwaukee Brewers | — | 679 | 598 | 170 | 40 | 2 | 22 | 73 | 139 | 3 | 9 | 2 | 284 | 364 | 468 | 832 | 184 | 330 | 20 | 11 | 366 | 134 | — | — | — | — | — | — |
| 2025 | 27 | MLB MLE | Milwaukee Brewers | — | 659 | 571 | 149 | 30 | 0 | 16 | 80 | 120 | 3 | 6 | 4 | 261 | 355 | 398 | 753 | 137 | 299 | 18 | 12 | 338 | 115 | — | — | — | — | — | — |
| 2026 | 28 | MLB MLE | Milwaukee Brewers | — | 640 | 576 | 155 | 29 | 1 | 17 | 55 | 94 | 4 | 1 | 2 | 269 | 339 | 411 | 751 | 142 | 292 | 15 | 9 | 333 | 111 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 26 | MLB MLE | Milwaukee Brewers | — | 679 | 598 | 170 | 40 | 2 | 22 | 73 | 139 | 3 | 9 | 2 | 284 | 364 | 468 | 832 | 184 | 330 | 20 | 11 | 366 | 134 | — | — | — | — | — | — |
| 2025 | 27 | MLB MLE | Milwaukee Brewers | — | 659 | 571 | 149 | 30 | 0 | 16 | 80 | 120 | 3 | 6 | 4 | 261 | 355 | 398 | 753 | 137 | 299 | 18 | 12 | 338 | 115 | — | — | — | — | — | — |
| 2026 | 28 | MLB MLE | Milwaukee Brewers | — | 640 | 576 | 155 | 29 | 1 | 17 | 55 | 94 | 4 | 1 | 2 | 269 | 339 | 411 | 751 | 142 | 292 | 15 | 9 | 333 | 111 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 29 | MLB MLE | MIL | 100% | 606 | 536 | 144 | 29 | 1 | 18 | 62 | 103 | 3 | 4 | 1 | 268 | 347 | 425 | 773 | 157 | 300 | 17 | 10 | 344 | 119 | +13 | +0 | +1 | +11 | +13 | 3.1 |
| ▸ 2027 — real world (MLB) | |||||||||||||||||||||||||||||||
| 2027 | 29 | MLB CTX | MIL | 100% | 445 | 394 | 105 | 20 | 1 | 14 | 45 | 76 | 3 | 3 | 1 | 265 | 345 | 424 | 769 | 158 | 295 | 17 | 10 | 342 | 119 | +10 | +0 | +1 | +8 | +10 | 2.9 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 30 | MLB MLE | MIL | 100% | 445 | 395 | 105 | 21 | 1 | 13 | 45 | 77 | 2 | 2 | 1 | 265 | 344 | 417 | 760 | 152 | 298 | 17 | 10 | 339 | 115 | +8 | +0 | -1 | +8 | +10 | 2.5 |
| 2029 | 31 | MLB MLE | MIL | 100% | 426 | 378 | 99 | 20 | 0 | 12 | 43 | 76 | 2 | 1 | 0 | 260 | 338 | 405 | 744 | 146 | 295 | 18 | 10 | 332 | 111 | +5 | +0 | -2 | +8 | +9 | 2.1 |
| 2030 | 32 | MLB MLE | MIL | 100% | 407 | 362 | 91 | 18 | 0 | 10 | 40 | 74 | 2 | 1 | 0 | 253 | 331 | 391 | 722 | 137 | 290 | 18 | 10 | 323 | 105 | +2 | +0 | -3 | +7 | +9 | 1.6 |
| 2031 | 33 | MLB MLE | MIL | 100% | 387 | 345 | 84 | 16 | 0 | 9 | 38 | 73 | 1 | 1 | 0 | 245 | 322 | 373 | 695 | 128 | 283 | 19 | 10 | 312 | 98 | -1 | +0 | -3 | +7 | +8 | 1.1 |
| 2032 | 34 | MLB MLE | MIL | 100% | 363 | 324 | 76 | 14 | 0 | 8 | 35 | 71 | 1 | 1 | 0 | 235 | 311 | 352 | 663 | 116 | 275 | 20 | 10 | 299 | 89 | -5 | +0 | -4 | +6 | +8 | 0.6 |
| 2033 | 35 | MLB MLE | MIL | 100% | 284 | 254 | 58 | 10 | 0 | 6 | 27 | 58 | 1 | 0 | 0 | 224 | 299 | 329 | 628 | 105 | 266 | 20 | 10 | 285 | 79 | -7 | +0 | -5 | +5 | +6 | -0.1 |
| 2028 | 30 | MLB CTX | MIL | 100% | 445 | 395 | 103 | 19 | 1 | 13 | 45 | 77 | 2 | 2 | 1 | 262 | 341 | 415 | 756 | 153 | 293 | 17 | 10 | 337 | 115 | +8 | +0 | -1 | +8 | +10 | 2.5 |
| 2029 | 31 | MLB CTX | MIL | 100% | 426 | 378 | 96 | 18 | 0 | 12 | 43 | 76 | 2 | 1 | 0 | 257 | 336 | 404 | 740 | 147 | 290 | 18 | 10 | 330 | 111 | +5 | +0 | -2 | +8 | +9 | 2.1 |
| 2030 | 32 | MLB CTX | MIL | 100% | 407 | 362 | 91 | 17 | 0 | 11 | 40 | 74 | 2 | 1 | 0 | 251 | 329 | 389 | 718 | 139 | 285 | 18 | 10 | 322 | 105 | +2 | +0 | -3 | +7 | +9 | 1.6 |
| 2031 | 33 | MLB CTX | MIL | 100% | 387 | 345 | 84 | 15 | 0 | 10 | 38 | 73 | 1 | 1 | 0 | 243 | 320 | 371 | 691 | 129 | 279 | 19 | 10 | 311 | 98 | -1 | +0 | -3 | +7 | +8 | 1.1 |
| 2032 | 34 | MLB CTX | MIL | 100% | 363 | 324 | 75 | 13 | 0 | 8 | 35 | 71 | 1 | 1 | 0 | 233 | 309 | 350 | 659 | 117 | 271 | 20 | 10 | 298 | 89 | -5 | +0 | -4 | +6 | +8 | 0.6 |
| 2033 | 35 | MLB CTX | MIL | 100% | 284 | 254 | 56 | 9 | 0 | 6 | 27 | 58 | 1 | 0 | 0 | 222 | 297 | 328 | 625 | 106 | 262 | 20 | 10 | 284 | 79 | -7 | +0 | -5 | +5 | +6 | -0.1 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 5462 | 4822 | 1256 | 239 | 7 | 163 | 572 | 1066 | 27 | 30 | 10 | 260 | 342 | 414 | 757 | 154 | 301 | 20 | 10 | 338 | 104 | +99 | +2 | +20 | +103 | +118 | 34.9 | |
| / 162G | — | A+C | — | 650 | 574 | 149 | 28 | 1 | 19 | 68 | 127 | 3 | 4 | 1 | 260 | 341 | 411 | 752 | 152 | 301 | 20 | 10 | 338 | 104 | +12 | +0 | +2 | +12 | +14 | 4.2 | |
| Career | — | MLE | — | 7520 | 6730 | 1716 | 343 | 12 | 198 | 689 | 1546 | 48 | 37 | 15 | 255 | 329 | 398 | 726 | 143 | 302 | 21 | 9 | 322 | 104 | +109 | +2 | +21 | +111 | +128 | 37.8 | |
| / 162G | — | MLE | — | 650 | 582 | 149 | 30 | 1 | 17 | 60 | 134 | 4 | 3 | 1 | 256 | 330 | 399 | 729 | 143 | 303 | 21 | 9 | 322 | 104 | +12 | +0 | +2 | +12 | +14 | 4.2 | |
How the minor-league lines were translated
One row per minor-league stint. Open a row to see each step: the raw rate, the park adjustment, the league/level factor, the age adjustment (hitters) and the resulting MLE rate. Factors are the same ones listed on the MLE Factors page.
2022 AAAGwinnett Stripers · 51 PAwOBA .304 → .266 (−38)K% 19.6% → 23.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.61% | ÷1.002 | ×1.200 | — | — | 23.49% |
| BB% (unintentional) /PA | 5.88% | ÷0.998 | ×0.690 | — | ×1.033 | 4.20% |
| HBP% /PA | 0.00% | — | ×0.940 | — | ×1.033 | 0.00% |
| Singles /BIP | 28.95% | ÷1.018 | ×0.930 | — | ×1.033 | 27.33% |
| Doubles /BIP | 7.89% | ÷0.966 | ×0.830 | — | ×1.033 | 7.01% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.970 | — | ×1.033 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.981 | ×0.700 | — | ×1.033 | 0.00% |
Factors used: league row International League. Park (home-season share, regressed): HR 96, 1B 104, 2B 93, 3B 130, K 100, BB 100 — applied at half strength. Age: age 25 vs a level average of 27.2 → +3.3% on BB/HBP/hit rates (2.2 yr younger than average).
Result: wOBA .304 → .266; ISO .062 → .054; BABIP .368 → .343. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2021 AAAGwinnett Stripers · 171 PAwOBA .373 → .304 (−69)K% 21.1% → 25.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.05% | ÷0.975 | ×1.200 | — | — | 25.90% |
| BB% (unintentional) /PA | 7.60% | ÷1.014 | ×0.690 | — | ×1.048 | 5.42% |
| HBP% /PA | 1.75% | — | ×0.940 | — | ×1.048 | 1.73% |
| Singles /BIP | 23.53% | ÷1.011 | ×0.930 | ×0.993 | ×1.048 | 22.53% |
| Doubles /BIP | 6.72% | ÷1.039 | ×0.830 | ×0.993 | ×1.048 | 5.59% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.920 | ×0.993 | ×1.048 | 0.00% |
| Home runs /BIP | 7.56% | ÷1.001 | ×0.700 | — | ×1.048 | 5.55% |
Factors used: level-wide AAA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 102, 2B 108, 3B 130, K 95, BB 103 — applied at half strength. Age: age 24 vs a level average of 27.2 → +4.8% on BB/HBP/hit rates (3.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.993.
Result: wOBA .373 → .304; ISO .226 → .164; BABIP .327 → .298. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2019 AAMississippi Braves · 209 PAwOBA .288 → .243 (−45)K% 19.1% → 23.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.14% | ÷0.975 | ×1.220 | — | — | 23.94% |
| BB% (unintentional) /PA | 7.18% | ÷0.967 | ×0.680 | — | ×1.042 | 5.26% |
| HBP% /PA | 0.96% | — | ×0.840 | — | ×1.042 | 0.84% |
| Singles /BIP | 23.18% | ÷1.068 | ×0.920 | ×0.950 | ×1.042 | 19.76% |
| Doubles /BIP | 5.96% | ÷0.906 | ×0.910 | ×0.950 | ×1.042 | 5.92% |
| Triples /BIP | 0.00% | ÷0.900 | ×0.880 | ×0.950 | ×1.042 | 0.00% |
| Home runs /BIP | 1.99% | ÷0.900 | ×0.800 | — | ×1.042 | 1.84% |
Factors used: league row SL. Park (home-season share, regressed): HR 80, 1B 114, 2B 81, 3B 80, K 95, BB 93 — applied at half strength. Age: age 22 vs a level average of 24.8 → +4.2% on BB/HBP/hit rates (2.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .288 → .243; ISO .094 → .088; BABIP .295 → .260. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2019 A+Florida Fire Frogs · 207 PAwOBA .302 → .242 (−59)K% 21.3% → 29.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.26% | ÷1.036 | ×1.420 | — | — | 29.12% |
| BB% (unintentional) /PA | 5.80% | ÷1.057 | ×0.750 | — | ×1.012 | 4.16% |
| HBP% /PA | 1.45% | — | ×0.930 | — | ×1.012 | 1.36% |
| Singles /BIP | 24.66% | ÷1.005 | ×0.920 | ×0.950 | ×1.012 | 21.70% |
| Doubles /BIP | 7.53% | ÷1.115 | ×0.960 | ×0.950 | ×1.012 | 6.23% |
| Triples /BIP | 0.00% | ÷1.033 | ×0.810 | ×0.950 | ×1.012 | 0.00% |
| Home runs /BIP | 2.05% | ÷0.920 | ×0.880 | — | ×1.012 | 1.99% |
Factors used: league row FSL. Park (home-season share, regressed): HR 84, 1B 101, 2B 123, 3B 107, K 107, BB 111 — applied at half strength. Age: age 22 vs a level average of 22.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .302 → .242; ISO .105 → .087; BABIP .329 → .285. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2018 ARome Braves · 342 PAwOBA .357 → .296 (−61)K% 21.3% → 30.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.35% | ÷0.952 | ×1.340 | — | — | 30.03% |
| BB% (unintentional) /PA | 8.48% | ÷0.995 | ×0.660 | — | ×1.015 | 5.71% |
| HBP% /PA | 1.17% | — | ×0.770 | — | ×1.015 | 0.91% |
| Singles /BIP | 26.07% | ÷0.983 | ×0.920 | ×1.020 | ×1.015 | 25.25% |
| Doubles /BIP | 7.26% | ÷1.031 | ×0.820 | ×1.020 | ×1.015 | 5.98% |
| Triples /BIP | 0.43% | ÷0.990 | ×0.940 | ×1.020 | ×1.015 | 0.42% |
| Home runs /BIP | 4.70% | ÷0.880 | ×0.820 | — | ×1.015 | 4.45% |
Factors used: league row SAL. Park (home-season share, regressed): HR 76, 1B 97, 2B 106, 3B 98, K 90, BB 99 — applied at half strength. Age: age 21 vs a level average of 22.0 → +1.5% on BB/HBP/hit rates (1.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.020.
Result: wOBA .357 → .296; ISO .169 → .142; BABIP .351 → .328. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2018 A+Florida Fire Frogs · 90 PAwOBA .283 → .241 (−42)K% 17.8% → 26.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.78% | ÷0.960 | ×1.420 | — | — | 26.30% |
| BB% (unintentional) /PA | 6.67% | ÷1.017 | ×0.750 | — | ×1.027 | 5.05% |
| HBP% /PA | 0.00% | — | ×0.930 | — | ×1.027 | 0.00% |
| Singles /BIP | 20.90% | ÷0.949 | ×0.920 | ×0.966 | ×1.027 | 20.09% |
| Doubles /BIP | 10.45% | ÷1.037 | ×0.960 | ×0.966 | ×1.027 | 9.60% |
| Triples /BIP | 0.00% | ÷1.026 | ×0.810 | ×0.966 | ×1.027 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.974 | ×0.880 | — | ×1.027 | 0.00% |
Factors used: league row FSL. Park (home-season share, regressed): HR 95, 1B 90, 2B 107, 3B 105, K 92, BB 103 — applied at half strength. Age: age 21 vs a level average of 22.8 → +2.7% on BB/HBP/hit rates (1.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.966.
Result: wOBA .283 → .241; ISO .084 → .071; BABIP .309 → .292. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2017 ROKDanville Braves · 198 PAwOBA .359 → .270 (−89)K% 15.2% → 21.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.15% | ÷1.000 | ×1.420 | — | — | 21.52% |
| BB% (unintentional) /PA | 12.12% | ÷1.000 | ×0.640 | — | ×0.995 | 7.72% |
| HBP% /PA | 1.01% | — | ×0.740 | — | ×0.995 | 0.74% |
| Singles /BIP | 24.46% | ÷1.000 | ×0.840 | ×0.983 | ×0.995 | 20.10% |
| Doubles /BIP | 7.19% | ÷1.000 | ×0.740 | ×0.983 | ×0.995 | 5.21% |
| Triples /BIP | 0.72% | ÷1.000 | ×0.740 | ×0.983 | ×0.995 | 0.52% |
| Home runs /BIP | 2.88% | ÷1.000 | ×0.800 | — | ×0.995 | 2.29% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 20 vs a level average of 19.5 → −0.5% on BB/HBP/hit rates (0.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.983.
Result: wOBA .359 → .270; ISO .142 → .108; BABIP .326 → .259. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
2016 ROKGCL Braves · 82 PAwOBA .316 → .239 (−77)K% 18.3% → 26.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.29% | ÷1.000 | ×1.440 | — | — | 26.34% |
| BB% (unintentional) /PA | 8.54% | ÷1.000 | ×0.620 | — | ×1.008 | 5.33% |
| HBP% /PA | 2.44% | — | ×0.720 | — | ×1.008 | 1.77% |
| Singles /BIP | 22.81% | ÷1.000 | ×0.820 | ×1.050 | ×1.008 | 19.78% |
| Doubles /BIP | 8.77% | ÷1.000 | ×0.720 | ×1.050 | ×1.008 | 6.68% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.720 | ×1.050 | ×1.008 | 0.00% |
| Home runs /BIP | 1.75% | ÷1.000 | ×0.780 | — | ×1.008 | 1.38% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 19 vs a level average of 19.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .316 → .239; ISO .111 → .082; BABIP .321 → .268. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).
Not traceable per stint: some stints lack the counting stats the component translation needs. Level-wide factors that apply instead — .