Garrett Pennington

1B West Michigan Whitecaps
Age 26 R/R 5'11" / 224 lbs A+ HR -8% Svc 0.0 · Ctrl thru 2036
Overview
A+PROSPECTMiLBFA 2037
OGV OFP35OGV rank#2156MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202423ADET37.250/.270/.4442042—.194/.216/.306
202524A+/ADET404.296/.367/.48812884—.240/.299/.403
202625AA/A+DET358.289/.360/.53718190—.236/.293/.426
2027PROJMLE26MLBDET1.238/.291/.40200970.0
2028PROJ26% MLB27MLBDET44.237/.291/.3991097-0.0
Next 2 projected WAR -0.0Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2036Service0.0First FA2037
2027MiLB2028MiLB2029Ext$0.0M2030Ext$0.0M2031Ext$0.9M2032Ext$0.9M2033Ext$0.9M2034Ext$3M+2
Skills · percentileMiLB Statcast 2026 AA
wRC+77
ISO74
wOBA73
Z-Con%58
Chase%47
K%34
Career WAR0.0 WAR median (P10 0.0 / P90 0.1, comp-based) · star 0% · didn't stick 94%
CompsSeth Loman (age 26) · Ryan Mulhern (age 26) · Andrew Brown (age 26)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†97
AVG/OBP/SLG.238 / .291 / .402
PA1
HR0
K%29
BB%5
BABIP311
ISO175
MLB%0%
Value2027 · WAR
BAT: -0.5 runs (wOBA-derived runs vs avg)-1BATRUN: -0.3 runs (SB/CS + UBR baserunning)-0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: -2.8 runs (Positional adjustment)-3POSREP: +3.4 runs (Replacement-level credit)+3REPTotal WAR: +0.10+0.1WAR
trajectory · projected WAR by year
0.10.02728
Tools · ContractCON 50 / POW 50
Toolsscout grade
CONTACT50
scouting grade only
POWER50
scouting grade only
EYE35
scouting grade only
SPEED45
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2031
Service   0 yrs (est)
Team Control Through   2036
First FA Year   2037
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2031
2028MiLBstill in minors · estimated debut 2031
2029Extbeyond projection horizon · no WAR estimate
2030Extbeyond projection horizon · no WAR estimate
2031Extbeyond projection horizon · no WAR estimate
2032Extbeyond projection horizon · no WAR estimate
2033Extbeyond projection horizon · no WAR estimate
2034Extbeyond projection horizon · no WAR estimate
2035Extbeyond projection horizon · no WAR estimate
2036Extbeyond projection horizon · no WAR estimate
Totals $0.0M $0.0M +$0.0M

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 these numbers are built

All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2027 = full-season projection (no games played yet). 2028+ via Advanced Marcel + aging curve.

