Calvin Harris

C Birmingham Barons
Age 25 L/R 5'11" / 215 lbs AA HR +4% Svc 0.0 · Ctrl thru 2035
Overview
AAPROSPECTMiLBFA 2036
OGV OFP35OGV rank#1929ETA2029MLB%2%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202422A+CWS288.220/.305/.3032027—.170/.228/.234
202523AA/ACWS340.266/.335/.3513864—.235/.285/.308
202624AA/A+/ROKCWS207.261/.364/.4266472—.213/.286/.341
2027PROJMLE25MLBCWS2.216/.276/.3140066-0.0
2028PROJ31% MLB26MLBCWS53.218/.279/.32111690.0
2029PROJ42% MLB27MLBCWS89.218/.280/.32321700.1
Next 3 projected WAR 0.1Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2035Service0.0First FA2036
2027MiLB2028MiLB2029MiLB2030Ext$0.8M2031Ext$0.9M2032Ext$0.9M2033Ext$3M2034Ext$5M+1
Skills · percentileMiLB Statcast 2026 AA
Z-Con%91
Whiff%89
K%80
BB%78
Chase%63
wRC+38
Career WAR0.0 WAR median (P10 0.0 / P90 0.2, comp-based) · star 0% · didn't stick 97%
CompsShane McGuire (age 25) · Adam Melker (age 25) · Luis Sierra (age 25)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†66
AVG/OBP/SLG.216 / .276 / .314
PA2
HR0
K%50
BB%7
BABIP279
ISO89
MLB%2%
Value2027 · WAR
BAT: -5.0 runs (wOBA-derived runs vs avg)-5BATRUN: -0.1 runs (SB/CS + UBR baserunning)-0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: +2.2 runs (Positional adjustment)+2POSREP: +2.7 runs (Replacement-level credit)+3REPTotal WAR: +0.10+0.1WAR
0.00.51.00.00.127282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit+$1M ctrl surplus
Tools · ContractCON 45 / POW 30
Toolsscout grade
CONTACT45
scouting grade only
POWER30
scouting grade only
EYE35
scouting grade only
SPEED45
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2030
Service   0 yrs (est)
Team Control Through   2035
First FA Year   2036
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2030
2028MiLBstill in minors · estimated debut 2030
2029MiLBstill in minors · estimated debut 2030
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
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. Catcher framing: only 2027 Statcast framing is modeled (Baseball Savant server-caches the leaderboard to the current season); prior-year framing is unmodeled — projections for established framers may run 1-3 WAR low.

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)
202321 AKannapolis Cannon Ballers — 130108 26311 20231 01 241364315679 74294 1815 317 66 — — — — — —
202321 ROKACL White Sox — 1514 3100 150 00 214267286552 71333 337 253 -10 — — — — — —
202422 A+Winston-Salem Dash — 288254 561122 28663 00 220305303608 83286 2310 279 27 — — — — — —
202523 AABirmingham Barons — 205186 47502 16502 31 253319312630 59333 248 290 57 — — — — — —
202523 AKannapolis Cannon Ballers — 135119 34631 14300 51 286361412773 126367 2210 342 74 — — — — — —
202624 AABirmingham Barons — 148126 28404 20280 22 222327349676 127253 1914 308 53 — — — — — —
202624 A+Winston-Salem Dash — 4136 14502 540 00 3894636941.158 306400 1012 498 147 — — — — — —
202624 ROKACL White Sox — 1814 4200 440 20 286444429873 143400 2222 398 61 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202321 A MLEKannapolis Cannon Ballers — 130113 24211 15311 01 212310274584 62277 2412 266 66 — — — — — —
202321 ROK MLEACL White Sox — 1514 2100 170 00 143200214414 71262 477 153 -10 — — — — — —
202422 A+ MLEWinston-Salem Dash — 288265 45722 17913 00 170228234462 64242 326 208 27 — — — — — —
202523 AA MLEBirmingham Barons — 205191 45502 11602 31 236284293578 58321 295 253 57 — — — — — —
202523 A MLEKannapolis Cannon Ballers — 135124 29521 9400 51 234286331616 97334 307 278 74 — — — — — —
202624 AA MLEBirmingham Barons — 148133 25403 14340 22 188265286551 98219 239 246 53 — — — — — —
202624 A+ MLEWinston-Salem Dash — 4138 12402 350 00 316366579945 263323 127 386 147 — — — — — —
202624 ROK MLEACL White Sox — 1816 3100 260 20 188278250528 62291 3311 258 61 — — — — — —
202321 A MLE2 teams — 145128 26311 15381 01 203292266557 62278 2610 254 58 — — — — — —
202321 A RAW2 teams — 145122 29411 21281 01 238354311666 74298 1914 311 58 — — — — — —
202422 A+ MLEWinston-Salem Dash — 288265 45722 17913 00 170228234462 64246 326 208 27 — — — — — —
202422 A+ RAWWinston-Salem Dash — 288254 561122 28663 00 220305303608 83286 2310 279 27 — — — — — —
202523 AA MLE2 teams — 340315 73923 201002 82 232282302583 70326 296 263 64 — — — — — —
202523 AA RAW2 teams — 340305 811133 30802 82 266335351686 85347 249 310 64 — — — — — —
202624 AA MLE3 teams — 207187 40905 19450 42 214286342629 128254 229 275 72 — — — — — —
202624 AA RAW3 teams — 207176 461106 29360 42 261364426790 165296 1714 353 72 — — — — — —
202321 A MLE2 teams — 145128 26311 15381 01 203292266557 62275 2610 254 58 — — — — — —
202422 A+ MLEWinston-Salem Dash — 288266 45722 17913 00 169228233461 64242 326 208 27 — — — — — —
202523 AA MLE2 teams — 340315 73923 201002 82 232282302583 70326 296 263 64 — — — — — —
202624 AA MLE3 teams — 207186 40905 19450 42 215286344630 129246 229 275 72 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202422 A+ MLEWinston-Salem Dash — 288266 45722 17913 00 169228233461 64242 326 208 27 — — — — — —
202523 AA MLE2 teams — 340315 73923 201002 82 232282302583 70326 296 263 64 — — — — — —
202624 AA MLE3 teams — 207186 40905 19450 42 215286344630 129246 229 275 72 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202725 MLB MLECWS 2% 257236 51914 18651 31 215276312588 97278 257 266 66 -10 +0 +0 +5 +6 0.1
▸ 2027 — real world (MLB)
202725 MLB CTXCWS 2% 22 0000 010 00 216276314590 98279 500 267 66 -0 +0 +0 +0 +0 -0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202826 MLB MLECWS 31% 170155 34613 12431 21 217279319598 102279 257 270 69 -6 +0 +0 +3 +4 0.0
202927 MLB MLECWS 42% 211192 43814 16531 31 218280321601 103279 258 271 70 -8 +0 +0 +4 +5 0.1
202826 MLB CTXCWS 31% 5349 11201 4130 10 218279321601 103280 258 271 69 -2 +0 +0 +1 +1 0.0
202927 MLB CTXCWS 42% 8982 18302 7230 10 218280323604 105280 268 272 70 -3 +0 +0 +2 +2 0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 142131 29503 11360 20 221282328610 107283 258 272 59 -5 +0 +0 +3 +3 0.1
/ 162G— A+C — 650600 13323014 501650 90 222282330612 108283 258 272 59 -24 +2 +0 +12 +14 0.4
Career— MLE — 14841354 28546720 1084019 198 210273299572 89281 277 255 59 -19 +0 +0 +9 +11 0.1
/ 162G— MLE — 650593 1252039 471764 84 211273300573 89281 277 255 59 -24 +0 +0 +12 +14 0.2

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 AABirmingham Barons · 148 PAwOBA .302 → .246 (−56)K% 18.9% → 23.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA18.92%÷1.000×1.220——23.08%
BB% (unintentional) /PA13.51%÷1.000×0.680—×0.9989.17%
HBP% /PA0.00%—×0.840—×0.9980.00%
Singles /BIP20.41%÷1.000×0.920×0.955×0.99817.90%
Doubles /BIP4.08%÷1.000×0.910×0.955×0.9983.54%
Triples /BIP0.00%÷1.000×0.880×0.955×0.9980.00%
Home runs /BIP4.08%÷1.000×0.800—×0.9983.26%

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

