Tanner Thach

1B Fresno Grizzlies
Age 23 L/L 6'4" / 225 lbs A HR +30%H +12% Svc 0.0 · Ctrl thru 2037
Overview
APROSPECTMiLBFA 2038
ETA2029MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202521ACOL80.279/.380/.3972175—.239/.316/.352
202622A+/ACOL568.299/.375/.47517594—.256/.318/.399
2027PROJMLE23MLBCOL552.232/.289/.36914685-0.2
2028PROJ30% MLB24MLBCOL155.248/.306/.4135190-0.1
2029PROJ44% MLB25MLBCOL244.251/.309/.4238293-0.1
Next 3 projected WAR -0.5Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2037Service0.0First FA2038
2027MiLB2028MiLB2029MiLB2030MiLB2031MiLB2032Pre-Arb$0.9M2033Pre-Arb$0.9M2034Ext$1.0M+3
Skills · percentileMiLB Statcast 2026 A+
K%84
Whiff%80
Z-Con%75
ISO46
Speed25
wOBA24
Career WAR0.0 WAR median (P10 -0.2 / P90 2.0, comp-based) · star 2% · didn't stick 90%
CompsAndrew Pullin (age 23) · Beau Mills (age 23) · Aaron Baker (age 23)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 210 proj PA
wRC+†85
AVG/OBP/SLG.230 / .287 / .365
PA210
HR5
K%23
BB%6
ISO137
MLB%0%
Value2027 · WAR
BAT: -3.9 runs (wOBA-derived runs vs avg)-4BATRUN: -0.2 runs (SB/CS + UBR baserunning)-0RUNFLD: -0.4 runs (Defensive runs vs avg)-0FLDPOS: -3.8 runs (Positional adjustment)-4POSREP: +4.5 runs (Replacement-level credit)+5REPTotal WAR: -0.20-0.2WAR
0.00.51.00.00.027282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit-$2M ctrl surplus
Contract
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2032
Service   0 yrs (est)
Team Control Through   2037
First FA Year   2038
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2032
2028MiLBstill in minors · estimated debut 2032
2029MiLBstill in minors · estimated debut 2032
2030MiLBstill in minors · estimated debut 2032
2031MiLBstill in minors · estimated debut 2032
2032Pre-Arb$0.9M———
2033Pre-Arb$0.9M———
2034Extbeyond projection horizon · no WAR estimate
2035Extbeyond projection horizon · no WAR estimate
2036Extbeyond projection horizon · no WAR estimate
2037Extbeyond projection horizon · no WAR estimate
Totals $0.0M $-2M +$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)
202521 AFresno Grizzlies — 8068 19202 8193 10 279380397777 118354 2410 351 75 — — — — — —
202622 A+Spokane Indians — 230207 501106 15405 30 242308382690 140268 177 307 55 — — — — — —
202622 AFresno Grizzlies — 338292 9922211 304711 21 339420541962 202368 149 418 120 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202521 A MLEFresno Grizzlies — 8071 17202 5273 10 239316352669 113326 346 279 75 — — — — — —
202622 A+ MLESpokane Indians — 230212 43905 10545 30 203256316572 113239 234 250 55 — — — — — —
202622 A MLEFresno Grizzlies — 338301 881829 216411 21 292360455816 163327 196 346 120 — — — — — —
202521 A MLEFresno Grizzlies — 8071 17202 5273 10 239316352669 113349 346 279 75 — — — — — —
202521 A RAWFresno Grizzlies — 8068 19202 8193 10 279380397777 118354 2410 351 75 — — — — — —
202622 A MLE2 teams — 568513 13127214 3111816 51 255318398716 142301 215 307 94 — — — — — —
202622 A RAW2 teams — 568499 14933217 458716 51 299375475850 176328 158 373 94 — — — — — —
202521 A MLEFresno Grizzlies — 8072 17202 5273 10 236316347664 111326 346 279 75 — — — — — —
202622 A MLE2 teams — 568516 13127214 3111816 51 254318395713 141291 215 307 94 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202521 A MLEFresno Grizzlies — 8072 17202 5273 10 236316347664 111326 346 279 75 — — — — — —
202622 A MLE2 teams — 568516 13127214 3111816 51 254318395713 141291 215 307 94 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202723 MLB MLECOL 0% 552506 11723214 3112410 61 232289369658 137278 226 293 85 -10 +1 -1 -10 +12 -0.2
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202824 MLB MLECOL 30% 517473 11222215 301159 41 236294383677 147279 226 301 90 -6 +0 -1 -9 +11 -0.5
202925 MLB MLECOL 44% 552504 12023217 3312310 41 238297392689 154280 226 306 93 -4 +0 -1 -10 +12 -0.3
203026 MLB MLECOL 51% 578527 12624218 3612910 31 239299397696 158281 226 309 95 -3 +0 -1 -10 +13 -0.2
203127 MLB MLECOL 52% 594542 12925218 3713310 31 238299394694 156280 226 308 94 -4 +0 -1 -11 +13 -0.3
203228 MLB MLECOL 53% 585534 12624218 371329 21 237298390688 153280 236 306 93 -5 +0 -2 -10 +13 -0.5
203329 MLB MLECOL 53% 571521 12223217 361319 11 234295383678 149278 236 301 90 -7 -0 -3 -10 +12 -0.7
202824 MLB CTXCOL 30% 155142 36715 9353 10 248306413718 164293 236 317 90 -2 +0 -0 -3 +3 -0.1
202925 MLB CTXCOL 44% 244223 561118 15544 20 251309423732 172294 226 323 93 -2 +0 -1 -4 +5 -0.1
203026 MLB CTXCOL 51% 293268 6813210 18655 20 252311428740 176294 226 326 95 -2 +0 -1 -5 +6 -0.1
203127 MLB CTXCOL 52% 311283 7113211 20705 20 251311426737 175294 236 325 94 -2 +0 -1 -6 +7 -0.1
203228 MLB CTXCOL 53% 312284 7113211 20715 10 249310421730 171293 236 322 93 -3 +0 -1 -6 +7 -0.2
203329 MLB CTXCOL 53% 300273 6813210 19695 11 246306413719 167291 236 318 90 -4 -0 -1 -5 +6 -0.4
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 16151473 370701055 10136427 91 251311424735 173296 236 322 92 -14 +1 -5 -29 +35 -1.1
/ 162G— A+C — 650593 14928422 4114711 40 251312423735 172297 236 322 92 -6 +1 -2 -12 +14 -0.4
Career— MLE — 42553877 92817915124 25795580 258 239300389689 150285 226 304 92 -33 +1 -10 -64 +78 -2.9
/ 162G— MLE — 650592 14127219 3914612 41 238298387685 149283 226 304 92 -6 +0 -2 -12 +14 -0.5

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 AFresno Grizzlies · 338 PAwOBA .413 → .346 (−67)K% 13.9% → 18.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA13.91%÷1.000×1.360——18.91%
BB% (unintentional) /PA8.88%÷1.000×0.690——6.12%
HBP% /PA3.25%—×0.780——2.54%
Singles /BIP26.12%÷1.000×0.920×0.998—23.99%
Doubles /BIP8.98%÷1.000×0.830×0.998—7.44%
Triples /BIP0.82%÷1.000×0.910×0.998—0.74%
Home runs /BIP4.49%÷1.000×0.800——3.59%

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 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 ×0.998.