YearAge LvlTeam MLB% PAAB H2B3BHR BBSOHBP SBCS AVGOBPSLGOPS ISOBABIP K%BB% wOBAwRC+ BATRUNFLDPOSREP WAR
▸ Career — actual stats, one row per stint (as recorded, no adjustments)
202423 ALakeland Flying Tigers — 3736 9102 150 00 250270444715 194241 143 313 42 — — — — — —
202524 A+West Michigan Whitecaps — 149134 431502 7327 02 321385478863 157406 215 382 88 — — — — — —
202524 ALakeland Flying Tigers — 255227 6416110 22454 83 282356493849 211310 189 372 82 — — — — — —
202625 AAErie SeaWolves — 10696 27514 8292 01 281349479828 198365 278 366 89 — — — — — —
202625 A+West Michigan Whitecaps — 252226 6617114 22494 12 292365562927 270319 199 403 91 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202423 A MLELakeland Flying Tigers — 3736 7101 170 00 194216306522 111207 193 231 42 — — — — — —
202524 A+ MLEWest Michigan Whitecaps — 149137 361202 4427 02 263318394712 131348 283 299 88 — — — — — —
202524 A MLELakeland Flying Tigers — 255233 531319 16614 83 227289408696 180255 246 289 82 — — — — — —
202625 AA MLEErie SeaWolves — 10698 24413 6352 01 245302398700 153353 336 300 89 — — — — — —
202625 A+ MLEWest Michigan Whitecaps — 252233 5413111 15624 12 232290438727 206263 256 302 91 — — — — — —
202423 A MLELakeland Flying Tigers — 3736 7101 170 00 194216306522 111214 193 231 42 — — — — — —
202423 A RAWLakeland Flying Tigers — 3736 9102 150 00 250270444715 194241 143 313 42 — — — — — —
202524 A MLE2 teams — 404370 8624110 2010411 85 232292384676 151293 265 293 84 — — — — — —
202524 A RAW2 teams — 404361 10731112 297711 85 296367488854 191345 197 376 84 — — — — — —
202625 A+ MLE2 teams — 358331 7717213 21986 13 233291414704 181291 276 301 90 — — — — — —
202625 A+ RAW2 teams — 358322 9322218 30786 13 289360537898 248332 228 392 90 — — — — — —
202423 A MLELakeland Flying Tigers — 3736 7101 170 00 194216306522 111207 193 231 42 — — — — — —
202524 A MLE2 teams — 404370 8624110 2010411 85 232292384676 151289 265 293 84 — — — — — —
202625 A+ MLE2 teams — 358328 7717213 21986 13 235291418708 183290 276 301 90 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202423 A MLELakeland Flying Tigers — 3736 7101 170 00 194216306522 111207 193 231 42 — — — — — —
202524 A MLE2 teams — 404370 8624110 2010411 85 232292384676 151289 265 293 84 — — — — — —
202625 A+ MLE2 teams — 358328 7717213 21986 13 235291418708 183290 276 301 90 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202726 MLB MLEDET 0% 380351 8620212 201116 32 243296412708 170317 295 312 97 -1 -0 +0 -7 +8 0.1
▸ 2027 — real world (MLB)
202726 MLB CTXDET 0% 11 0000 000 00 238291402693 164311 00 306 97 -0 +0 +0 -0 +0 0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202827 MLB MLEDET 26% 167153 38915 9493 11 241296409705 168314 295 311 97 -1 -0 +0 -3 +4 -0.0
202827 MLB CTXDET 26% 4441 9201 2131 00 237291399690 162309 305 305 97 -0 +0 +0 -1 +1 -0.0
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 4441 9201 2131 00 220273341614 122296 305 305 88 -0 +0 +0 -1 +1 -0.0
/ 162G— A+C — 650606 13430015 3019215 00 221275345620 124298 305 305 88 -3 +0 +0 -12 +14 -0.0
Career— MLE — 11211033 24359534 5930323 1110 235291401692 166298 275 299 88 -1 -0 +0 -6 +7 -0.0
/ 162G— MLE — 650599 14134320 3417613 66 235291402693 167298 275 299 88 -2 -1 +0 -12 +14 -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 A+West Michigan Whitecaps · 252 PAwOBA .392 → .302 (−90)K% 19.4% → 24.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA19.44%÷1.000×1.270——24.69%
BB% (unintentional) /PA8.73%÷1.000×0.710—×0.9686.00%
HBP% /PA1.59%—×0.790—×0.9681.21%
Singles /BIP19.21%÷1.000×0.920×0.985×0.96816.85%
Doubles /BIP9.60%÷1.000×0.810×0.985×0.9687.42%
Triples /BIP0.56%÷1.000×0.850×0.985×0.9680.46%
Home runs /BIP7.91%÷1.000×0.800—×0.9686.13%

