Nolan Perry

P Vancouver Canadians
Age 23 RHP 6'2" / 195 lbs A+ Svc 0.0 · Ctrl thru 2034 peak 1.1 · 2029
Overview
A+PROSPECTMiLBFA 2035
OGV OFP45OGV rank#47ETA2028MLB%12%
YearAgeLvl / TeamGGSIPERAFIPK%BB%WARMLE rates
202319ROKTOR94387.283.0528.3%8.9%—K 19.3% · BB 11.1% · FIP 4.58
202420ATOR1414462.933.7327.5%18.8%—K 20.4% · BB 22.2% · FIP 4.88
202622MIX3 levels2120832.502.5336.0%9.8%—K 27.9% · BB 11.1% · FIP 3.62
2027PROJ23MLBTOR22114.224.2227.9%11.8%0.2
2028PROJ55% MLB24MLBTOR1010574.134.0627.9%10.6%0.9
2029PROJ76% MLB25MLBTOR1515854.053.9827.8%9.9%1.4
Next 3 projected WAR 2.5Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2034Service0.0First FA2035
2027MiLB2028MiLB2029Pre-Arb$0.8M2030Pre-Arb$0.8M2031Pre-Arb$0.9M2032Arb-1$4M2033Arb-2$5M2034Arb-3$5M
Career WAR0.0 WAR median (P10 -0.4 / P90 15, comp-based) · star 2% · didn't stick 75%
CompsDavid Festa (age 23) · Brody McCullough (age 23) · Sam Benschoter (age 24)
2027 FULL-SEASON PROJECTIONrates below = full-season projection
showingPROJ
wRC+ AGAINSTvL 113105vR 97
ERA4.22
FIP4.22
K%27.9%
BB%11.8%
K-BB%16.1%
Proj IP90
Value2027 · WAR
Runs saved vs league avg · 90 IP
K: +0.9 runs (Runs saved by strikeouts vs lg-avg K%)+1KBB: -0.8 runs (Runs saved by walk suppression vs lg-avg BB%)-1BBCONTACT: -0.6 runs (Runs saved on contact quality (HR suppression) vs lg)-1CONTACTSTAM: +10.1 runs (Replacement credit for innings volume)+10STAMTotal WAR: +1.02 (90 IP)+1.0WAR
0.01.12.20.20.91.41.71.71.61.31.127282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit━ post-control+$62M ctrl surplus
Contract
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2029
Service   0 yrs (est)
Team Control Through   2034
First FA Year   2035
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2029
2028MiLBstill in minors · estimated debut 2029
2029Pre-Arb$0.8M+1.4$10M+$9M
2030Pre-Arb$0.8M+1.7$11M+$10M
2031Pre-Arb$0.9M+1.7$10M+$9M
2032Arb-1$4M+1.6$9M+$7M
2033Arb-2$5M+1.3$7M+$4M
2034Arb-3$5M+1.1$5M+$3M
Totals $17M $51M +$42M

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)
202319ROK MLEFCL Blue Jays94381805116444%4.319.3%11.1%8.2%3.1%7.284.58—
202319ROK RAWFCL Blue Jays94381805116444%4.328.3%8.9%19.4%2.2%7.283.05—
202420A MLEDunedin Blue Jays14144620757392100%3.320.4%22.2%-1.9%1.3%2.934.88—
202420A MLEDunedin Blue Jays14144620757392100%3.320.4%22.2%-1.9%1.3%2.934.88—
202420A RAWDunedin Blue Jays14144620757392100%3.327.5%18.8%8.7%1.0%2.933.73—
202622MIX MLE3 levels21208332511732795%3.927.9%11.1%16.8%2.7%2.503.62—
202622MIX MLE3 levels21208332511732795%3.927.9%11.1%16.8%2.7%2.503.62—
202622MIX RAW3 levels21208332511732795%3.936.0%9.8%26.2%2.2%2.502.53—
▸ 2027 season — projected remainder (no 2027 stats recorded)
202723MLBTOR2211461351100%5.527.9%11.8%16.1%2.9%4.224.22+0.2
▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%)
202824MLB MLETOR19191044391224713100%5.527.9%10.6%17.3%2.9%4.134.06+1.7
202925MLB MLETOR19191124741324714100%5.927.8%9.9%17.9%2.9%4.053.98+1.9
203026MLB MLETOR20201195031404915100%6.027.8%9.8%18.0%2.9%4.003.97+2.0
203127MLB MLETOR19191164911354814100%6.127.6%9.8%17.8%3.0%4.014.01+1.9
203228MLB MLETOR19191124711294714100%5.927.5%10.0%17.5%3.1%4.064.10+1.7
203329MLB MLETOR17171054421204514100%6.227.2%10.2%17.0%3.2%4.164.23+1.4
203430MLB MLETOR1616954031084214100%6.026.9%10.5%16.4%3.4%4.314.40+1.1
203531MLB MLETOR141485360953913100%6.126.5%10.8%15.6%3.6%4.494.61+0.8
203632MLB MLETOR121275316823512100%6.226.0%11.2%14.8%3.9%4.704.83+0.5
203733MLB MLETOR111165273703211100%5.925.5%11.7%13.9%4.2%4.935.08+0.2
202824MLB CTXTOR10105724167267100%5.727.9%10.6%17.3%2.9%4.134.06+0.9
202925MLB CTXTOR1515853591003610100%5.727.8%9.9%17.9%2.9%4.053.98+1.4
203026MLB CTXTOR17171024311204212100%6.027.8%9.8%18.0%2.9%4.003.97+1.7
203127MLB CTXTOR18181054431224313100%5.827.6%9.8%17.8%3.0%4.014.01+1.7
203228MLB CTXTOR17171034351194313100%6.127.5%10.0%17.5%3.1%4.064.10+1.6
203329MLB CTXTOR1616974101124213100%6.127.2%10.2%17.0%3.2%4.164.23+1.3
203430MLB CTXTOR1515913841034013100%6.126.9%10.5%16.4%3.4%4.314.40+1.1
203531MLB CTXTOR141481342913712100%5.826.5%10.8%15.6%3.6%4.494.61+0.7
203632MLB CTXTOR121271300783412100%5.926.0%11.2%14.8%3.9%4.704.83+0.5
203733MLB CTXTOR101061258663011100%6.125.5%11.7%13.9%4.2%4.935.08+0.2
▸ Career totals — MLB only (actual + projected)
Career— RAW1431438543604978373117100%6.027.1%10.4%16.8%3.3%4.243.91+15.3
/ 200 IP— RAW34342008442298727100%6.027.1%10.4%16.8%3.3%4.243.91+3.6
Career— MLE44381677121681021786%3.823.5%14.4%9.2%2.4%3.724.23+13.2
/ 200 IP— MLE53462008532011222086%3.823.5%14.4%9.2%2.4%3.724.23+2.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+Vancouver Canadians · 31 IPFIP 2.43 → 3.63 (+1.20)K% 36.5% → 28.1%
ComponentRawPark ÷Level factor ×= MLE
K% /BF36.51%—×0.77028.11%
BB% (unintentional) /BF8.73%—×1.15010.04%
HR / BF /BF2.38%÷1.000×1.2502.98%

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 2.43 → 3.63, 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).

