Josiah Hartshorn

RF South Bend Cubs
Age 20 S/L 6'0" / 220 lbs A+ HR -8% Svc 0.0 · Ctrl thru 2034
Overview
A+PROSPECTMiLBFA 2035
OGV OFP45OGV rank#99ETA2028MLB%4%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202619AA/A+/ACHC562.284/.416/.5182317121—.253/.357/.442
2027PROJMLE20MLBCHC9.241/.336/.420001130.0
2028PROJ50% MLB21MLBCHC259.245/.341/.430951170.8
2029PROJ69% MLB22MLBCHC380.248/.343/.4381471201.3
Next 3 projected WAR 2.1Projected 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$5M2033Arb-2$9M2034Arb-3$13M
Skills · percentileMiLB Statcast 2026 A+
ISO93
wOBA92
wRC+91
Z-Con%87
Chase%84
Whiff%79
Career WAR3.8 WAR median (P10 -0.4 / P90 34, comp-based) · star 18% · didn't stick 44%
CompsJaff Decker (age 21) · Edgar Quero (age 20) · Adael Amador (age 21)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†113
AVG/OBP/SLG.241 / .336 / .420
PA9
HR0
K%22
BB%11
BABIP294
ISO170
MLB%4%
Value2027 · WAR
BAT: +3.4 runs (wOBA-derived runs vs avg)+3BATRUN: +0.4 runs (SB/CS + UBR baserunning)+0RUNFLD: -0.8 runs (Defensive runs vs avg)-1FLDPOS: -2.2 runs (Positional adjustment)-2POSREP: +4.5 runs (Replacement-level credit)+5REPTotal WAR: +0.80+0.8WAR
0.01.12.30.00.81.31.61.71.71.81.727282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit━ post-control+$55M 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.3$9M+$8M
2030Pre-Arb$0.8M+1.6$10M+$10M
2031Pre-Arb$0.9M+1.7$10M+$9M
2032Arb-1$5M+1.7$9M+$6M
2033Arb-2$9M+1.8$9M+$4M
2034Arb-3$13M+1.7$8M+$2M
Totals $30M $56M +$40M

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)
202619 AAKnoxville Smokies — 1511 1000 330 10 9128691377 111 2020 200 5 — — — — — —
202619 A+South Bend Cubs — 370300 8917418 54797 123 297416560976 263335 2115 416 132 — — — — — —
202619 AMyrtle Beach Pelicans — 177139 38915 34273 42 273426460887 187306 1519 397 107 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202619 AA MLEKnoxville Smokies — 1512 1000 240 10 8321483298 109 2713 175 5 — — — — — —
202619 A+ MLESouth Bend Cubs — 370314 8415415 401007 123 268363484847 217315 2711 363 132 — — — — — —
202619 A MLEMyrtle Beach Pelicans — 177148 35814 25373 42 236358385743 149277 2114 327 107 — — — — — —
202619 A+ MLE3 teams — 562475 12123520 6614110 175 255358451808 196311 2512 347 121 — — — — — —
202619 A+ RAW3 teams — 562450 12826523 9110910 175 284416518933 233319 1916 404 121 — — — — — —
202619 A+ MLE3 teams — 562481 12123520 6614110 175 252358445802 193298 2512 347 121 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202619 A+ MLE3 teams — 562481 12123520 6614110 175 252358445802 193298 2512 347 121 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202720 MLB MLECHC 4% 648562 13525423 721599 123 239335419755 180290 2511 336 113 +10 +1 -3 -7 +14 0.8
▸ 2027 — real world (MLB)
202720 MLB CTXCHC 4% 98 1000 120 00 241336420756 179294 2211 336 113 +0 +0 -0 -0 +0 0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202821 MLB MLECHC 50% 517447 10920319 581247 102 244340430770 187291 2411 342 117 +11 +1 -2 -6 +11 1.6
202922 MLB MLECHC 69% 552477 11822321 621298 103 247342438780 191291 2311 346 120 +13 +1 -2 -6 +12 1.8
203023 MLB MLECHC 77% 568492 12222322 631318 102 249344443786 194292 2311 348 122 +15 +1 -2 -6 +12 2.1
203124 MLB MLECHC 78% 578501 12623323 641328 102 250344445789 195293 2311 349 122 +15 +1 -1 -6 +13 2.2
203225 MLB MLECHC 79% 590512 12824323 651348 102 251344445789 194293 2311 349 122 +16 +1 -1 -6 +13 2.3
203326 MLB MLECHC 79% 599520 12924323 661368 92 250344444788 194293 2311 349 122 +16 +1 -1 -6 +13 2.3
203427 MLB MLECHC 78% 596517 12924323 661378 92 249343442784 192292 2311 347 121 +15 +1 -1 -6 +13 2.2
203528 MLB MLECHC 77% 585508 12523322 651357 82 247341437777 189291 2311 344 119 +13 +1 -2 -6 +13 1.9
203629 MLB MLECHC 75% 568493 12122321 631337 72 245338430768 185289 2311 341 117 +11 +1 -3 -6 +12 1.6
203730 MLB MLECHC 74% 552480 11621320 601317 62 241334422756 180287 2411 336 113 +9 +0 -3 -6 +12 1.2
203831 MLB MLECHC 73% 534465 11020219 581296 44 237329411741 174284 2411 330 109 +6 -1 -4 -6 +12 0.7
203932 MLB MLECHC 72% 511445 10218217 551266 313 231323398721 167280 2511 322 104 +2 -5 -5 -5 +11 -0.1
204033 MLB MLECHC 72% 476418 9316215 501205 353 224315382697 157274 2511 312 98 -1 -21 -5 -5 +10 -2.2
202821 MLB CTXCHC 50% 259224 551029 29624 51 245341430771 185294 2411 342 117 +5 +1 -1 -3 +6 0.8
202922 MLB CTXCHC 69% 380329 8215314 43895 72 248343438781 190295 2311 346 120 +9 +1 -1 -4 +8 1.3
203023 MLB CTXCHC 77% 435377 9418316 491006 82 250345442787 192295 2311 348 122 +11 +1 -1 -5 +9 1.6
203124 MLB CTXCHC 78% 451392 9818317 501036 82 251345445790 193296 2311 349 122 +12 +1 -1 -5 +10 1.7
203225 MLB CTXCHC 79% 464404 10119317 511066 72 252345444789 193296 2311 349 122 +12 +1 -1 -5 +10 1.7
203326 MLB CTXCHC 79% 473412 10319318 521086 72 251345444789 193296 2311 349 122 +12 +1 -1 -5 +10 1.8
203427 MLB CTXCHC 78% 462402 10019317 511066 72 250344441785 191295 2311 347 121 +12 +1 -1 -5 +10 1.7
203528 MLB CTXCHC 77% 450391 9718317 501046 62 248342436778 188294 2311 345 119 +10 +0 -1 -5 +10 1.4
203629 MLB CTXCHC 75% 425370 9117315 471005 52 246339429768 184292 2411 341 117 +8 +0 -2 -5 +9 1.2
203730 MLB CTXCHC 74% 406354 8516214 44965 42 242335421756 179290 2411 336 113 +7 +0 -2 -4 +9 0.9
203831 MLB CTXCHC 73% 389339 8015213 42945 33 238330411741 173287 2411 330 109 +4 -1 -3 -4 +8 0.5
203932 MLB CTXCHC 72% 370323 7614212 40914 29 232324397721 165283 2511 322 104 +2 -3 -3 -4 +8 -0.1
204033 MLB CTXCHC 72% 344301 6912211 36874 238 225316381697 156277 2510 313 98 -1 -15 -4 -4 +7 -1.6
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 53084618 113121034190 584124668 7169 245338429767 184293 2311 341 117 +104 -13 -23 -57 +115 12.8
/ 162G— A+C — 650566 13826423 721538 98 244338426764 182293 2411 341 117 +13 -2 -3 -7 +14 1.6
Career— MLE — 79986932 169231042295 8841890106 12097 244339429767 185291 2411 341 117 +144 -16 -33 -80 +161 18.0
/ 162G— MLE — 650563 13725324 721549 108 243339426765 183290 2411 341 117 +13 -1 -3 -7 +14 1.6

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+South Bend Cubs · 370 PAwOBA .414 → .363 (−52)K% 21.4% → 27.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.35%÷1.000×1.270——27.12%
BB% (unintentional) /PA14.32%÷1.000×0.710—×1.05010.68%
HBP% /PA1.89%—×0.790—×1.0501.57%
Singles /BIP22.62%÷1.000×0.920×1.019×1.05022.27%
Doubles /BIP7.69%÷1.000×0.810×1.019×1.0506.67%
Triples /BIP1.81%÷1.000×0.850×1.019×1.0501.65%
Home runs /BIP8.14%÷1.000×0.800—×1.0506.84%

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 19 vs a level average of 22.8 → +5.0% on BB/HBP/hit rates (3.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.019.

Result: wOBA .414 → .363; ISO .263 → .228; BABIP .335 → .315. 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 AMyrtle Beach Pelicans · 177 PAwOBA .390 → .327 (−63)K% 15.3% → 20.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA15.25%÷1.000×1.360——20.75%
BB% (unintentional) /PA19.21%÷1.000×0.690—×1.04513.85%
HBP% /PA1.69%—×0.780—×1.0451.38%
Singles /BIP20.54%÷1.000×0.920×0.978×1.04519.31%
Doubles /BIP8.04%÷1.000×0.830×0.978×1.0456.82%
Triples /BIP0.89%÷1.000×0.910×0.978×1.0450.83%
Home runs /BIP4.46%÷1.000×0.800—×1.0453.73%

Factors used: level-wide A 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 19 vs a level average of 22.0 → +4.5% on BB/HBP/hit rates (3.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.978.

Result: wOBA .390 → .327; ISO .187 → .160; BABIP .306 → .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).

2026 AAKnoxville Smokies · 15 PAwOBA .211 → .175 (−35)K% 20.0% → 24.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA20.00%÷1.000×1.220——24.40%
BB% (unintentional) /PA20.00%÷1.000×0.680—×1.05014.28%
HBP% /PA0.00%—×0.840—×1.0500.00%
Singles /BIP12.50%÷1.000×0.920—×1.05012.08%
Doubles /BIP0.00%÷1.000×0.910—×1.0500.00%
Triples /BIP0.00%÷1.000×0.880—×1.0500.00%
Home runs /BIP0.00%÷1.000×0.800—×1.0500.00%

Factors used: league row SL. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 19 vs a level average of 24.8 → +5.0% on BB/HBP/hit rates (5.8 yr younger than average).

Result: wOBA .211 → .175; ISO .000 → .000; BABIP .111 → .109. 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).