Angel Perdomo
P Salt Lake Bees| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 29 | MIX2 levels | 50 | 0 | 52 | 3.48 | 2.69 | 36.9% | 11.2% | 1.1 | K 34.6% · BB 10.5% · FIP 2.85 |
| 2025 | 31 | MIX2 levels | 16 | 0 | 18 | 5.50 | 6.99 | 17.9% | 19.0% | -0.5 | K 16.4% · BB 17.2% · FIP 6.89 |
| 2026 | 32 | AAALAA | 10 | 0 | 12 | 12.00 | 7.85 | 16.7% | 19.4% | — | K 14.3% · BB 17.5% · FIP 6.62 |
| 2027PROJ | 33 | MLBLAA | 14 | 0 | 15 | 5.54 | 5.64 | 20.4% | 14.4% | -0.2 | |
| 2028PROJ6% MLB | 34 | MLBLAA | 5 | 0 | 5 | 5.64 | 5.80 | 19.6% | 14.3% | -0.1 | |
| 2029PROJMLE | 35 | MLBLAA | 1 | 0 | 1 | 5.83 | 6.02 | 18.8% | 14.3% | -0.0 |
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) | |||||||||||||||||||
| 2015 | 21 | ROK MLE | Bluefield Blue Jays | 9 | 9 | 48 | 200 | 36 | 14 | 3 | 100% | 5.3 | 12.2% | 8.8% | 3.5% | 2.1% | 2.62 | 4.33 | — |
| 2015 | 21 | ROK RAW | Bluefield Blue Jays | 9 | 9 | 48 | 200 | 36 | 14 | 3 | 100% | 5.3 | 18.0% | 7.0% | 11.0% | 1.5% | 2.62 | 3.29 | — |
| 2016 | 22 | A MLE | Lansing Lugnuts | 27 | 25 | 127 | 536 | 156 | 54 | 4 | 93% | 4.7 | 21.5% | 11.9% | 9.6% | 1.0% | 3.19 | 3.34 | — |
| 2016 | 22 | A RAW | Lansing Lugnuts | 27 | 25 | 127 | 536 | 156 | 54 | 4 | 93% | 4.7 | 29.1% | 10.1% | 19.0% | 0.7% | 3.19 | 2.33 | — |
| 2017 | 23 | A+ MLE | Dunedin Blue Jays | 16 | 16 | 75 | 341 | 65 | 43 | 7 | 100% | 4.7 | 14.7% | 14.5% | 0.2% | 2.0% | 3.70 | 4.81 | — |
| 2017 | 23 | A+ RAW | Dunedin Blue Jays | 16 | 16 | 75 | 341 | 65 | 43 | 7 | 100% | 4.7 | 19.1% | 12.6% | 6.5% | 2.1% | 3.70 | 4.29 | — |
| 2018 | 24 | A+ MLE | Dunedin Blue Jays | 26 | 12 | 79 | 340 | 100 | 35 | 5 | 46% | 3.1 | 22.6% | 11.8% | 10.8% | 1.6% | 3.63 | 3.57 | — |
| 2018 | 24 | A+ RAW | Dunedin Blue Jays | 26 | 12 | 79 | 340 | 100 | 35 | 5 | 46% | 3.1 | 29.4% | 10.3% | 19.1% | 1.5% | 3.63 | 2.72 | — |
| 2019 | 25 | MIX MLE | 2 levels | 47 | 0 | 69 | 306 | 107 | 45 | 8 | 0% | 1.5 | 30.3% | 15.6% | 14.7% | 2.9% | 4.28 | 4.13 | — |
| 2019 | 25 | MIX RAW | 2 levels | 47 | 0 | 69 | 306 | 107 | 45 | 8 | 0% | 1.5 | 35.0% | 14.7% | 20.3% | 2.6% | 4.28 | 3.46 | — |
| 2020 | 26 | MLB MLE | Milwaukee Brewers | 3 | 0 | 3 | 19 | 5 | 6 | 0 | 0% | 0.9 | 26.3% | 31.6% | -5.3% | 0.0% | 20.25 | 4.88 | -0.0 |
| 2020 | 26 | MLB RAW | Milwaukee Brewers | 3 | 0 | 3 | 19 | 5 | 6 | 0 | 0% | 0.9 | 26.3% | 31.6% | -5.3% | 0.0% | 20.25 | 6.10 | -0.0 |
| 2021 | 27 | MIX MLE | 2 levels | 33 | 1 | 31 | 131 | 53 | 18 | 5 | 3% | 0.9 | 38.2% | 13.9% | 24.3% | 3.8% | 4.06 | 3.74 | +0.3 |
| 2021 | 27 | MIX RAW | 2 levels | 33 | 1 | 31 | 131 | 53 | 18 | 5 | 3% | 0.9 | 40.5% | 13.7% | 26.7% | 3.8% | 4.06 | 3.52 | +0.4 |
| 2022 | 28 | MIX MLE | 2 levels | 26 | 2 | 34 | 139 | 56 | 18 | 2 | 8% | 1.3 | 35.3% | 14.3% | 21.0% | 1.6% | 1.85 | 2.82 | — |
| 2022 | 28 | MIX RAW | 2 levels | 26 | 2 | 34 | 139 | 56 | 18 | 2 | 8% | 1.3 | 40.3% | 12.9% | 27.3% | 1.4% | 1.85 | 2.16 | — |
| 2023 | 29 | MIX MLE | 2 levels | 50 | 0 | 52 | 214 | 79 | 24 | 5 | 0% | 1.0 | 34.6% | 10.5% | 24.2% | 2.5% | 3.48 | 2.85 | +1.1 |
| 2023 | 29 | MIX RAW | 2 levels | 50 | 0 | 52 | 214 | 79 | 24 | 5 | 0% | 1.0 | 36.9% | 11.2% | 25.7% | 2.3% | 3.48 | 2.69 | +1.1 |
| 2025 | 31 | MIX MLE | 2 levels | 16 | 0 | 18 | 84 | 15 | 16 | 4 | 0% | 1.1 | 16.4% | 17.2% | -0.8% | 5.5% | 5.50 | 6.89 | -0.5 |
| 2025 | 31 | MIX MLE | 2 levels | 16 | 0 | 18 | 84 | 15 | 16 | 4 | 0% | 1.1 | 16.4% | 17.2% | -0.8% | 5.5% | 5.50 | 6.89 | -0.5 |
| 2025 | 31 | MIX RAW | 2 levels | 16 | 0 | 18 | 84 | 15 | 16 | 4 | 0% | 1.1 | 17.9% | 19.0% | -1.2% | 4.8% | 5.50 | 6.99 | -0.5 |
| 2026 | 32 | AAA MLE | Salt Lake Bees | 10 | 0 | 12 | 72 | 12 | 14 | 3 | 0% | 1.2 | 14.3% | 17.5% | -3.2% | 4.6% | 12.00 | 6.62 | — |
| 2026 | 32 | AAA MLE | Salt Lake Bees | 10 | 0 | 12 | 72 | 12 | 14 | 3 | 0% | 1.2 | 14.3% | 17.5% | -3.2% | 4.6% | 12.00 | 6.62 | — |
| 2026 | 32 | AAA RAW | Salt Lake Bees | 10 | 0 | 12 | 72 | 12 | 14 | 3 | 0% | 1.2 | 16.7% | 19.4% | -2.8% | 4.2% | 12.00 | 7.85 | — |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 56 | 0 | 52 | 231 | 79 | 31 | 7 | 0% | 0.9 | 34.2% | 13.4% | 20.8% | 3.0% | 5.54 | 3.60 | +0.6 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 33 | MLB | LAA | 14 | 0 | 15 | 63 | 13 | 9 | 2 | 0% | 1.1 | 20.4% | 14.4% | 5.9% | 3.7% | 5.54 | 5.64 | -0.2 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 34 | MLB MLE | LAA | 95 | 0 | 99 | 420 | 82 | 60 | 17 | 0% | 1.0 | 19.6% | 14.3% | 5.4% | 4.0% | 5.64 | 5.80 | -1.3 |
| 2029 | 35 | MLB MLE | LAA | 72 | 0 | 75 | 318 | 60 | 46 | 13 | 0% | 1.0 | 18.8% | 14.3% | 4.5% | 4.2% | 5.83 | 6.02 | -1.1 |
| 2028 | 34 | MLB CTX | LAA | 5 | 0 | 5 | 21 | 4 | 3 | 1 | 0% | 1.0 | 19.6% | 14.3% | 5.4% | 4.0% | 5.64 | 5.80 | -0.1 |
| 2029 | 35 | MLB CTX | LAA | 1 | 0 | 1 | 4 | 1 | 1 | 0 | 0% | 1.0 | 18.8% | 14.3% | 4.5% | 4.2% | 5.83 | 6.02 | -0.0 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 62 | 0 | 58 | 257 | 84 | 35 | 8 | 0% | 0.9 | 32.7% | 13.5% | 19.2% | 3.1% | 5.55 | 3.77 | +0.5 | |
| / 200 IP | — | RAW | 213 | 0 | 200 | 884 | 289 | 120 | 27 | 0% | 0.9 | 32.7% | 13.5% | 19.2% | 3.1% | 5.55 | 3.77 | +1.9 | |
| Career | — | MLE | 263 | 65 | 548 | 2382 | 562 | 312 | 51 | 25% | 2.1 | 23.6% | 13.1% | 10.5% | 2.2% | 3.76 | 3.95 | -2.1 | |
| / 200 IP | — | MLE | 96 | 24 | 200 | 869 | 205 | 114 | 19 | 25% | 2.1 | 23.6% | 13.1% | 10.5% | 2.2% | 3.76 | 3.95 | -1.9 | |
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 AAASalt Lake Bees · 12 IPFIP 6.44 → 6.62 (+0.18)K% 16.7% → 14.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 16.67% | — | ×0.860 | 14.33% |
| BB% (unintentional) /BF | 19.44% | — | ×0.900 | 17.50% |
| HR / BF /BF | 4.17% | ÷1.000 | ×1.100 | 4.58% |
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 6.44 → 6.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).
2025 AAALas Vegas Aviators · 15 IPFIP 7.14 → 6.89 (−0.24)K% 19.1% → 16.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 19.12% | — | ×0.860 | 16.44% |
| BB% (unintentional) /BF | 19.12% | — | ×0.900 | 17.21% |
| HR / BF /BF | 5.88% | ÷1.183 | ×1.100 | 5.47% |
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 137).
Result: FIP 7.14 → 6.89, 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 AAAIndianapolis Indians · 23 IPFIP 3.27 → 3.50 (+0.22)K% 36.1% → 31.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 36.08% | — | ×0.860 | 31.03% |
| BB% (unintentional) /BF | 16.49% | — | ×0.900 | 14.85% |
| HR / BF /BF | 2.06% | ÷1.095 | ×1.100 | 2.07% |
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 119).
Result: FIP 3.27 → 3.50, 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 AAADurham Bulls · 32 IPFIP 2.27 → 2.82 (+0.55)K% 40.2% → 35.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 40.15% | — | ×0.880 | 35.33% |
| BB% (unintentional) /BF | 13.64% | — | ×1.050 | 14.32% |
| HR / BF /BF | 1.52% | ÷1.034 | ×1.100 | 1.61% |
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 107).
Result: FIP 2.27 → 2.82, 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 AAANashville Sounds · 14 IPFIP 1.07 → 1.82 (+0.75)K% 48.1% → 42.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 48.08% | — | ×0.880 | 42.31% |
| BB% (unintentional) /BF | 7.69% | — | ×1.050 | 8.08% |
| HR / BF /BF | 1.92% | ÷0.915 | ×1.100 | 2.31% |
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 83).
Result: FIP 1.07 → 1.82, 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 AAASan Antonio Missions · 54 IPFIP 3.84 → 4.52 (+0.68)K% 35.1% → 30.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 35.10% | — | ×0.880 | 30.89% |
| BB% (unintentional) /BF | 15.10% | — | ×1.050 | 15.86% |
| HR / BF /BF | 3.27% | ÷0.977 | ×1.100 | 3.68% |
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 95).
Result: FIP 3.84 → 4.52, 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 AABiloxi Shuckers · 15 IPFIP 1.85 → 2.57 (+0.72)K% 34.4% → 27.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 34.43% | — | ×0.810 | 27.89% |
| BB% (unintentional) /BF | 13.11% | — | ×1.100 | 14.43% |
| HR / BF /BF | 0.00% | ÷1.018 | ×1.200 | 0.00% |
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 104).
Result: FIP 1.85 → 2.57, 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 A+Dunedin Blue Jays · 79 IPFIP 2.73 → 3.57 (+0.84)K% 29.4% → 22.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 29.41% | — | ×0.770 | 22.65% |
| BB% (unintentional) /BF | 10.29% | — | ×1.150 | 11.84% |
| HR / BF /BF | 1.47% | ÷1.147 | ×1.250 | 1.60% |
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 129).
Result: FIP 2.73 → 3.57, 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 | 1.9 | 93 | 21.8% | 14.6% | 1.47 | 5.62 |
| Doug Creek ('05) | 1.4 | 58 | 22.2% | 15.1% | 1.52 | 5.32 |
| Paul Spoljaric ('00) | 1.4 | 69 | 22.1% | 12.9% | 1.33 | 5.52 |
| Britt Reames ('06) | 1.1 | 73 | 20.7% | 12.0% | 1.32 | 5.28 |
| Dan Warthen ('75-'78, 1 WAR*) | 1.5 | 102 | 24.8%* | 14.2%* | 1.27* | 4.86* |
| Tim Conroy ('78-'87, -3 WAR*) | 2.3 | 78 | 20.8%* | 13.6%* | 1.12* | 5.23* |
| Frank LaCorte ('75-'84, -4 WAR*) | 2.5 | 61 | 25.0%* | 12.0%* | 1.43* | 5.83* |