Result: wOBA .302 → .246; ISO .127 → .106; BABIP .253 → .219. 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 A+Winston-Salem Dash · 41 PAwOBA .484 → .386 (−98)K% 9.8% → 12.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA9.76%÷1.000×1.310——12.78%
BB% (unintentional) /PA12.20%÷1.000×0.600—×0.9787.16%
HBP% /PA0.00%—×0.770—×0.9780.00%
Singles /BIP21.88%÷1.000×0.870—×0.97818.61%
Doubles /BIP15.62%÷1.000×0.780—×0.97811.92%
Triples /BIP0.00%÷1.000×0.850—×0.9780.00%
Home runs /BIP6.25%÷1.000×0.880—×0.9785.38%

Factors used: league row South Atlantic League. Park (home-season share, regressed): no park row on file (treated as neutral) — 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).

Result: wOBA .484 → .386; ISO .306 → .256; BABIP .400 → .323. 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 ROKACL White Sox · 18 PAwOBA .389 → .258 (−131)K% 22.2% → 32.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA22.22%÷1.000×1.440——32.00%
BB% (unintentional) /PA22.22%÷1.000×0.620—×0.94513.02%
HBP% /PA0.00%—×0.720—×0.9450.00%
Singles /BIP20.00%÷1.000×0.820—×0.94515.50%
Doubles /BIP20.00%÷1.000×0.720—×0.94513.61%
Triples /BIP0.00%÷1.000×0.720—×0.9450.00%
Home runs /BIP0.00%÷1.000×0.780—×0.9450.00%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 25 vs a level average of 19.5 → −5.5% on BB/HBP/hit rates (5.5 yr older than average).