Factors used: league row Midwest League. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 26 vs a level average of 22.8 → −3.2% on BB/HBP/hit rates (3.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.985.

Result: wOBA .392 → .302; ISO .270 → .203; BABIP .319 → .263. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2026 AAErie SeaWolves · 106 PAwOBA .356 → .300 (−56)K% 27.4% → 33.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA27.36%÷1.000×1.220——33.38%
BB% (unintentional) /PA7.55%÷1.000×0.700—×0.9885.22%
HBP% /PA1.89%—×0.850—×0.9881.58%
Singles /BIP25.37%÷1.000×0.970×1.050×0.98825.53%
Doubles /BIP7.46%÷1.000×0.860×1.050×0.9886.66%
Triples /BIP1.49%÷1.000×0.950×1.050×0.9881.47%
Home runs /BIP5.97%÷1.000×0.780—×0.9884.60%

Factors used: league row EL. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 26 vs a level average of 24.8 → −1.2% on BB/HBP/hit rates (1.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.

Result: wOBA .356 → .300; ISO .198 → .155; BABIP .365 → .353. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2025 ALakeland Flying Tigers · 255 PAwOBA .364 → .289 (−75)K% 17.6% → 24.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.65%÷0.998×1.360——24.04%
BB% (unintentional) /PA8.63%÷0.945×0.690—×0.9706.11%
HBP% /PA1.57%—×0.780—×0.9701.19%
Singles /BIP20.33%÷1.051×0.920×0.982×0.97016.94%
Doubles /BIP8.79%÷0.971×0.830×0.982×0.9707.15%
Triples /BIP0.55%÷1.150×0.910×0.982×0.9700.41%
Home runs /BIP5.49%÷0.864×0.800—×0.9704.94%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 73, 1B 110, 2B 94, 3B 130, K 100, BB 89 — applied at half strength. Age: age 25 vs a level average of 22.0 → −3.0% on BB/HBP/hit rates (3.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.982.

Result: wOBA .364 → .289; ISO .211 → .176; BABIP .310 → .255. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2025 A+West Michigan Whitecaps · 149 PAwOBA .375 → .299 (−76)K% 21.5% → 28.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.48%÷0.960×1.270——28.41%
BB% (unintentional) /PA4.70%÷1.106×0.710—×0.9782.95%
HBP% /PA4.70%—×0.790—×0.9783.63%
Singles /BIP25.49%÷1.027×0.920×0.999×0.97822.30%
Doubles /BIP14.71%÷0.948×0.810×0.999×0.97812.28%
Triples /BIP0.00%÷0.900×0.850×0.999×0.9780.00%
Home runs /BIP1.96%÷0.850×0.800—×0.9781.81%

Factors used: league row Midwest League. Park (home-season share, regressed): HR 70, 1B 105, 2B 90, 3B 80, K 92, BB 121 — applied at half strength. Age: age 25 vs a level average of 22.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.999.

Result: wOBA .375 → .299; ISO .157 → .128; BABIP .406 → .348. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).

2024 ALakeland Flying Tigers · 37 PAwOBA .303 → .231 (−72)K% 13.5% → 17.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA13.51%÷1.028×1.360——17.88%
BB% (unintentional) /PA2.70%÷1.061×0.690—×0.9801.72%
HBP% /PA0.00%—×0.780—×0.9800.00%
Singles /BIP19.35%÷0.980×0.920—×0.98017.81%
Doubles /BIP3.23%÷1.351×0.830—×0.9801.94%
Triples /BIP0.00%÷1.106×0.910—×0.9800.00%
Home runs /BIP6.45%÷1.099×0.800—×0.9804.60%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 120, 1B 96, 2B 170, 3B 121, K 106, BB 112 — applied at half strength. Age: age 24 vs a level average of 22.0 → −2.0% on BB/HBP/hit rates (2.0 yr older than average).

Result: wOBA .303 → .231; ISO .194 → .130; BABIP .241 → .207. Both wOBAs use the same linear weights, so the change is the translation alone. The MLE line is not regressed to the mean — regression happens later, when seasons are blended into a projection (how).