Johanfran Garcia

C Portland Sea Dogs
Age 22 R/R 5'11" / 196 lbs AA HR -5%K -4% Svc 0.0 · Ctrl thru 2035
Overview
AAPROSPECTMiLBFA 2036
OGV OFP40OGV rank#248ETA2029MLB%2%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202419ASalem Red Sox60.385/.467/.59620127—.315/.383/.500
202520A+/ROK/INTL2 orgs318.252/.338/.44614168—.184/.240/.326
202621AABOS348.284/.340/.49418488—.245/.291/.408
2027PROJMLE22MLBBOS4.234/.281/.39600850.0
2028PROJ32% MLB23MLBBOS103.237/.287/.40541890.3
2029PROJ46% MLB24MLBBOS175.240/.291/.41172920.5
Next 3 projected WAR 0.8Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2035Service0.0First FA2036
2027MiLB2028MiLB2029MiLB2030Pre-Arb$0.8M2031Pre-Arb$0.9M2032Pre-Arb$0.9M2033Arb-1$3M2034Arb-2$4M+1
Skills · percentileMiLB Statcast 2026 AA
ISO77
wRC+74
wOBA72
K%24
Z-Con%16
Speed16
Career WAR0.0 WAR median (P10 -0.3 / P90 17, comp-based) · star 3% · didn't stick 64%
CompsAndy Marte (age 22) · Kyle Wilson (age 23) · Mark Vientos (age 22)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†85
AVG/OBP/SLG.234 / .281 / .396
PA4
HR0
K%25
BB%5
BABIP298
ISO169
MLB%2%
Value2027 · WAR
BAT: -3.8 runs (wOBA-derived runs vs avg)-4BATRUN: -0.0 runs (SB/CS + UBR baserunning)-0RUNFLD: -0.6 runs (Defensive runs vs avg)-1FLDPOS: +3.8 runs (Positional adjustment)+4POSREP: +4.5 runs (Replacement-level credit)+5REPTotal WAR: +0.60+0.6WAR
0.00.51.00.00.30.50.70.80.80.70.50.327282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit━ post-control+$24M ctrl surplus
Contract
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
2030Pre-Arb$0.8M+0.7$2M+$2M
2031Pre-Arb$0.9M+0.8$2M+$2M
2032Pre-Arb$0.9M+0.8$2M+$2M
2033Arb-1$3M+0.7$2M+$0.3M
2034Arb-2$4M+0.5$1M+$0.0M (cut)
2035Arb-3$4M+0.3$0.7M+$0.0M (cut)
Totals $5M $10M +$5M

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)
202217 ROKDSL BOS Red — 161138 37710 21251 01 268369333702 65325 1613 324 27 — — — — — —
202318 ASalem Red Sox — 6859 12301 5242 30 203288305593 102306 357 267 24 — — — — — —
202318 ROKFCL Red Sox — 179149 451025 19379 31 302412497909 195367 2111 400 77 — — — — — —
202419 ASalem Red Sox — 6052 20502 6152 00 3854675961.063 212514 2510 467 127 — — — — — —
202520 A+Greenville Drive — 196173 43409 18603 10 249330428758 179321 319 336 43 — — — — — —
202520 ROKFCL Red Sox — 4238 12303 181 00 316350632982 316310 192 404 100 — — — — — —
202520 INTLSalt River Rafters — 8067 15502 12171 00 224350388738 164271 2115 337 114 — — — — — —
202621 AAPortland Sea Dogs — 348320 9113018 221035 41 284340494834 209365 306 366 88 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202217 ROK MLEDSL BOS Red — 161145 24410 14321 01 166244207451 41207 209 208 27 — — — — — —
202318 A MLESalem Red Sox — 6861 9201 3332 30 148212230442 82281 494 204 24 — — — — — —
202318 ROK MLEFCL Red Sox — 179156 33614 12549 31 212305340645 128282 307 282 77 — — — — — —
202419 A MLESalem Red Sox — 6054 17402 4222 00 315383500883 185469 377 356 127 — — — — — —
202520 A+ MLEGreenville Drive — 196180 31206 11843 10 172232283515 111268 436 232 43 — — — — — —
202520 ROK MLEFCL Red Sox — 4238 9203 1121 00 237275526801 289226 292 316 100 — — — — — —
202621 AA MLEPortland Sea Dogs — 348326 8011014 161265 41 245291408699 163348 365 298 88 — — — — — —
202217 ROK MLEDSL BOS Red — 161145 24410 14321 01 166244207451 41211 209 208 27 — — — — — —
202217 ROK RAWDSL BOS Red — 161138 37710 21251 01 268369333702 65325 1613 324 27 — — — — — —
202318 ROK MLE2 teams — 247217 44915 158711 61 203288323611 120302 356 261 62 — — — — — —
202318 ROK RAW2 teams — 247208 571326 246111 61 274379442821 168352 2510 364 62 — — — — — —
202419 A MLESalem Red Sox — 6054 17402 4222 00 315383500883 185500 377 356 127 — — — — — —
202419 A RAWSalem Red Sox — 6052 20502 6152 00 3854675961.063 212514 2510 467 127 — — — — — —
202520 A+ MLE3 teams — 318294 556012 151285 10 187239330569 143272 405 247 53 — — — — — —
202520 A+ RAW3 teams — 318278 7012014 31855 10 252338446784 194306 2710 345 53 — — — — — —
202621 AA MLEPortland Sea Dogs — 348326 8011014 161265 41 245291408699 163353 365 298 88 — — — — — —
202621 AA RAWPortland Sea Dogs — 348320 9113018 221035 41 284340494834 209365 306 366 88 — — — — — —
202217 ROK MLEDSL BOS Red — 161145 24410 14321 01 166244207451 41207 209 208 27 — — — — — —
202318 ROK MLE2 teams — 247219 44915 158711 61 201288320608 119282 356 261 62 — — — — — —
202419 A MLESalem Red Sox — 6054 17402 4222 00 315383500883 185469 377 356 127 — — — — — —
202520 A+ MLE3 teams — 318295 556012 151285 10 186239329568 142261 405 247 53 — — — — — —
202621 AA MLEPortland Sea Dogs — 348324 8011014 161265 41 247291410702 164348 365 298 88 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202419 A MLESalem Red Sox — 6054 17402 4222 00 315383500883 185469 377 356 127 — — — — — —
202520 A+ MLE3 teams — 318295 556012 151285 10 186239329568 142261 405 247 53 — — — — — —
202621 AA MLEPortland Sea Dogs — 348324 8011014 161265 41 247291410702 164348 365 298 88 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202722 MLB MLEBOS 2% 458427 9716117 221346 61 228276390666 161288 295 294 85 -8 +1 -1 +8 +10 0.6
▸ 2027 — real world (MLB)
202722 MLB CTXBOS 2% 44 1000 010 00 234281396677 162298 250 299 85 -0 +0 -0 +0 +0 0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202823 MLB MLEBOS 32% 319295 6811112 17914 41 232282398680 167289 295 300 89 -4 +0 -1 +6 +7 0.8
202924 MLB MLEBOS 46% 382353 8314115 211075 41 234286404690 170290 285 304 92 -4 +0 -1 +7 +8 1.1
203025 MLB MLEBOS 54% 413381 9015116 241145 41 236289406695 171290 286 306 94 -3 +0 -1 +7 +9 1.3
203126 MLB MLEBOS 58% 431398 9316116 251185 41 236290406696 170290 276 307 94 -3 +0 -1 +8 +9 1.3
203227 MLB MLEBOS 59% 435401 9416116 261185 41 235291404694 168290 276 307 94 -3 +0 -1 +8 +9 1.3
203328 MLB MLEBOS 60% 432398 9215116 261195 31 233289399688 166289 286 304 92 -4 +0 -2 +8 +9 1.1
203429 MLB MLEBOS 59% 422389 8915115 251175 21 231286393678 162287 286 300 89 -5 +0 -3 +8 +9 0.9
203530 MLB MLEBOS 59% 409378 8514114 241154 12 228282385667 157285 286 295 86 -7 -1 -3 +7 +9 0.6
203631 MLB MLEBOS 58% 375346 7813113 221074 22 224277375652 151282 296 289 82 -8 -0 -4 +7 +8 0.3
203732 MLB MLEBOS 58% 336311 6911111 19973 22 218271363633 144278 296 281 77 -9 -0 -4 +6 +7 -0.1
202823 MLB CTXBOS 32% 10396 23404 5291 10 237287405692 168299 285 305 89 -1 +0 -0 +2 +2 0.3
202924 MLB CTXBOS 46% 175161 40717 10492 20 240291411702 171300 286 309 92 -2 +0 -0 +3 +4 0.5
203025 MLB CTXBOS 54% 222204 50918 13613 21 241294413707 172300 276 312 94 -2 +0 -1 +4 +5 0.7
203126 MLB CTXBOS 58% 251231 561019 15693 21 242296413709 171300 276 312 94 -2 +0 -1 +4 +5 0.8
203227 MLB CTXBOS 59% 259238 581119 16713 21 241296411707 170299 276 312 94 -2 +0 -1 +5 +6 0.8
203328 MLB CTXBOS 60% 260239 571019 16713 21 239294406700 167298 276 309 92 -3 +0 -1 +5 +6 0.7
203429 MLB CTXBOS 59% 250230 551019 15693 11 237291400691 163297 286 305 89 -3 -0 -2 +4 +5 0.5
203530 MLB CTXBOS 59% 240221 52918 14673 11 234287392679 158295 286 301 86 -4 -0 -2 +4 +5 0.3
203631 MLB CTXBOS 58% 218201 45807 13622 11 229282382665 153291 286 294 82 -5 -0 -2 +4 +5 0.1
203732 MLB CTXBOS 58% 195180 40706 11562 11 224276369645 145287 296 286 77 -5 -0 -3 +3 +4 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 21732001 47685776 12860425 158 238292401693 163301 286 305 84 -28 -0 -12 +39 +47 4.6
/ 162G— A+C — 650599 14225223 381817 42 237290401691 164299 286 305 84 -8 -0 -4 +12 +14 1.4
Career— MLE — 52984881 110618113185 303155972 4417 227282383664 156291 296 292 84 -55 +1 -22 +74 +90 9.0
/ 162G— MLE — 650599 13622223 371919 52 227282386668 159290 296 292 84 -9 +0 -3 +12 +14 1.4

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 AAPortland Sea Dogs · 348 PAwOBA .357 → .298 (−59)K% 29.6% → 36.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA29.60%÷1.000×1.220——36.11%
BB% (unintentional) /PA6.32%÷1.000×0.700—×1.0424.61%
HBP% /PA1.44%—×0.850—×1.0421.27%
Singles /BIP27.65%÷1.000×0.970×0.979×1.04227.37%
Doubles /BIP5.99%÷1.000×0.860×0.979×1.0425.26%
Triples /BIP0.00%÷1.000×0.950×0.979×1.0420.00%
Home runs /BIP8.29%÷1.000×0.780—×1.0426.74%

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

