Angel Perdomo

P Salt Lake Bees
Age 33 LHP 6'8" / 265 lbs AAA
Overview
AAARP
YearAgeLvl / TeamGGSIPERAFIPK%BB%WARMLE rates
202329MIX2 levels500523.482.6936.9%11.2%1.1K 34.6% · BB 10.5% · FIP 2.85
202531MIX2 levels160185.506.9917.9%19.0%-0.5K 16.4% · BB 17.2% · FIP 6.89
202632AAALAA1001212.007.8516.7%19.4%—K 14.3% · BB 17.5% · FIP 6.62
2027PROJ33MLBLAA140155.545.6420.4%14.4%-0.2
2028PROJ6% MLB34MLBLAA5055.645.8019.6%14.3%-0.1
2029PROJMLE35MLBLAA1015.836.0218.8%14.3%-0.0
Last 3 seasons WAR 0.6  ·  Next 3 projected WAR -0.3Projected rows: MLB playing time only, park and league context applied.
Contract
No contract data on file.
Scouting grades · 20-80
Stuff66Control28Command68FB velo50
CompsDoug Creek (age 33) · Edgar Osuna (age 31) · Santiago Gutierrez (age 33)
2027 FULL-SEASON PROJECTIONrates below = full-season projection
showingPROJ
wRC+ AGAINSTvL 124132vR 140
ERA5.54
FIP5.64
K%20.4%
BB%14.4%
K-BB%5.9%
Proj IP147
Value2027 · WAR
Runs saved vs league avg · 147 IP
K: -2.3 runs (Runs saved by strikeouts vs lg-avg K%)-2KBB: -10.9 runs (Runs saved by walk suppression vs lg-avg BB%)-11BBCONTACT: -10.7 runs (Runs saved on contact quality (HR suppression) vs lg)-11CONTACTSTAM: +19.9 runs (Replacement credit for innings volume)+20STAMTotal WAR: -0.41 (147 IP)-0.4WAR
-1.8-0.10.0272829
Grades · Contract
Scouting Grades
STUF6565
CTRL3030
CMD7070
K†5050

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

Real MLB stats plus park-adjusted projections — this season (so far / rest / full), then future seasons and career totals.
basis chips: RAW = as recorded · CTX = with park/league context · A+C = actual + context combined · MLE = level/park-neutral
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.

