David Fry

C Cleveland Guardians
Age 31 R/R 6'1" / 215 lbs MLB Svc 3.889 · Ctrl thru 2029
Overview
MLB40-MANArb-1FA 2030
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202428MLBCLE392.263/.358/.4481441221.0
202529MLBCLE157.171/.229/.3638164-0.0
202630AAACLE38.294/.333/.85360131—.229/.250/.600
202630MLBCLE214.201/.313/.3648093-0.1
2027PROJ31MLBCLE172.220/.305/.407711000.5
2028PROJ65% MLB32MLBCLE104.213/.297/.3914093-0.0
Last 3 seasons WAR 0.9  ·  Next 2 projected WAR 0.5Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2029Service3.889First FA2030
2027Arb-1$0.2M2028Arb-2$0.4M2029Ext$0.6M
Skills · percentileStatcast 2024-2026
Barrel%45
Bat Spd39
Avg EV33
xwOBA32
Speed26
Form.233/.308/.423 ▲ rolling true talent (60d window) · proj .219/.302/.407
CompsShelley Duncan (age 32) · Tagg Bozied (age 30) · Jeff Bailey (age 31)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†vL 103100vR 92
AVG/OBP/SLG.220 / .305 / .407
PA172
HR7
K%26
BB%9
BABIP256
ISO178
MLB%100%
Value2027 · WAR
BAT: -0.1 runs (wOBA-derived runs vs avg)-0BATRUN: -0.1 runs (SB/CS + UBR baserunning)-0RUNFLD: -1.8 runs (Defensive runs vs avg)-2FLDPOS: +3.1 runs (Positional adjustment)+3POSREP: +3.7 runs (Replacement-level credit)+4REPTotal WAR: +0.10+0.1WAR
0.00.51.00.10.027282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit+$0M ctrl surplus
Tools · Recent Form · Splits · ContractCON 40 / POW 50
Toolsscout grade · Statcast %ile · 2024-2026
CONTACT40
xAVG
100.204
POWER50
Barrel%
457.5
Avg EV
3387.8
Bat Spd
3970.1
EYE45
scouting grade only
SPEED45
Sprint
2626.3
Recent Formrolling true talent ⓘ
K%21%▲▲16% over 45 PA (60d) · proj 25%
BB%9%▼7% over 45 PA (60d) · proj 10%
ISO.190·.200 over 40 AB (60d) · proj .188
HR/BB6.5%·6.1% over 33 BBE (60d) · proj 6.6%
BABIP.256·.290 over 31 BIP (60d) · proj .255
SLASH.233/.308/.423▲proj .219/.302/.407
Platoon Splits2024-2026 · 572 PA
vs LHP
vs RHP
Edge
PA
308
264
—
wRC+
124
85
◀◀L
wOBA
351
294
◀◀L
ISO
225
134
◀◀L
BABIP
284
283
—
K%
27.6%
24.2%
▶R
BB%
11.7%
6.1%
◀◀L
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   Arb-1
MLB Debut   2023
Service   3.889 yrs.days
Team Control Through   2029
First FA Year   2030
YearStatusSalary Proj WAR Value Surplus
2027Arb-1$0.2M+0.1$0.4M+$0.2M
2028Arb-2$0.4M———
2029Extbeyond projection horizon · no WAR estimate
Totals $0.2M $0.4M +$0.2M

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)
201822 ROKHelena Brewers — 261222 7015212 29427 21 315411563974 248339 1611 421 84 — — — — — —
201923 AWisconsin Timber Rattlers — 568504 13041117 501116 74 258332444777 187296 209 340 55 — — — — — —
201923 INTLGlendale Desert Dogs — 5650 15501 5131 00 300375460835 160389 239 373 138 — — — — — —
202125 AAANashville Sounds — 6052 15411 7171 00 288383462845 173412 2812 377 95 — — — — — —
202125 AABiloxi Shuckers — 299262 6515211 31716 11 248341447788 198300 2410 351 68 — — — — — —
202226 AAAColumbus Clippers — 479422 10827217 399210 20 256333450784 194285 198 342 81 — — — — — —
202226 INTLPeoria Javelinas — 4942 12301 4111 00 286362429790 143344 228 341 117 — — — — — —
202327 MLBCleveland Guardians — 113101 24604 8304 20 238319416734 178299 277 329 108 +1 +0 -5 +4 +2 0.3
202327 AAAColumbus Clippers — 117101 32914 11214 20 317405545950 228364 189 414 109 — — — — — —
202428 MLBCleveland Guardians — 392335 8818114 42849 41 263358448806 185307 2111 356 122 +10 +0 -2 -7 +8 1.0
202529 MLBCleveland Guardians — 157146 25408 9582 10 171229363592 192212 376 263 64 -7 +0 +0 +3 +3 -0.0
202630 MLBCleveland Guardians — 214184 37608 28592 00 201313364677 163248 2813 309 93 -2 +0 -1 -3 +5 -0.1
202630 AAAColumbus Clippers — 3834 10106 250 00 2943338531.186 559160 135 471 131 — — — — — —
▸ Career Totals (raw MLB only — historical actual)
MLB Career— — 876766 17434134 8723117 71 227319407726 180277 2610 324 106 +6 +1 -8 -3 +19 1.5
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
201822 ROK MLEHelena Brewers — 261235 521019 16617 21 221291387678 166252 236 293 84 — — — — — —
201923 A MLEWisconsin Timber Rattlers — 568519 10127112 351526 74 195254320573 125238 276 250 55 — — — — — —
202125 AAA MLENashville Sounds — 6054 14311 5201 00 259333407741 148377 338 308 95 — — — — — —
202125 AA MLEBiloxi Shuckers — 299273 551129 20886 11 201271355626 154257 297 269 68 — — — — — —
202226 AAA MLEColumbus Clippers — 479432 9822212 2910710 20 227291370661 144262 226 288 81 — — — — — —
202327 MLB MLECleveland Guardians — 113101 24604 8304 20 238319416734 178299 277 328 108 +1 +0 -5 +4 +2 0.3
202327 AAA MLEColumbus Clippers — 117104 28713 8254 20 269345442787 173311 217 329 109 — — — — — —
202428 MLB MLECleveland Guardians — 392341 8818114 38849 41 258348440788 182307 2110 349 122 +10 +0 -2 -7 +8 1.0
202529 MLB MLECleveland Guardians — 157146 25408 9582 10 171229363592 192212 376 263 64 -7 +0 +0 +3 +3 -0.0
202630 MLB MLECleveland Guardians — 214185 37608 27592 00 200308362671 162248 2813 305 93 -2 +0 -1 -3 +5 -0.1
202630 AAA MLEColumbus Clippers — 3835 8104 160 00 229250600850 371130 163 362 131 — — — — — —
201822 ROK MLEHelena Brewers — 261235 521019 16617 21 221291387678 166256 236 293 84 — — — — — —
201822 ROK RAWHelena Brewers — 261222 7015212 29427 21 315411563974 248339 1611 421 84 — — — — — —
201923 A MLE2 teams — 624571 11129114 381677 74 194253322575 128245 276 250 55 — — — — — —
201923 A RAW2 teams — 624554 14546118 551247 74 262336446782 184304 209 343 55 — — — — — —
202125 AA MLE2 teams — 359326 6814310 261087 11 209281362643 153279 307 276 73 — — — — — —
202125 AA RAW2 teams — 359314 8019312 38887 11 255348449797 194318 2511 355 73 — — — — — —
202226 AAA MLE2 teams — 528475 10724213 3211811 20 225290366656 141267 226 288 81 — — — — — —
202226 AAA RAW2 teams — 528464 12030218 4310311 20 259336448784 190291 208 342 81 — — — — — —
202327 AAA MLE2 teams — 230205 511317 16558 40 249328424752 176306 247 329 109 — — — — — —
202327 AAA RAW2 teams — 230202 561518 19518 40 277362480843 203333 228 372 109 — — — — — —
202428 MLB MLECleveland Guardians — 392341 8818114 38849 41 258348440788 182300 2110 349 122 +10 +0 -2 -7 +8 1.0
202428 MLB RAWCleveland Guardians — 392335 8818114 42849 41 263358448806 185307 2111 356 122 +10 +0 -2 -7 +8 1.0
202529 MLB MLECleveland Guardians — 157146 25408 9582 10 171229363592 192212 376 263 64 -7 +0 +0 +3 +3 -0.0
202529 MLB RAWCleveland Guardians — 157146 25408 9582 10 171229363592 192212 376 263 64 -7 +0 +0 +3 +3 -0.0
202630 MLB MLE2 teams — 252220 457012 28652 00 205300400700 195228 2611 314 99 -0 +0 -1 -3 +5 0.2
202630 MLB RAW2 teams — 252218 477014 30642 00 216316440756 225232 2512 334 99 -0 +0 -1 -3 +5 0.2
201822 ROK MLEHelena Brewers — 261236 521019 16617 21 220291386676 165252 236 293 84 — — — — — —
201923 A MLE2 teams — 624574 11129114 381677 74 193253321574 127238 276 250 55 — — — — — —
202125 AA MLE2 teams — 359323 6814310 261087 11 211281365647 155277 307 276 73 — — — — — —
202226 AAA MLE2 teams — 528480 10724213 3211811 20 223290362652 140262 226 288 81 — — — — — —
202327 AAA MLE2 teams — 230204 511317 16558 40 250328426754 176305 247 329 109 — — — — — —
202428 MLB MLECleveland Guardians — 392342 8818114 38849 41 257348439787 181307 2110 349 122 — — — — — —
202529 MLB MLECleveland Guardians — 157145 25408 9582 10 172229366595 193212 376 263 64 — — — — — —
202630 MLB MLE2 teams — 252220 457012 28652 00 205300400700 195230 2611 314 99 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202428 MLB MLECleveland Guardians — 392342 8818114 38849 41 257348439787 181307 2110 349 122 — — — — — —
202529 MLB MLECleveland Guardians — 157145 25408 9582 10 172229366595 193212 376 263 64 — — — — — —
202630 MLB MLE2 teams — 252220 457012 28652 00 205300400700 195230 2611 314 99 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202731 MLB MLECLE 100% 277246 5510112 26703 21 219304407711 187255 259 316 100 -0 +0 -3 +5 +6 0.1
▸ 2027 — real world (MLB)
202731 MLB CTXCLE 100% 172152 33607 16442 10 220305407711 187256 269 316 100 -0 +0 -2 +3 +4 0.5
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202832 MLB MLECLE 65% 160142 29506 15412 00 212297391687 178249 269 306 93 -1 +0 -5 +3 +3 -0.0
202832 MLB CTXCLE 65% 10492 19304 10271 00 213297391688 178249 2610 306 93 -1 +0 -3 +2 +2 -0.0
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 980858 19337138 9725818 71 225316403719 178273 2610 323 85 +5 +1 -12 -1 +21 1.5
/ 162G— A+C — 650569 12925125 6417112 51 227317406723 179277 2610 323 85 +3 +1 -8 -1 +14 1.0
Career— MLE — 31352813 6091309100 23480157 227 216290376666 159263 267 293 85 +5 +1 -15 +3 +26 2.0
/ 162G— MLE — 650583 12727221 4916612 51 218292379671 161264 268 293 85 +3 +1 -8 +2 +14 1.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 AAAColumbus Clippers · 38 PAwOBA .480 → .362 (−118)K% 13.2% → 15.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA13.16%÷1.000×1.200——15.79%
BB% (unintentional) /PA5.26%÷1.000×0.690—×0.9623.49%
HBP% /PA0.00%—×0.940—×0.9620.00%
Singles /BIP10.34%÷1.000×0.930—×0.9629.26%
Doubles /BIP3.45%÷1.000×0.830—×0.9622.75%
Triples /BIP0.00%÷1.000×0.970—×0.9620.00%
Home runs /BIP20.69%÷1.000×0.700—×0.96213.93%