Result: wOBA .389 → .258; ISO .143 → .096; BABIP .400 → .291. 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 AABirmingham Barons · 205 PAwOBA .284 → .253 (−31)K% 24.4% → 29.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA24.39%÷1.020×1.220——29.18%
BB% (unintentional) /PA7.80%÷1.020×0.680—×1.0125.27%
HBP% /PA0.98%—×0.840—×1.0120.83%
Singles /BIP29.41%÷0.954×0.920×0.992×1.01228.48%
Doubles /BIP3.68%÷0.984×0.910×0.992×1.0123.41%
Triples /BIP0.00%÷1.150×0.880×0.992×1.0120.00%
Home runs /BIP1.47%÷0.784×0.800—×1.0121.52%

Factors used: league row SL. Park (home-season share, regressed): HR 57, 1B 91, 2B 97, 3B 130, K 104, BB 104 — applied at half strength. Age: age 24 vs a level average of 24.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.992.

Result: wOBA .284 → .253; ISO .059 → .057; BABIP .333 → .321. 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 AKannapolis Cannon Ballers · 135 PAwOBA .338 → .278 (−60)K% 22.2% → 30.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA22.22%÷1.009×1.360——29.96%
BB% (unintentional) /PA10.37%÷1.030×0.690—×0.9806.81%
HBP% /PA0.00%—×0.780—×0.9800.00%
Singles /BIP26.97%÷1.018×0.920×1.050×0.98025.09%
Doubles /BIP6.74%÷0.992×0.830×1.050×0.9805.81%
Triples /BIP3.37%÷1.091×0.910×1.050×0.9802.89%
Home runs /BIP1.12%÷0.853×0.800—×0.9801.03%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 71, 1B 104, 2B 98, 3B 118, K 102, BB 106 — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.

Result: wOBA .338 → .278; ISO .126 → .105; BABIP .367 → .334. 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 A+Winston-Salem Dash · 288 PAwOBA .275 → .208 (−67)K% 22.9% → 31.6%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA22.92%÷0.952×1.310——31.55%
BB% (unintentional) /PA9.72%÷1.006×0.600—×0.9985.79%
HBP% /PA1.04%—×0.770—×0.9980.80%
Singles /BIP21.81%÷0.972×0.870×0.984×0.99819.17%
Doubles /BIP5.85%÷1.070×0.780×0.984×0.9984.19%
Triples /BIP1.06%÷0.929×0.850×0.984×0.9980.96%
Home runs /BIP1.06%÷0.817×0.880—×0.9981.14%

Factors used: league row South Atlantic League. Park (home-season share, regressed): HR 63, 1B 94, 2B 114, 3B 86, K 90, BB 101 — applied at half strength. Age: age 23 vs a level average of 22.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.984.

Result: wOBA .275 → .208; ISO .083 → .067; BABIP .286 → .242. 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).

2023 AKannapolis Cannon Ballers · 130 PAwOBA .312 → .266 (−46)K% 17.7% → 24.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.69%÷1.004×1.360——23.97%
BB% (unintentional) /PA15.38%÷0.951×0.690——11.16%
HBP% /PA0.77%—×0.780——0.60%
Singles /BIP24.71%÷1.002×0.920×1.044—23.68%
Doubles /BIP3.53%÷1.050×0.830×1.044—2.91%
Triples /BIP1.18%÷0.988×0.910×1.044—1.13%
Home runs /BIP1.18%÷0.861×0.800——1.09%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 72, 1B 100, 2B 110, 3B 98, K 101, BB 90 — applied at half strength. Age: age 22 vs a level average of 22.0 → +0.0% on BB/HBP/hit rates (0.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.044.

Result: wOBA .312 → .266; ISO .074 → .065; BABIP .294 → .277. 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).

2023 ROKACL White Sox · 15 PAwOBA .246 → .153 (−93)K% 33.3% → 48.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA33.33%÷0.994×1.440——48.31%
BB% (unintentional) /PA6.67%÷0.951×0.620—×0.9754.24%
HBP% /PA0.00%—×0.720—×0.9750.00%
Singles /BIP22.22%÷0.991×0.820—×0.97517.92%
Doubles /BIP11.11%÷0.942×0.720—×0.9758.28%
Triples /BIP0.00%÷1.099×0.720—×0.9750.00%
Home runs /BIP0.00%÷2.194×0.780—×0.9750.00%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 339, 1B 98, 2B 88, 3B 120, K 99, BB 90 — applied at half strength. Age: age 22 vs a level average of 19.5 → −2.5% on BB/HBP/hit rates (2.5 yr older than average).

Result: wOBA .246 → .153; ISO .071 → .042; BABIP .333 → .262. 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).