Result: wOBA .357 → .298; ISO .209 → .161; BABIP .365 → .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).

2025 A+Greenville Drive · 196 PAwOBA .330 → .232 (−98)K% 30.6% → 42.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA30.61%÷0.936×1.310——42.86%
BB% (unintentional) /PA9.18%÷1.050×0.600—×1.0275.39%
HBP% /PA1.53%—×0.770—×1.0271.21%
Singles /BIP26.55%÷0.974×0.870×0.950×1.02723.13%
Doubles /BIP3.54%÷1.099×0.780×0.950×1.0272.45%
Triples /BIP0.00%÷1.011×0.850×0.950×1.0270.00%
Home runs /BIP7.96%÷1.117×0.880—×1.0276.44%

Factors used: league row South Atlantic League. Park (home-season share, regressed): HR 123, 1B 95, 2B 120, 3B 102, K 87, BB 110 — applied at half strength. Age: age 21 vs a level average of 22.8 → +2.7% on BB/HBP/hit rates (1.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.

Result: wOBA .330 → .232; ISO .179 → .125; BABIP .321 → .268. 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 ROKFCL Red Sox · 42 PAwOBA .411 → .316 (−95)K% 19.0% → 28.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA19.05%÷0.965×1.440——28.43%
BB% (unintentional) /PA2.38%÷0.988×0.620—×0.9851.47%
HBP% /PA2.38%—×0.720—×0.9851.69%
Singles /BIP20.00%÷1.033×0.820—×0.98515.64%
Doubles /BIP10.00%÷1.101×0.720—×0.9856.44%
Triples /BIP0.00%÷0.900×0.720—×0.9850.00%
Home runs /BIP10.00%÷0.815×0.780—×0.9859.43%

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

Result: wOBA .411 → .316; ISO .316 → .263; BABIP .310 → .226. 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 ASalem Red Sox · 60 PAwOBA .454 → .356 (−99)K% 25.0% → 35.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA25.00%÷0.948×1.360——35.86%
BB% (unintentional) /PA10.00%÷1.011×0.690—×1.0307.03%
HBP% /PA3.33%—×0.780—×1.0302.68%
Singles /BIP35.14%÷0.989×0.920—×1.03033.68%
Doubles /BIP13.51%÷1.051×0.830—×1.03010.99%
Triples /BIP0.00%÷1.150×0.910—×1.0300.00%
Home runs /BIP5.41%÷0.933×0.800—×1.0304.77%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 87, 1B 98, 2B 110, 3B 130, K 90, BB 102 — applied at half strength. Age: age 20 vs a level average of 22.0 → +3.0% on BB/HBP/hit rates (2.0 yr younger than average).

Result: wOBA .454 → .356; ISO .212 → .159; BABIP .514 → .469. 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 ROKFCL Red Sox · 179 PAwOBA .395 → .282 (−113)K% 20.7% → 29.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA20.67%÷0.995×1.440——29.92%
BB% (unintentional) /PA10.61%÷1.000×0.620—×1.0086.63%
HBP% /PA5.03%—×0.720—×1.0083.65%
Singles /BIP25.00%÷0.977×0.820×0.981×1.00820.74%
Doubles /BIP8.93%÷1.079×0.720×0.981×1.0085.89%
Triples /BIP1.79%÷1.150×0.720×0.981×1.0081.10%
Home runs /BIP4.46%÷0.974×0.780—×1.0083.60%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 95, 1B 95, 2B 116, 3B 130, K 99, BB 100 — applied at half strength. Age: age 19 vs a level average of 19.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.981.

Result: wOBA .395 → .282; ISO .195 → .136; BABIP .367 → .282. 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 ASalem Red Sox · 68 PAwOBA .268 → .204 (−63)K% 35.3% → 48.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA35.29%÷0.982×1.360——48.89%
BB% (unintentional) /PA7.35%÷1.052×0.690—×1.0455.04%
HBP% /PA2.94%—×0.780—×1.0452.40%
Singles /BIP22.86%÷1.023×0.920—×1.04521.47%
Doubles /BIP8.57%÷0.942×0.830—×1.0457.89%
Triples /BIP0.00%÷1.000×0.910—×1.0450.00%
Home runs /BIP2.86%÷0.999×0.800—×1.0452.39%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 105, 2B 88, 3B 100, K 96, BB 110 — applied at half strength. Age: age 19 vs a level average of 22.0 → +4.5% on BB/HBP/hit rates (3.0 yr younger than average).

Result: wOBA .268 → .204; ISO .102 → .076; BABIP .306 → .281. 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).

2022 DSLDSL BOS Red · 161 PAwOBA .319 → .208 (−111)K% 15.5% → 19.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA15.53%÷0.957×1.220——19.79%
BB% (unintentional) /PA13.04%÷1.036×0.700—×1.0088.88%
HBP% /PA0.62%—×0.700—×1.0080.44%
Singles /BIP25.66%÷1.064×0.680×1.005×1.00816.60%
Doubles /BIP6.19%÷1.009×0.600×1.005×1.0083.73%
Triples /BIP0.88%÷0.999×0.600×1.005×1.0080.54%
Home runs /BIP0.00%÷0.999×0.470—×1.0080.00%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 113, 2B 102, 3B 100, K 91, BB 107 — applied at half strength. Age: age 18 vs a level average of 18.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.005.

Result: wOBA .319 → .208; ISO .065 → .040; BABIP .325 → .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).

Not traceable per stint: some stints lack the counting stats the component translation needs. Level-wide factors that apply instead — .