Bryce Windham
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2022 | 25 | AATennessee Smo… | 304 | .202/.324/.289 | 4 | 2 | 51 | — | .184/.274/.256 |
| 2023 | 26 | AAACHC | 217 | .290/.374/.376 | 1 | 4 | 80 | — | .258/.318/.330 |
| 2024 | 27 | AAACHC | 260 | .260/.339/.379 | 2 | 10 | 70 | — | .231/.291/.325 |
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.
| 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) | |||||||||||||||||||||||||||||||
| 2019 | 22 | ROK | AZL Cubs 2 | — | 148 | 117 | 38 | 9 | 1 | 0 | 30 | 19 | 0 | 3 | 1 | 325 | 463 | 419 | 881 | 94 | 384 | 13 | 20 | 402 | 80 | — | — | — | — | — | — |
| 2021 | 24 | A+ | South Bend Cubs | — | 204 | 176 | 48 | 9 | 2 | 3 | 24 | 28 | 1 | 3 | 1 | 273 | 363 | 398 | 761 | 125 | 306 | 14 | 12 | 340 | 73 | — | — | — | — | — | — |
| 2022 | 25 | AA | Tennessee Smokies | — | 304 | 253 | 51 | 10 | 0 | 4 | 44 | 44 | 2 | 2 | 1 | 202 | 324 | 289 | 613 | 87 | 227 | 14 | 14 | 286 | 51 | — | — | — | — | — | — |
| 2023 | 26 | AAA | Iowa Cubs | — | 217 | 186 | 54 | 9 | 2 | 1 | 25 | 41 | 0 | 4 | 2 | 290 | 374 | 376 | 751 | 86 | 358 | 19 | 12 | 333 | 80 | — | — | — | — | — | — |
| 2024 | 27 | AAA | Iowa Cubs | — | 260 | 227 | 59 | 17 | 2 | 2 | 26 | 55 | 1 | 10 | 0 | 260 | 339 | 379 | 717 | 119 | 333 | 21 | 10 | 317 | 70 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2019 | 22 | ROK MLE | AZL Cubs 2 | — | 148 | 129 | 31 | 7 | 1 | 0 | 18 | 27 | 0 | 3 | 1 | 240 | 333 | 310 | 643 | 70 | 294 | 18 | 12 | 287 | 80 | — | — | — | — | — | — |
| 2021 | 24 | A+ MLE | South Bend Cubs | — | 204 | 183 | 42 | 7 | 1 | 3 | 17 | 37 | 1 | 3 | 1 | 230 | 299 | 328 | 626 | 98 | 265 | 18 | 8 | 276 | 73 | — | — | — | — | — | — |
| 2022 | 25 | AA MLE | Tennessee Smokies | — | 304 | 266 | 49 | 10 | 0 | 3 | 31 | 56 | 2 | 2 | 1 | 184 | 274 | 256 | 530 | 71 | 215 | 18 | 10 | 244 | 51 | — | — | — | — | — | — |
| 2023 | 26 | AAA MLE | Iowa Cubs | — | 217 | 194 | 50 | 7 | 2 | 1 | 17 | 48 | 0 | 4 | 2 | 258 | 318 | 330 | 647 | 72 | 318 | 22 | 8 | 286 | 80 | — | — | — | — | — | — |
| 2024 | 27 | AAA MLE | Iowa Cubs | — | 260 | 234 | 54 | 15 | 2 | 1 | 19 | 66 | 1 | 10 | 0 | 231 | 291 | 325 | 616 | 94 | 307 | 25 | 7 | 271 | 70 | — | — | — | — | — | — |
| 2019 | 22 | ROK MLE | AZL Cubs 2 | — | 148 | 129 | 31 | 7 | 1 | 0 | 18 | 27 | 0 | 3 | 1 | 240 | 333 | 310 | 643 | 70 | 301 | 18 | 12 | 287 | 80 | — | — | — | — | — | — |
| 2019 | 22 | ROK RAW | AZL Cubs 2 | — | 148 | 117 | 38 | 9 | 1 | 0 | 30 | 19 | 0 | 3 | 1 | 325 | 463 | 419 | 881 | 94 | 384 | 13 | 20 | 402 | 80 | — | — | — | — | — | — |
| 2021 | 24 | A+ MLE | South Bend Cubs | — | 204 | 183 | 42 | 7 | 1 | 3 | 17 | 37 | 1 | 3 | 1 | 230 | 299 | 328 | 626 | 98 | 269 | 18 | 8 | 276 | 73 | — | — | — | — | — | — |
| 2021 | 24 | A+ RAW | South Bend Cubs | — | 204 | 176 | 48 | 9 | 2 | 3 | 24 | 28 | 1 | 3 | 1 | 273 | 363 | 398 | 761 | 125 | 306 | 14 | 12 | 340 | 73 | — | — | — | — | — | — |
| 2022 | 25 | AA MLE | Tennessee Smokies | — | 304 | 266 | 49 | 10 | 0 | 3 | 31 | 56 | 2 | 2 | 1 | 184 | 274 | 256 | 530 | 71 | 220 | 18 | 10 | 244 | 51 | — | — | — | — | — | — |
| 2022 | 25 | AA RAW | Tennessee Smokies | — | 304 | 253 | 51 | 10 | 0 | 4 | 44 | 44 | 2 | 2 | 1 | 202 | 324 | 289 | 613 | 87 | 227 | 14 | 14 | 286 | 51 | — | — | — | — | — | — |
| 2023 | 26 | AAA MLE | Iowa Cubs | — | 217 | 194 | 50 | 7 | 2 | 1 | 17 | 48 | 0 | 4 | 2 | 258 | 318 | 330 | 647 | 72 | 329 | 22 | 8 | 286 | 80 | — | — | — | — | — | — |
| 2023 | 26 | AAA RAW | Iowa Cubs | — | 217 | 186 | 54 | 9 | 2 | 1 | 25 | 41 | 0 | 4 | 2 | 290 | 374 | 376 | 751 | 86 | 358 | 19 | 12 | 333 | 80 | — | — | — | — | — | — |
| 2024 | 27 | AAA MLE | Iowa Cubs | — | 260 | 234 | 54 | 15 | 2 | 1 | 19 | 66 | 1 | 10 | 0 | 231 | 291 | 325 | 616 | 94 | 315 | 25 | 7 | 271 | 70 | — | — | — | — | — | — |
| 2024 | 27 | AAA RAW | Iowa Cubs | — | 260 | 227 | 59 | 17 | 2 | 2 | 26 | 55 | 1 | 10 | 0 | 260 | 339 | 379 | 717 | 119 | 333 | 21 | 10 | 317 | 70 | — | — | — | — | — | — |
| 2019 | 22 | ROK MLE | AZL Cubs 2 | — | 148 | 129 | 31 | 7 | 1 | 0 | 18 | 27 | 0 | 3 | 1 | 240 | 333 | 310 | 643 | 70 | 294 | 18 | 12 | 287 | 80 | — | — | — | — | — | — |
| 2021 | 24 | A+ MLE | South Bend Cubs | — | 204 | 184 | 42 | 7 | 1 | 3 | 17 | 37 | 1 | 3 | 1 | 228 | 299 | 326 | 625 | 98 | 265 | 18 | 8 | 276 | 73 | — | — | — | — | — | — |
| 2022 | 25 | AA MLE | Tennessee Smokies | — | 304 | 268 | 49 | 10 | 0 | 3 | 31 | 56 | 2 | 2 | 1 | 183 | 274 | 254 | 528 | 71 | 215 | 18 | 10 | 244 | 51 | — | — | — | — | — | — |
| 2023 | 26 | AAA MLE | Iowa Cubs | — | 217 | 198 | 50 | 7 | 2 | 1 | 17 | 48 | 0 | 4 | 2 | 253 | 318 | 323 | 641 | 71 | 318 | 22 | 8 | 286 | 80 | — | — | — | — | — | — |
| 2024 | 27 | AAA MLE | Iowa Cubs | — | 260 | 238 | 54 | 15 | 2 | 1 | 19 | 66 | 1 | 10 | 0 | 227 | 291 | 319 | 611 | 92 | 307 | 25 | 7 | 271 | 70 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 27 | AAA MLE | Iowa Cubs | — | 260 | 238 | 54 | 15 | 2 | 1 | 19 | 66 | 1 | 10 | 0 | 227 | 291 | 319 | 611 | 92 | 307 | 25 | 7 | 271 | 70 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1133 | 1006 | 226 | 46 | 6 | 8 | 102 | 234 | 4 | 22 | 5 | 225 | 299 | 306 | 605 | 82 | 282 | 21 | 9 | 270 | 69 | -42 | +2 | +0 | +4 | +25 | -1.2 | |
| / 162G | — | MLE | — | 650 | 577 | 129 | 26 | 3 | 5 | 59 | 134 | 2 | 13 | 3 | 224 | 298 | 305 | 603 | 81 | 279 | 21 | 9 | 270 | 69 | -24 | +1 | +0 | +2 | +14 | -0.7 | |
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.
2024 AAAIowa Cubs · 260 PAwOBA .310 → .271 (−40)K% 21.2% → 25.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.15% | ÷0.998 | ×1.200 | — | — | 25.45% |
| BB% (unintentional) /PA | 10.00% | ÷0.949 | ×0.690 | — | ×0.992 | 7.22% |
| HBP% /PA | 0.38% | — | ×0.940 | — | ×0.992 | 0.36% |
| Singles /BIP | 22.09% | ÷0.994 | ×0.930 | ×1.019 | ×0.992 | 20.91% |
| Doubles /BIP | 9.88% | ÷0.962 | ×0.830 | ×1.019 | ×0.992 | 8.63% |
| Triples /BIP | 1.16% | ÷1.000 | ×0.970 | ×1.019 | ×0.992 | 1.14% |
| Home runs /BIP | 1.16% | ÷1.079 | ×0.700 | — | ×0.992 | 0.75% |
Factors used: league row International League. Park (home-season share, regressed): HR 116, 1B 99, 2B 92, 3B 100, K 100, BB 90 — applied at half strength. Age: age 28 vs a level average of 27.2 → −0.8% on BB/HBP/hit rates (0.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.019.
Result: wOBA .310 → .271; ISO .119 → .101; BABIP .333 → .307. 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).
2023 AAAIowa Cubs · 217 PAwOBA .331 → .286 (−45)K% 18.9% → 22.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.89% | ÷1.019 | ×1.200 | — | — | 22.25% |
| BB% (unintentional) /PA | 11.52% | ÷1.014 | ×0.690 | — | ×1.003 | 7.86% |
| HBP% /PA | 0.00% | — | ×0.940 | — | ×1.003 | 0.00% |
| Singles /BIP | 28.97% | ÷1.025 | ×0.930 | ×0.992 | ×1.003 | 26.17% |
| Doubles /BIP | 6.21% | ÷1.049 | ×0.830 | ×0.992 | ×1.003 | 4.89% |
| Triples /BIP | 1.38% | ÷0.916 | ×0.970 | ×0.992 | ×1.003 | 1.45% |
| Home runs /BIP | 0.69% | ÷0.965 | ×0.700 | — | ×1.003 | 0.50% |
Factors used: league row International League. Park (home-season share, regressed): HR 93, 1B 105, 2B 110, 3B 83, K 104, BB 103 — applied at half strength. Age: age 27 vs a level average of 27.2 → +0.3% on BB/HBP/hit rates (0.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.992.
Result: wOBA .331 → .286; ISO .086 → .076; BABIP .358 → .318. 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).
2022 AATennessee Smokies · 304 PAwOBA .281 → .244 (−37)K% 14.5% → 18.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 14.47% | ÷0.958 | ×1.220 | — | — | 18.44% |
| BB% (unintentional) /PA | 14.47% | ÷0.940 | ×0.680 | — | ×0.988 | 10.35% |
| HBP% /PA | 0.66% | — | ×0.840 | — | ×0.988 | 0.55% |
| Singles /BIP | 17.70% | ÷0.982 | ×0.920 | ×1.019 | ×0.988 | 16.71% |
| Doubles /BIP | 4.78% | ÷0.929 | ×0.910 | ×1.019 | ×0.988 | 4.72% |
| Triples /BIP | 0.00% | ÷0.973 | ×0.880 | ×1.019 | ×0.988 | 0.00% |
| Home runs /BIP | 1.91% | ÷1.010 | ×0.800 | — | ×0.988 | 1.50% |
Factors used: league row SL. Park (home-season share, regressed): HR 102, 1B 96, 2B 86, 3B 95, K 92, BB 88 — applied at half strength. Age: age 26 vs a level average of 24.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.019.
Result: wOBA .281 → .244; ISO .087 → .078; BABIP .227 → .215. 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 A+South Bend Cubs · 204 PAwOBA .334 → .276 (−58)K% 13.7% → 18.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.73% | ÷1.012 | ×1.350 | — | — | 18.31% |
| BB% (unintentional) /PA | 11.76% | ÷0.968 | ×0.710 | — | ×0.978 | 8.44% |
| HBP% /PA | 0.49% | — | ×0.810 | — | ×0.978 | 0.39% |
| Singles /BIP | 22.97% | ÷0.990 | ×0.910 | ×1.009 | ×0.978 | 20.84% |
| Doubles /BIP | 6.08% | ÷1.080 | ×0.830 | ×1.009 | ×0.978 | 4.61% |
| Triples /BIP | 1.35% | ÷1.150 | ×0.820 | ×1.009 | ×0.978 | 0.95% |
| Home runs /BIP | 2.03% | ÷0.928 | ×0.830 | — | ×0.978 | 1.77% |
Factors used: level-wide A+ factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 86, 1B 98, 2B 116, 3B 130, K 102, BB 94 — applied at half strength. Age: age 25 vs a level average of 22.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.009.
Result: wOBA .334 → .276; ISO .125 → .100; BABIP .306 → .265. 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 ROKAZL Cubs 2 · 148 PAwOBA .395 → .287 (−109)K% 12.8% → 18.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.84% | ÷1.000 | ×1.440 | — | — | 18.49% |
| BB% (unintentional) /PA | 20.27% | ÷1.000 | ×0.620 | — | ×0.965 | 12.13% |
| HBP% /PA | 0.00% | — | ×0.720 | — | ×0.965 | 0.00% |
| Singles /BIP | 28.57% | ÷1.000 | ×0.820 | — | ×0.965 | 22.61% |
| Doubles /BIP | 9.18% | ÷1.000 | ×0.720 | — | ×0.965 | 6.38% |
| Triples /BIP | 1.02% | ÷1.000 | ×0.720 | — | ×0.965 | 0.71% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×0.965 | 0.00% |
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 23 vs a level average of 19.5 → −3.5% on BB/HBP/hit rates (3.5 yr older than average).
Result: wOBA .395 → .287; ISO .094 → .068; BABIP .384 → .294. 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).