Factors used: league row International League. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 31 vs a level average of 27.2 → −3.8% on BB/HBP/hit rates (3.8 yr older than average).

Result: wOBA .480 → .362; ISO .559 → .402; BABIP .160 → .130. 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 AAAColumbus Clippers · 117 PAwOBA .406 → .329 (−77)K% 17.9% → 21.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.95%÷1.008×1.200——21.37%
BB% (unintentional) /PA9.40%÷0.994×0.690—×0.9926.47%
HBP% /PA3.42%—×0.940—×0.9923.19%
Singles /BIP22.50%÷0.963×0.930×0.950×0.99220.48%
Doubles /BIP11.25%÷1.018×0.830×0.950×0.9928.65%
Triples /BIP1.25%÷0.900×0.970×0.950×0.9921.27%
Home runs /BIP5.00%÷1.037×0.700—×0.9923.35%

Factors used: league row International League. Park (home-season share, regressed): HR 107, 1B 93, 2B 104, 3B 80, K 102, BB 99 — applied at half strength. Age: age 28 vs a level average of 27.2 → −0.8% on BB/HBP/hit rates (0.8 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.

Result: wOBA .406 → .329; ISO .228 → .170; BABIP .364 → .311. 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 AAAColumbus Clippers · 479 PAwOBA .337 → .288 (−49)K% 19.2% → 22.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA19.21%÷1.036×1.200——22.26%
BB% (unintentional) /PA8.14%÷0.930×0.690—×1.0036.06%
HBP% /PA2.09%—×0.940—×1.0031.97%
Singles /BIP18.79%÷0.941×0.930×0.997×1.00318.58%
Doubles /BIP8.18%÷1.040×0.830×0.997×1.0036.53%
Triples /BIP0.61%÷0.900×0.970×0.997×1.0030.65%
Home runs /BIP5.15%÷1.001×0.700—×1.0033.61%

Factors used: league row International League. Park (home-season share, regressed): HR 100, 1B 88, 2B 108, 3B 80, K 107, BB 86 — applied at half strength. Age: age 27 vs a level average of 27.2 → +0.3% on BB/HBP/hit rates (0.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.997.

Result: wOBA .337 → .288; ISO .194 → .148; BABIP .285 → .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).

2021 AABiloxi Shuckers · 299 PAwOBA .342 → .269 (−72)K% 23.7% → 29.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.75%÷0.980×1.220——29.55%
BB% (unintentional) /PA10.37%÷1.033×0.690—×0.9886.84%
HBP% /PA2.01%—×0.850—×0.9881.69%
Singles /BIP19.37%÷0.993×0.940×0.977×0.98817.70%
Doubles /BIP7.85%÷1.124×0.870×0.977×0.9885.87%
Triples /BIP1.05%÷1.000×0.920×0.977×0.9880.93%
Home runs /BIP5.76%÷0.929×0.780—×0.9884.77%

Factors used: level-wide AA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 86, 1B 99, 2B 125, 3B 100, K 96, BB 107 — 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 ×0.977.

Result: wOBA .342 → .269; ISO .198 → .156; BABIP .300 → .257. 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).

