Bradley Hanner
P Scranton/Wilkes-Barre RailRiders| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 25 | MIX2 levels | 44 | 0 | 56 | 2.91 | 2.96 | 27.5% | 10.0% | — | K 22.5% · BB 11.1% · FIP 3.47 |
| 2025 | 26 | AAACLE | 42 | 0 | 49 | 4.74 | 5.53 | 29.0% | 11.7% | — | K 24.9% · BB 10.5% · FIP 5.69 |
| 2026 | 27 | MIX2 levels | 51 | 0 | 65 | 3.06 | 3.16 | 28.0% | 9.6% | 1.1 | K 25.0% · BB 9.5% · FIP 2.70 |
| 2027PROJ | 28 | MLBNYY | 45 | 0 | 47 | 4.09 | 4.09 | 25.4% | 9.7% | 0.3 | |
| 2028PROJ76% MLB | 29 | MLBNYY | 42 | 0 | 44 | 4.19 | 4.24 | 24.9% | 9.9% | 0.2 | |
| 2029PROJ82% MLB | 30 | MLBNYY | 39 | 0 | 41 | 4.33 | 4.43 | 24.5% | 10.1% | 0.1 |
Grades · Contract
Contract
No contract data on file. Pre-MLB players and minor-league free agents do not yet have salary projections — entries are added at first 40-man roster placement.
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) | |||||||||||||||||||
| 2019 | 20 | ROK MLE | GCL Twins | 11 | 0 | 27 | 108 | 30 | 12 | 1 | 0% | 2.4 | 18.9% | 13.9% | 5.0% | 1.3% | 4.39 | 3.98 | — |
| 2019 | 20 | ROK RAW | GCL Twins | 11 | 0 | 27 | 108 | 30 | 12 | 1 | 0% | 2.4 | 27.8% | 11.1% | 16.7% | 0.9% | 4.39 | 2.69 | — |
| 2021 | 22 | A MLE | Fort Myers Mighty Mussels | 26 | 1 | 42 | 208 | 49 | 33 | 0 | 4% | 1.6 | 17.4% | 18.7% | -1.3% | 0.0% | 7.13 | 4.00 | — |
| 2021 | 22 | A RAW | Fort Myers Mighty Mussels | 26 | 1 | 42 | 208 | 49 | 33 | 0 | 4% | 1.6 | 23.6% | 15.9% | 7.7% | 0.0% | 7.13 | 3.12 | — |
| 2022 | 23 | A+ MLE | Cedar Rapids Kernels | 39 | 1 | 59 | 250 | 65 | 27 | 4 | 3% | 1.5 | 20.0% | 12.4% | 7.6% | 2.1% | 4.60 | 4.14 | — |
| 2022 | 23 | A+ RAW | Cedar Rapids Kernels | 39 | 1 | 59 | 250 | 65 | 27 | 4 | 3% | 1.5 | 26.0% | 10.8% | 15.2% | 1.6% | 4.60 | 3.15 | — |
| 2023 | 24 | AA MLE | Akron RubberDucks | 41 | 0 | 65 | 280 | 70 | 32 | 6 | 0% | 1.6 | 20.2% | 12.6% | 7.7% | 2.8% | 2.78 | 4.54 | — |
| 2023 | 24 | AA RAW | Akron RubberDucks | 41 | 0 | 65 | 280 | 70 | 32 | 6 | 0% | 1.6 | 25.0% | 11.4% | 13.6% | 2.1% | 2.78 | 3.63 | — |
| 2024 | 25 | MIX MLE | 2 levels | 44 | 0 | 56 | 240 | 66 | 24 | 4 | 0% | 1.3 | 22.5% | 11.1% | 11.4% | 1.6% | 2.91 | 3.47 | — |
| 2024 | 25 | MIX MLE | 2 levels | 44 | 0 | 56 | 240 | 66 | 24 | 4 | 0% | 1.3 | 22.5% | 11.1% | 11.4% | 1.6% | 2.91 | 3.47 | — |
| 2024 | 25 | MIX RAW | 2 levels | 44 | 0 | 56 | 240 | 66 | 24 | 4 | 0% | 1.3 | 27.5% | 10.0% | 17.5% | 1.7% | 2.91 | 2.96 | — |
| 2025 | 26 | AAA MLE | Columbus Clippers | 42 | 0 | 49 | 214 | 62 | 25 | 13 | 0% | 1.2 | 24.9% | 10.5% | 14.4% | 6.1% | 4.74 | 5.69 | — |
| 2025 | 26 | AAA MLE | Columbus Clippers | 42 | 0 | 49 | 214 | 62 | 25 | 13 | 0% | 1.2 | 24.9% | 10.5% | 14.4% | 6.1% | 4.74 | 5.69 | — |
| 2025 | 26 | AAA RAW | Columbus Clippers | 42 | 0 | 49 | 214 | 62 | 25 | 13 | 0% | 1.2 | 29.0% | 11.7% | 17.3% | 6.1% | 4.74 | 5.53 | — |
| 2026 | 27 | MIX MLE | 2 levels | 51 | 0 | 65 | 271 | 76 | 26 | 6 | 0% | 1.3 | 25.0% | 9.5% | 15.5% | 0.9% | 3.06 | 2.70 | +1.4 |
| 2026 | 27 | MIX MLE | 2 levels | 51 | 0 | 65 | 271 | 76 | 26 | 6 | 0% | 1.3 | 25.0% | 9.5% | 15.5% | 0.9% | 3.06 | 2.70 | +1.4 |
| 2026 | 27 | MIX RAW | 2 levels | 51 | 0 | 65 | 271 | 76 | 26 | 6 | 0% | 1.3 | 28.0% | 9.6% | 18.5% | 2.2% | 3.06 | 3.16 | +1.1 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 5 | 0 | 7 | 34 | 7 | 1 | 4 | 0% | 1.5 | 20.6% | 2.9% | 17.6% | 11.8% | 8.59 | 8.69 | -0.3 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 28 | MLB | NYY | 45 | 0 | 47 | 198 | 50 | 19 | 6 | 0% | 1.0 | 25.4% | 9.7% | 15.7% | 2.8% | 4.09 | 4.09 | +0.3 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 29 | MLB MLE | NYY | 55 | 0 | 58 | 244 | 61 | 24 | 7 | 0% | 1.1 | 24.9% | 9.9% | 15.1% | 2.9% | 4.19 | 4.24 | +0.2 |
| 2029 | 30 | MLB MLE | NYY | 48 | 0 | 50 | 211 | 52 | 21 | 7 | 0% | 1.0 | 24.5% | 10.1% | 14.4% | 3.2% | 4.33 | 4.43 | +0.1 |
| 2028 | 29 | MLB CTX | NYY | 42 | 0 | 44 | 186 | 46 | 18 | 5 | 0% | 1.0 | 24.9% | 9.9% | 15.1% | 2.9% | 4.19 | 4.24 | +0.2 |
| 2029 | 30 | MLB CTX | NYY | 39 | 0 | 41 | 173 | 42 | 18 | 5 | 0% | 1.1 | 24.5% | 10.1% | 14.4% | 3.2% | 4.33 | 4.43 | +0.1 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 86 | 0 | 93 | 394 | 96 | 37 | 15 | 0% | 1.1 | 24.4% | 9.4% | 15.0% | 3.8% | 4.60 | 4.32 | +0.3 | |
| / 200 IP | — | RAW | 186 | 0 | 200 | 851 | 207 | 80 | 32 | 0% | 1.1 | 24.4% | 9.4% | 15.0% | 3.8% | 4.60 | 4.32 | +0.5 | |
| Career | — | MLE | 254 | 2 | 361 | 1571 | 338 | 195 | 34 | 1% | 1.4 | 21.5% | 12.4% | 9.1% | 2.2% | 4.04 | 4.04 | -0.1 | |
| / 200 IP | — | MLE | 141 | 1 | 200 | 870 | 187 | 108 | 19 | 1% | 1.4 | 21.5% | 12.4% | 9.1% | 2.2% | 4.04 | 4.04 | -0.1 | |
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 AAAScranton/Wilkes-Barre RailRiders · 57 IPFIP 2.44 → 2.70 (+0.26)K% 29.1% → 25.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 29.11% | — | ×0.860 | 25.04% |
| BB% (unintentional) /BF | 10.55% | — | ×0.900 | 9.49% |
| HR / BF /BF | 0.84% | ÷1.000 | ×1.100 | 0.93% |
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 100).
Result: FIP 2.44 → 2.70, 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 AAAColumbus Clippers · 49 IPFIP 5.47 → 5.69 (+0.22)K% 29.0% → 24.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 28.97% | — | ×0.860 | 24.92% |
| BB% (unintentional) /BF | 11.68% | — | ×0.900 | 10.51% |
| HR / BF /BF | 6.07% | ÷1.093 | ×1.100 | 6.12% |
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 118).
Result: FIP 5.47 → 5.69, 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).
2024 AAAkron RubberDucks · 55 IPFIP 2.73 → 3.47 (+0.74)K% 27.7% → 22.5%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 27.73% | — | ×0.810 | 22.46% |
| BB% (unintentional) /BF | 10.08% | — | ×1.100 | 11.09% |
| HR / BF /BF | 1.26% | ÷0.966 | ×1.200 | 1.57% |
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 93).
Result: FIP 2.73 → 3.47, 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 AAAkron RubberDucks · 65 IPFIP 3.61 → 4.54 (+0.92)K% 25.0% → 20.2%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 25.00% | — | ×0.810 | 20.25% |
| BB% (unintentional) /BF | 11.43% | — | ×1.100 | 12.57% |
| HR / BF /BF | 2.14% | ÷0.909 | ×1.200 | 2.83% |
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 82).
Result: FIP 3.61 → 4.54, 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).
2022 A+Cedar Rapids Kernels · 59 IPFIP 3.15 → 4.14 (+0.99)K% 26.0% → 20.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 26.00% | — | ×0.770 | 20.02% |
| BB% (unintentional) /BF | 10.80% | — | ×1.150 | 12.42% |
| HR / BF /BF | 1.60% | ÷0.948 | ×1.250 | 2.11% |
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 90).
Result: FIP 3.15 → 4.14, 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).
2021 AFort Myers Mighty Mussels · 42 IPFIP 3.12 → 4.00 (+0.88)K% 23.6% → 17.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.56% | — | ×0.740 | 17.43% |
| BB% (unintentional) /BF | 15.87% | — | ×1.180 | 18.72% |
| HR / BF /BF | 0.00% | ÷0.908 | ×1.300 | 0.00% |
Factors used: pitcher A level factors — K ×0.74, BB ×1.18, HR ×1.30. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 82).
Result: FIP 3.12 → 4.00, 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).
2019 ROKGCL Twins · 27 IPFIP 2.67 → 3.98 (+1.31)K% 27.8% → 18.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 27.78% | — | ×0.680 | 18.89% |
| BB% (unintentional) /BF | 11.11% | — | ×1.250 | 13.89% |
| HR / BF /BF | 0.93% | ÷1.000 | ×1.400 | 1.30% |
Factors used: pitcher ROK level factors — K ×0.68, BB ×1.25, HR ×1.40. 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 2.67 → 3.98, 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: 1,234 reliever careers (754 from 1990-2025 + 480 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 | 0.9 | 62 | 24.8% | 9.6% | 1.28 | 4.37 |
| Noé Ramirez ('22) | 1.5 | 59 | 24.8% | 9.4% | 1.42 | 4.21 |
| Oliver Drake ('20) | 1.0 | 68 | 26.2% | 9.5% | 1.06 | 4.27 |
| Colin Poche ('25) | 1.1 | 54 | 26.7% | 10.2% | 1.32 | 4.01 |
| Buddy Schultz ('75-'79, 2 WAR*) | 1.2 | 60 | 27.4%* | 8.5%* | 1.21* | 4.14* |
| Mike Hartley ('89-'95, 2 WAR*) | 1.6 | 80 | 24.3%* | 9.9%* | 1.09* | 4.09* |
| Dave Baldwin ('66-'73, 2 WAR*) | 1.1 | 56 | 22.2%* | 9.2%* | 0.96* | 3.97* |