Brandon Woodruff
P Milwaukee Brewers| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 30 | MIX3 levels | 14 | 14 | 79 | 2.40 | 3.07 | 28.6% | 5.7% | 2.3 | K 29.2% · BB 5.9% · FIP 3.24 |
| 2025 | 32 | MIX3 levels | 22 | 22 | 107 | 3.04 | 2.96 | 27.6% | 6.1% | 3.2 | K 26.2% · BB 6.0% · FIP 3.01 |
| 2026 | 33 | MIX3 levels | 11 | 11 | 54 | 3.48 | 3.06 | 27.4% | 5.7% | 1.6 | K 27.0% · BB 5.2% · FIP 2.98 |
| 2027PROJ | 34 | MLBMIL | 9 | 9 | 54 | 3.38 | 3.50 | 27.2% | 5.7% | 1.3 | |
| 2028PROJ | 35 | MLBMIL | 8 | 8 | 49 | 3.74 | 3.92 | 26.2% | 6.3% | 0.9 | |
| 2029PROJ | 36 | MLBMIL | 7 | 7 | 43 | 4.08 | 4.30 | 25.2% | 6.9% | 0.6 |
Statcast · Contract
Career Stats + Projections
Methodology▸ how WAR & MLE are computed
Stats are park-neutral MLB equivalents. The "TEAM" column shows current org affiliation only — we do NOT project at that team's park.
Rates (K%, BB%, HR-BF) are park-stripped; MiLB stat lines are translated to their MLB-equivalent via per-level MLE factors.
WAR is computed from projected runs prevented vs a replacement pitcher (the marginal arm a team would call up if this pitcher were unavailable) — calibrated to the standard WAR scale.
| Year | Age | Lvl | Team | G | GS | IP | BF | K | BB | HR | GS% | IP/G | K% | BB% | K-BB% | HR% | ERA | FIP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per year (as recorded, no adjustments) | |||||||||||||||||||
| ▸ Career — adjusted (each season translated to a park/league-neutral MLB-equivalent line; levels combined per year) | |||||||||||||||||||
| ▸ Model inputs — neutral MLE (past 3 seasons + 2027 so far) | |||||||||||||||||||
| 2015 | 22 | A+ MLE | Brevard County Manatees | 21 | 19 | 110 | 457 | 71 | 33 | 2 | 90% | 5.2 | 12.0% | 8.3% | 3.7% | 0.6% | 3.45 | 3.48 | — |
| 2015 | 22 | A+ RAW | Brevard County Manatees | 21 | 19 | 110 | 457 | 71 | 33 | 2 | 90% | 5.2 | 15.5% | 7.2% | 8.3% | 0.4% | 3.45 | 2.94 | — |
| 2016 | 23 | MIX MLE | 2 levels | 28 | 28 | 158 | 633 | 173 | 40 | 6 | 100% | 5.6 | 21.8% | 7.0% | 14.8% | 1.0% | 2.68 | 2.68 | — |
| 2016 | 23 | MIX RAW | 2 levels | 28 | 28 | 158 | 633 | 173 | 40 | 6 | 100% | 5.6 | 27.3% | 6.3% | 21.0% | 0.9% | 2.68 | 2.16 | — |
| 2017 | 24 | MIX MLE | 3 levels | 25 | 25 | 120 | 518 | 103 | 38 | 13 | 100% | 4.8 | 18.4% | 7.5% | 10.9% | 2.8% | 4.49 | 4.03 | +2.0 |
| 2017 | 24 | MIX RAW | 3 levels | 25 | 25 | 120 | 518 | 103 | 38 | 13 | 100% | 4.8 | 19.9% | 7.3% | 12.5% | 2.5% | 4.49 | 3.74 | +2.4 |
| 2018 | 25 | MIX MLE | 2 levels | 36 | 21 | 114 | 486 | 115 | 46 | 12 | 58% | 3.2 | 22.0% | 9.8% | 12.2% | 2.4% | 3.88 | 3.80 | +2.2 |
| 2018 | 25 | MIX RAW | 2 levels | 36 | 21 | 114 | 486 | 115 | 46 | 12 | 58% | 3.2 | 23.7% | 9.5% | 14.2% | 2.5% | 3.88 | 3.66 | +2.4 |
| 2019 | 26 | MLB MLE | Milwaukee Brewers | 22 | 22 | 122 | 493 | 143 | 30 | 12 | 100% | 5.5 | 29.0% | 6.1% | 22.9% | 2.3% | 3.62 | 2.69 | +4.2 |
| 2019 | 26 | MLB RAW | Milwaukee Brewers | 22 | 22 | 122 | 493 | 143 | 30 | 12 | 100% | 5.5 | 29.0% | 6.1% | 22.9% | 2.4% | 3.62 | 2.77 | +4.1 |
| 2020 | 27 | MLB MLE | Milwaukee Brewers | 13 | 13 | 74 | 293 | 91 | 18 | 9 | 100% | 5.7 | 31.1% | 6.1% | 24.9% | 2.9% | 3.05 | 2.86 | +2.4 |
| 2020 | 27 | MLB RAW | Milwaukee Brewers | 13 | 13 | 74 | 293 | 91 | 18 | 9 | 100% | 5.7 | 31.1% | 6.1% | 24.9% | 3.1% | 3.05 | 2.95 | +2.3 |
| 2021 | 28 | MLB MLE | Milwaukee Brewers | 30 | 30 | 179 | 708 | 211 | 43 | 18 | 100% | 6.0 | 29.8% | 6.1% | 23.7% | 2.4% | 2.56 | 2.68 | +6.3 |
| 2021 | 28 | MLB RAW | Milwaukee Brewers | 30 | 30 | 179 | 708 | 211 | 43 | 18 | 100% | 6.0 | 29.8% | 6.1% | 23.7% | 2.5% | 2.56 | 2.77 | +6.0 |
| 2022 | 29 | MIX MLE | 3 levels | 29 | 29 | 161 | 649 | 204 | 44 | 19 | 100% | 5.6 | 30.6% | 6.8% | 23.9% | 2.8% | 3.02 | 2.89 | +5.1 |
| 2022 | 29 | MIX RAW | 3 levels | 29 | 29 | 161 | 649 | 204 | 44 | 19 | 100% | 5.6 | 31.4% | 6.8% | 24.7% | 2.9% | 3.02 | 2.92 | +5.0 |
| 2023 | 30 | MIX MLE | 3 levels | 14 | 14 | 79 | 297 | 85 | 17 | 9 | 100% | 5.6 | 29.2% | 5.9% | 23.3% | 3.4% | 2.40 | 3.24 | +2.1 |
| 2023 | 30 | MIX RAW | 3 levels | 14 | 14 | 79 | 297 | 85 | 17 | 9 | 100% | 5.6 | 28.6% | 5.7% | 22.9% | 3.0% | 2.40 | 3.07 | +2.3 |
| 2025 | 32 | MIX MLE | 3 levels | 22 | 22 | 107 | 427 | 118 | 26 | 11 | 100% | 4.8 | 26.2% | 6.0% | 20.2% | 2.5% | 3.04 | 3.01 | +3.2 |
| 2025 | 32 | MIX MLE | 3 levels | 22 | 22 | 107 | 427 | 118 | 26 | 11 | 100% | 4.8 | 26.2% | 6.0% | 20.2% | 2.5% | 3.04 | 3.01 | +3.2 |
| 2025 | 32 | MIX RAW | 3 levels | 22 | 22 | 107 | 427 | 118 | 26 | 11 | 100% | 4.8 | 27.6% | 6.1% | 21.5% | 2.6% | 3.04 | 2.96 | +3.2 |
| 2026 | 33 | MIX MLE | 3 levels | 11 | 11 | 54 | 212 | 58 | 12 | 6 | 100% | 4.9 | 27.0% | 5.2% | 21.8% | 2.7% | 3.48 | 2.98 | +1.6 |
| 2026 | 33 | MIX MLE | 3 levels | 11 | 11 | 54 | 212 | 58 | 12 | 6 | 100% | 4.9 | 27.0% | 5.2% | 21.8% | 2.7% | 3.48 | 2.98 | +1.6 |
| 2026 | 33 | MIX RAW | 3 levels | 11 | 11 | 54 | 212 | 58 | 12 | 6 | 100% | 4.9 | 27.4% | 5.7% | 21.7% | 2.8% | 3.48 | 3.06 | +1.6 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 151 | 136 | 790 | 3158 | 918 | 198 | 89 | 90% | 5.2 | 29.1% | 6.3% | 22.8% | 2.8% | 3.10 | 2.99 | +23.8 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 34 | MLB | MIL | 9 | 9 | 54 | 228 | 62 | 13 | 7 | 100% | 6.0 | 27.2% | 5.7% | 21.5% | 2.9% | 3.38 | 3.50 | +1.3 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 35 | MLB MLE | MIL | 8 | 8 | 49 | 206 | 54 | 13 | 7 | 100% | 6.1 | 26.2% | 6.3% | 20.0% | 3.2% | 3.65 | 3.83 | +0.9 |
| 2029 | 36 | MLB MLE | MIL | 7 | 7 | 43 | 183 | 46 | 13 | 7 | 100% | 6.2 | 25.2% | 6.9% | 18.4% | 3.6% | 3.98 | 4.20 | +0.6 |
| 2028 | 35 | MLB CTX | MIL | 8 | 8 | 49 | 207 | 54 | 13 | 7 | 100% | 6.1 | 26.2% | 6.3% | 20.0% | 3.4% | 3.74 | 3.92 | +0.9 |
| 2029 | 36 | MLB CTX | MIL | 7 | 7 | 43 | 182 | 46 | 12 | 7 | 100% | 6.1 | 25.2% | 6.9% | 18.4% | 3.8% | 4.08 | 4.30 | +0.6 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 166 | 151 | 883 | 3547 | 1018 | 223 | 103 | 91% | 5.3 | 28.7% | 6.3% | 22.4% | 2.9% | 3.18 | 3.07 | +25.7 | |
| / 200 IP | — | RAW | 38 | 34 | 200 | 804 | 231 | 51 | 23 | 91% | 5.3 | 28.7% | 6.3% | 22.4% | 2.9% | 3.18 | 3.07 | +5.8 | |
| Career | — | MLE | 251 | 234 | 1277 | 5173 | 1295 | 358 | 117 | 93% | 5.1 | 25.0% | 6.9% | 18.1% | 2.3% | 3.21 | 3.10 | +25.2 | |
| / 200 IP | — | MLE | 39 | 37 | 200 | 810 | 203 | 56 | 18 | 93% | 5.1 | 25.0% | 6.9% | 18.1% | 2.3% | 3.21 | 3.10 | +5.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.
2026 A+Wisconsin Timber Rattlers · 5 IPFIP 3.90 → 5.20 (+1.30)K% 28.6% → 22.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 28.57% | — | ×0.770 | 22.00% |
| BB% (unintentional) /BF | 4.76% | — | ×1.150 | 5.48% |
| HR / BF /BF | 4.76% | ÷1.000 | ×1.250 | 5.95% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 100).
Result: FIP 3.90 → 5.20, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2025 AAANashville Sounds · 25 IPFIP 3.26 → 3.41 (+0.15)K% 21.7% → 18.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 21.70% | — | ×0.860 | 18.66% |
| BB% (unintentional) /BF | 7.55% | — | ×0.900 | 6.79% |
| HR / BF /BF | 1.89% | ÷1.111 | ×1.100 | 1.87% |
Factors used: pitcher AAA level factors (Triple-A 2023+ robo-zone set: walks improve on promotion) — K ×0.86, BB ×0.90, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 122).
Result: FIP 3.26 → 3.41, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2025 A+Wisconsin Timber Rattlers · 17 IPFIP 2.31 → 2.79 (+0.48)K% 18.8% → 14.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 18.75% | — | ×0.770 | 14.44% |
| BB% (unintentional) /BF | 6.25% | — | ×1.150 | 7.19% |
| HR / BF /BF | 0.00% | ÷1.246 | ×1.250 | 0.00% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 149).
Result: FIP 2.31 → 2.79, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2023 A+Wisconsin Timber Rattlers · 7 IPFIP 0.74 → 1.28 (+0.54)K% 28.0% → 21.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 28.00% | — | ×0.770 | 21.56% |
| BB% (unintentional) /BF | 0.00% | — | ×1.150 | 0.00% |
| HR / BF /BF | 0.00% | ÷1.033 | ×1.250 | 0.00% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 107).
Result: FIP 0.74 → 1.28, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2018 AAAColorado Springs Sky Sox · 71 IPFIP 3.97 → 4.23 (+0.26)K% 21.9% → 19.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 21.94% | — | ×0.880 | 19.30% |
| BB% (unintentional) /BF | 10.32% | — | ×1.050 | 10.84% |
| HR / BF /BF | 2.58% | ÷1.124 | ×1.100 | 2.52% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 125).
Result: FIP 3.97 → 4.23, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2017 AAAColorado Springs Sky Sox · 75 IPFIP 3.57 → 4.08 (+0.51)K% 21.5% → 19.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 21.54% | — | ×0.880 | 18.95% |
| BB% (unintentional) /BF | 7.38% | — | ×1.050 | 7.75% |
| HR / BF /BF | 2.46% | ÷0.933 | ×1.100 | 2.90% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 87).
Result: FIP 3.57 → 4.08, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2016 AABiloxi Shuckers · 114 IPFIP 2.12 → 2.62 (+0.50)K% 27.1% → 22.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 27.13% | — | ×0.810 | 21.98% |
| BB% (unintentional) /BF | 6.56% | — | ×1.100 | 7.22% |
| HR / BF /BF | 0.88% | ÷1.243 | ×1.200 | 0.85% |
Factors used: pitcher AA level factors — K ×0.81, BB ×1.10, HR ×1.20. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 149).
Result: FIP 2.12 → 2.62, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2016 A+Brevard County Manatees · 44 IPFIP 2.09 → 2.83 (+0.74)K% 27.8% → 21.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 27.84% | — | ×0.770 | 21.44% |
| BB% (unintentional) /BF | 5.68% | — | ×1.150 | 6.53% |
| HR / BF /BF | 1.14% | ÷1.093 | ×1.250 | 1.30% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 119).
Result: FIP 2.09 → 2.83, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
Career Comps
Completed MLB careers (no pro action in 2+ yrs) whose totals — actual + projected — most resemble this player's. Pool: 2,161 pitcher careers (1,251 from 1990-2025 + 910 historical, 1901-2023), also matched on career-to-date at the same age. * Historical (Lahman) careers: rates era-adjusted to 2001-24 league levels; WAR is an OGILVIE proxy.
| Player | 162s | IP/yr | K% | BB% | HR/9 | ERA |
|---|---|---|---|---|---|---|
| OGILVIE CAREER PROJECTION | 4.7 | 78 | 28.6% | 6.3% | 1.12 | 3.18 |
| Bruce Sutter ('76-'88, 22 WAR*) | 5.2 | 95 | 28.5%* | 7.3%* | 1.12* | 3.14* |
| Julio Urías ('23) | 3.6 | 102 | 24.3% | 6.6% | 1.05 | 3.11 |
| Alejandro Peña ('81-'96, 15 WAR*) | 5.3 | 81 | 24.7%* | 7.5%* | 0.96* | 3.61* |
| Jeff Montgomery ('87-'99, 19 WAR*) | 4.3 | 72 | 26.2%* | 7.6%* | 1.01* | 3.16* |
| Eric Gagne ('08) | 3.2 | 80 | 27.0% | 8.5% | 1.06 | 3.47 |
| Sergio Romo ('22) | 3.6 | 52 | 27.0% | 6.1% | 1.06 | 3.21 |