2026 AANew Hampshire Fisher Cats · 31 IPFIP 3.31 → 4.26 (+0.95)K% 32.2% → 26.1%
ComponentRawPark ÷Level factor ×= MLE
K% /BF32.23%—×0.81026.11%
BB% (unintentional) /BF12.40%—×1.10013.64%
HR / BF /BF2.48%÷1.000×1.2002.98%

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 100).

Result: FIP 3.31 → 4.26, 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).

2026 ADunedin Blue Jays · 21 IPFIP 1.31 → 2.60 (+1.29)K% 41.0% → 30.4%
ComponentRawPark ÷Level factor ×= MLE
K% /BF41.03%—×0.74030.36%
BB% (unintentional) /BF7.69%—×1.1809.08%
HR / BF /BF1.28%÷1.000×1.3001.67%

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 100).

Result: FIP 1.31 → 2.60, 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 ADunedin Blue Jays · 46 IPFIP 3.69 → 4.88 (+1.19)K% 27.5% → 20.4%
ComponentRawPark ÷Level factor ×= MLE
K% /BF27.54%—×0.74020.38%
BB% (unintentional) /BF18.84%—×1.18022.23%
HR / BF /BF0.97%÷1.003×1.3001.25%

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 101).

Result: FIP 3.69 → 4.88, 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 ROKFCL Blue Jays · 38 IPFIP 3.05 → 4.58 (+1.53)K% 28.3% → 19.3%
ComponentRawPark ÷Level factor ×= MLE
K% /BF28.33%—×0.68019.27%
BB% (unintentional) /BF8.89%—×1.25011.11%
HR / BF /BF2.22%÷1.005×1.4003.10%

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 101).

Result: FIP 3.05 → 4.58, 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 PROJECTION5.49827.3%10.5%1.244.23
Brad Peacock ('21)2.89324.7%10.1%1.274.11
Juan Berenguer ('78-'92, 9 WAR*)6.010026.4%*11.6%*1.13*4.14*
Rich Hill ('25)7.110123.9%9.2%1.124.02
Wayne Twitchell ('70-'79, 4 WAR*)5.313324.2%*11.3%*1.16*4.56*
Dick Selma ('65-'74, 6 WAR*)4.29324.5%*11.1%*1.12*4.28*
Dinelson Lamet ('24)1.86129.9%10.7%1.304.63