2021 AAANashville Sounds · 60 PAwOBA .367 → .308 (−59)K% 28.3% → 33.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA28.33%÷1.024×1.200——33.21%
BB% (unintentional) /PA11.67%÷0.946×0.690—×1.0188.66%
HBP% /PA1.67%—×0.940—×1.0181.59%
Singles /BIP25.71%÷0.966×0.930—×1.01825.19%
Doubles /BIP11.43%÷1.030×0.830—×1.0189.38%
Triples /BIP2.86%÷1.150×0.920—×1.0182.33%
Home runs /BIP2.86%÷0.915×0.700—×1.0182.23%

Factors used: level-wide AAA factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 83, 1B 93, 2B 106, 3B 130, K 105, BB 89 — applied at half strength. Age: age 26 vs a level average of 27.2 → +1.8% on BB/HBP/hit rates (1.2 yr younger than average).

Result: wOBA .367 → .308; ISO .173 → .135; BABIP .412 → .377. 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).

2019 AWisconsin Timber Rattlers · 568 PAwOBA .334 → .250 (−84)K% 19.5% → 26.7%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA19.54%÷0.994×1.360——26.75%
BB% (unintentional) /PA8.63%÷0.953×0.690—×0.9806.12%
HBP% /PA1.06%—×0.780—×0.9800.81%
Singles /BIP18.07%÷0.963×0.920×0.950×0.98016.08%
Doubles /BIP10.43%÷1.136×0.830×0.950×0.9807.10%
Triples /BIP0.25%÷1.150×0.910×0.950×0.9800.19%
Home runs /BIP4.33%÷1.022×0.800—×0.9803.32%

Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 104, 1B 92, 2B 127, 3B 130, K 99, BB 91 — 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 ×0.950.

Result: wOBA .334 → .250; ISO .187 → .130; BABIP .296 → .238. 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).

2018 ROKHelena Brewers · 261 PAwOBA .414 → .293 (−120)K% 16.1% → 23.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.09%÷1.000×1.440——23.17%
BB% (unintentional) /PA10.73%÷1.000×0.610—×0.9656.32%
HBP% /PA2.68%—×0.720—×0.9651.86%
Singles /BIP22.78%÷1.000×0.820×0.992×0.96517.88%
Doubles /BIP8.33%÷1.000×0.720×0.992×0.9655.75%
Triples /BIP1.11%÷1.000×0.720×0.992×0.9650.77%
Home runs /BIP6.67%÷1.000×0.750—×0.9654.83%

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

Result: wOBA .414 → .293; ISO .248 → .176; BABIP .339 → .252. 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 — .