YearAge LvlTeam GGSIPBF KBBHR GS%IP/G K%BB%K-BB%HR% ERAFIP 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)
201521ROK MLEBluefield Blue Jays994820036143100%5.312.2%8.8%3.5%2.1%2.624.33—
201521ROK RAWBluefield Blue Jays994820036143100%5.318.0%7.0%11.0%1.5%2.623.29—
201622A MLELansing Lugnuts272512753615654493%4.721.5%11.9%9.6%1.0%3.193.34—
201622A RAWLansing Lugnuts272512753615654493%4.729.1%10.1%19.0%0.7%3.192.33—
201723A+ MLEDunedin Blue Jays16167534165437100%4.714.7%14.5%0.2%2.0%3.704.81—
201723A+ RAWDunedin Blue Jays16167534165437100%4.719.1%12.6%6.5%2.1%3.704.29—
201824A+ MLEDunedin Blue Jays26127934010035546%3.122.6%11.8%10.8%1.6%3.633.57—
201824A+ RAWDunedin Blue Jays26127934010035546%3.129.4%10.3%19.1%1.5%3.632.72—
201925MIX MLE2 levels470693061074580%1.530.3%15.6%14.7%2.9%4.284.13—
201925MIX RAW2 levels470693061074580%1.535.0%14.7%20.3%2.6%4.283.46—
202026MLB MLEMilwaukee Brewers303195600%0.926.3%31.6%-5.3%0.0%20.254.88-0.0
202026MLB RAWMilwaukee Brewers303195600%0.926.3%31.6%-5.3%0.0%20.256.10-0.0
202127MIX MLE2 levels33131131531853%0.938.2%13.9%24.3%3.8%4.063.74+0.3
202127MIX RAW2 levels33131131531853%0.940.5%13.7%26.7%3.8%4.063.52+0.4
202228MIX MLE2 levels26234139561828%1.335.3%14.3%21.0%1.6%1.852.82—
202228MIX RAW2 levels26234139561828%1.340.3%12.9%27.3%1.4%1.852.16—
202329MIX MLE2 levels50052214792450%1.034.6%10.5%24.2%2.5%3.482.85+1.1
202329MIX RAW2 levels50052214792450%1.036.9%11.2%25.7%2.3%3.482.69+1.1
202531MIX MLE2 levels1601884151640%1.116.4%17.2%-0.8%5.5%5.506.89-0.5
202531MIX MLE2 levels1601884151640%1.116.4%17.2%-0.8%5.5%5.506.89-0.5
202531MIX RAW2 levels1601884151640%1.117.9%19.0%-1.2%4.8%5.506.99-0.5
202632AAA MLESalt Lake Bees1001272121430%1.214.3%17.5%-3.2%4.6%12.006.62—
202632AAA MLESalt Lake Bees1001272121430%1.214.3%17.5%-3.2%4.6%12.006.62—
202632AAA RAWSalt Lake Bees1001272121430%1.216.7%19.4%-2.8%4.2%12.007.85—
▸ Career totals (raw MLB only — as recorded)
MLB Career—56052231793170%0.934.2%13.4%20.8%3.0%5.543.60+0.6
▸ 2027 season — projected remainder (no 2027 stats recorded)
202733MLBLAA140156313920%1.120.4%14.4%5.9%3.7%5.545.64-0.2
▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%)
202834MLB MLELAA950994208260170%1.019.6%14.3%5.4%4.0%5.645.80-1.3
202935MLB MLELAA720753186046130%1.018.8%14.3%4.5%4.2%5.836.02-1.1
202834MLB CTXLAA505214310%1.019.6%14.3%5.4%4.0%5.645.80-0.1
202935MLB CTXLAA10141100%1.018.8%14.3%4.5%4.2%5.836.02-0.0
▸ Career totals — MLB only (actual + projected)
Career— RAW62058257843580%0.932.7%13.5%19.2%3.1%5.553.77+0.5
/ 200 IP— RAW2130200884289120270%0.932.7%13.5%19.2%3.1%5.553.77+1.9
Career— MLE2636554823825623125125%2.123.6%13.1%10.5%2.2%3.763.95-2.1
/ 200 IP— MLE96242008692051141925%2.123.6%13.1%10.5%2.2%3.763.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF16.67%—×0.86014.33%
BB% (unintentional) /BF19.44%—×0.90017.50%
HR / BF /BF4.17%÷1.000×1.1004.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF19.12%—×0.86016.44%
BB% (unintentional) /BF19.12%—×0.90017.21%
HR / BF /BF5.88%÷1.183×1.1005.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF36.08%—×0.86031.03%
BB% (unintentional) /BF16.49%—×0.90014.85%
HR / BF /BF2.06%÷1.095×1.1002.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF40.15%—×0.88035.33%
BB% (unintentional) /BF13.64%—×1.05014.32%
HR / BF /BF1.52%÷1.034×1.1001.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF48.08%—×0.88042.31%
BB% (unintentional) /BF7.69%—×1.0508.08%
HR / BF /BF1.92%÷0.915×1.1002.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF35.10%—×0.88030.89%
BB% (unintentional) /BF15.10%—×1.05015.86%
HR / BF /BF3.27%÷0.977×1.1003.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF34.43%—×0.81027.89%
BB% (unintentional) /BF13.11%—×1.10014.43%
HR / BF /BF0.00%÷1.018×1.2000.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%
ComponentRawPark ÷Level factor ×= MLE
K% /BF29.41%—×0.77022.65%
BB% (unintentional) /BF10.29%—×1.15011.84%
HR / BF /BF1.47%÷1.147×1.2501.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.

Player162sIP/yrK%BB%HR/9ERA
OGILVIE CAREER PROJECTION1.99321.8%14.6%1.475.62
Doug Creek ('05)1.45822.2%15.1%1.525.32
Paul Spoljaric ('00)1.46922.1%12.9%1.335.52
Britt Reames ('06)1.17320.7%12.0%1.325.28
Dan Warthen ('75-'78, 1 WAR*)1.510224.8%*14.2%*1.27*4.86*
Tim Conroy ('78-'87, -3 WAR*)2.37820.8%*13.6%*1.12*5.23*
Frank LaCorte ('75-'84, -4 WAR*)2.56125.0%*12.0%*1.43*5.83*