Result: wOBA .413 → .346; ISO .202 → .165; BABIP .368 → .327. 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+Spokane Indians · 230 PAwOBA .301 → .250 (−51)K% 17.4% → 23.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.39%÷1.000×1.350——23.48%
BB% (unintentional) /PA6.09%÷1.000×0.710—×1.0124.37%
HBP% /PA2.17%—×0.810—×1.0121.78%
Singles /BIP19.76%÷1.000×0.910×0.995×1.01218.11%
Doubles /BIP6.59%÷1.000×0.830×0.995×1.0125.51%
Triples /BIP0.00%÷1.000×0.820×0.995×1.0120.00%
Home runs /BIP3.59%÷1.000×0.830—×1.0123.02%

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 22 vs a level average of 22.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.995.

Result: wOBA .301 → .250; ISO .140 → .114; BABIP .268 → .239. 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 AFresno Grizzlies · 80 PAwOBA .347 → .279 (−67)K% 23.8% → 33.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.75%÷0.951×1.360——33.95%
BB% (unintentional) /PA10.00%÷1.096×0.690—×1.0156.39%
HBP% /PA3.75%—×0.780—×1.0152.97%
Singles /BIP30.61%÷1.022×0.920×1.028×1.01528.76%
Doubles /BIP4.08%÷1.055×0.830×1.028×1.0153.35%
Triples /BIP0.00%÷1.017×0.910×1.028×1.0150.00%
Home runs /BIP4.08%÷0.870×0.800—×1.0153.81%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 74, 1B 104, 2B 111, 3B 103, K 90, BB 119 — applied at half strength. Age: age 21 vs a level average of 22.0 → +1.5% on BB/HBP/hit rates (1.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.028.

Result: wOBA .347 → .279; ISO .118 → .099; BABIP .354 → .326. 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).