Brooks Brannon

C Portland Sea Dogs
Age 23 R/R 5'11" / 210 lbs AA HR -5%K -4% Svc 0.0 · Ctrl thru 2033
Overview
AAPROSPECTMiLBFA 2034
OGV OFP35OGV rank#540ETA2029MLB%2%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202420A/ROK/INTL3 orgs329.258/.328/.3938661—.185/.245/.268
202521AA/A+BOS383.251/.308/.39310444—.200/.238/.298
202622AABOS398.280/.358/.560222107—.243/.305/.461
2027PROJMLE23MLBBOS4.219/.273/.38200780.0
2028PROJ28% MLB24MLBBOS103.224/.279/.39431830.2
2029PROJ44% MLB25MLBBOS176.227/.283/.40161860.3
Next 3 projected WAR 0.5Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2033Service0.0First FA2034
2027MiLB2028Pre-Arb$0.8M2029Pre-Arb$0.8M2030Pre-Arb$0.8M2031Arb-1$2M2032Arb-2$3M2033Arb-3$4M
Skills · percentileMiLB Statcast 2026 AA
ISO94
wOBA86
wRC+86
BB%44
Chase%35
Z-Con%32
Career WAR0.0 WAR median (P10 -0.4 / P90 15, comp-based) · star 3% · didn't stick 65%
CompsDeivy Grullón (age 23) · Julian Leon (age 23) · Marcos Castañon (age 24)
2027 FULL-SEASON PROJECTIONstats below = full-season projection
showingPROJ
wRC+†78
AVG/OBP/SLG.219 / .273 / .382
PA4
HR0
K%25
BB%6
BABIP306
ISO166
MLB%2%
Value2027 · WAR
BAT: -5.5 runs (wOBA-derived runs vs avg)-6BATRUN: -0.3 runs (SB/CS + UBR baserunning)-0RUNFLD: -1.3 runs (Defensive runs vs avg)-1FLDPOS: +3.8 runs (Positional adjustment)+4POSREP: +4.5 runs (Replacement-level credit)+5REPTotal WAR: +0.30+0.3WAR
0.00.51.00.00.20.30.50.50.40.327282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit━ post-control+$6M ctrl surplus
Contract
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2028
Service   0 yrs (est)
Team Control Through   2033
First FA Year   2034
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2028
2028Pre-Arb$0.8M+0.2$0.7M+$0.0M
2029Pre-Arb$0.8M+0.3$1M+$0.4M
2030Pre-Arb$0.8M+0.5$2M+$1.0M
2031Arb-1$2M+0.5$1M+$0.0M
2032Arb-2$3M+0.4$1M+$0.0M (cut)
2033Arb-3$4M+0.3$0.8M+$0.0M (cut)
Totals $5M $7M +$1M

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)
202218 ROKFCL Red Sox — 1513 6120 250 00 4625338461.379 385750 3313 575 128 — — — — — —
202319 ASalem Red Sox — 2524 7003 180 00 292320667987 375308 324 422 86 — — — — — —
202319 ROKFCL Red Sox — 5248 12313 3120 00 250294542836 292273 236 352 46 — — — — — —
202420 ASalem Red Sox — 230207 52826 23670 51 251326396722 145343 2910 324 49 — — — — — —
202420 ROKFCL Red Sox — 2723 4000 4100 10 174296174470 308 3715 237 -12 — — — — — —
202420 INTLMesa Solar Sox — 7268 21402 4210 00 309347456803 147422 296 356 127 — — — — — —
202521 AAPortland Sea Dogs — 159143 32805 15541 10 224302385687 161321 349 309 48 — — — — — —
202521 A+Greenville Drive — 224211 57825 12631 31 270312398711 128364 285 317 42 — — — — — —
202622 AAPortland Sea Dogs — 398350 9828222 391154 21 280358560918 280350 2910 394 107 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202218 ROK MLEFCL Red Sox — 1514 3010 170 00 214267357624 143589 477 357 128 — — — — — —
202319 A MLESalem Red Sox — 2524 5002 1110 00 208240458698 250279 444 295 86 — — — — — —
202319 ROK MLEFCL Red Sox — 5249 9212 2170 00 184216388603 204205 334 236 46 — — — — — —
202420 A MLESalem Red Sox — 230214 41614 16960 51 192248285533 93322 427 240 49 — — — — — —
202420 ROK MLEFCL Red Sox — 2724 3000 3140 10 125222125347 253 5211 151 -12 — — — — — —
202521 AA MLEPortland Sea Dogs — 159148 27603 10671 10 182239284523 101316 426 239 48 — — — — — —
202521 A+ MLEGreenville Drive — 224217 46524 6881 31 212237309545 97331 393 231 42 — — — — — —
202622 AA MLEPortland Sea Dogs — 398362 8824217 281404 21 243305461766 218333 357 327 107 — — — — — —
202218 ROK MLEFCL Red Sox — 1514 3010 170 00 214267357624 143429 477 357 128 — — — — — —
202218 ROK RAWFCL Red Sox — 1513 6120 250 00 4625338461.379 385750 3313 575 128 — — — — — —
202319 ROK MLE2 teams — 7773 14214 3280 00 192224411635 219244 364 255 59 — — — — — —
202319 ROK RAW2 teams — 7772 19316 4200 00 264303583886 319283 265 375 59 — — — — — —
202420 A MLE3 teams — 329305 56726 241410 61 184243279522 95316 437 231 42 — — — — — —
202420 A RAW3 teams — 329298 771228 31980 61 258328393721 134359 309 324 42 — — — — — —
202521 A+ MLE2 teams — 383365 731127 161562 41 200238299536 99327 414 234 45 — — — — — —
202521 A+ RAW2 teams — 383354 8916210 271172 41 251308393701 141348 317 314 45 — — — — — —
202622 AA MLEPortland Sea Dogs — 398362 8824217 281404 21 243305461766 218340 357 327 107 — — — — — —
202622 AA RAWPortland Sea Dogs — 398350 9828222 391154 21 280358560918 280350 2910 394 107 — — — — — —
202218 ROK MLEFCL Red Sox — 1514 3010 170 00 214267357624 143589 477 357 128 — — — — — —
202319 ROK MLE2 teams — 7774 14214 3280 00 189224405629 216229 364 255 59 — — — — — —
202420 A MLE3 teams — 329302 56726 241410 61 185243281525 96315 437 231 42 — — — — — —
202521 A+ MLE2 teams — 383362 731127 161562 41 202238301539 99325 414 234 45 — — — — — —
202622 AA MLEPortland Sea Dogs — 398363 8824217 281404 21 242305460765 218333 357 327 107 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202420 A MLE3 teams — 329302 56726 241410 61 185243281525 96315 437 231 42 — — — — — —
202521 A+ MLE2 teams — 383362 731127 161562 41 202238301539 99325 414 234 45 — — — — — —
202622 AA MLEPortland Sea Dogs — 398363 8824217 281404 21 242305460765 218333 357 327 107 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202723 MLB MLEBOS 2% 508468 10022216 311734 41 213267374641 161294 346 283 78 -13 +0 -3 +9 +11 0.3
▸ 2027 — real world (MLB)
202723 MLB CTXBOS 2% 44 0000 010 00 219273382655 163306 250 289 78 -0 +0 -0 +0 +0 0.0
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202824 MLB MLEBOS 28% 364335 7416213 231213 31 217273386659 168295 336 291 83 -7 +0 -2 +7 +8 0.5
202925 MLB MLEBOS 44% 403371 8117214 261323 31 220277393670 173295 336 296 86 -7 +0 -2 +7 +9 0.8
203026 MLB MLEBOS 53% 427393 8718215 281373 31 222280396676 174295 327 298 88 -6 +0 -2 +8 +9 0.9
203127 MLB MLEBOS 56% 435400 8818215 291383 31 222281394675 172294 327 298 88 -6 +0 -2 +8 +9 0.9
203228 MLB MLEBOS 58% 435399 8818215 301373 21 221281390671 169293 317 297 87 -7 +0 -3 +8 +9 0.8
203329 MLB MLEBOS 58% 425390 8618214 291353 21 219278384662 165291 327 293 84 -8 +0 -4 +8 +9 0.5
203430 MLB MLEBOS 58% 414380 8217114 281333 13 216274376651 160289 327 288 81 -9 -1 -4 +7 +9 0.2
203531 MLB MLEBOS 58% 381351 7315112 251242 13 212269367636 155286 337 282 77 -10 -1 -5 +7 +8 -0.1
203632 MLB MLEBOS 57% 342315 6413110 221132 14 206263354617 147281 336 274 72 -11 -1 -5 +6 +7 -0.5
202824 MLB CTXBOS 28% 10394 20503 7341 10 224279394673 171306 337 297 83 -2 +0 -1 +2 +2 0.2
202925 MLB CTXBOS 44% 176162 36816 11571 10 227283401684 175307 326 302 86 -3 +0 -1 +3 +4 0.3
203026 MLB CTXBOS 53% 224205 471118 15722 21 228286404690 176306 327 304 88 -3 +0 -1 +4 +5 0.5
203127 MLB CTXBOS 56% 243223 511218 16772 21 228287403689 174305 327 304 88 -4 +0 -1 +4 +5 0.5
203228 MLB CTXBOS 58% 252231 531219 17792 11 228287399686 171304 317 303 87 -4 -0 -2 +4 +5 0.4
203329 MLB CTXBOS 58% 246225 511218 17782 11 225284392676 167302 327 299 84 -5 -0 -2 +4 +5 0.3
203430 MLB CTXBOS 58% 239219 491118 16772 12 222280385665 163300 327 294 81 -5 -1 -2 +4 +5 0.1
203531 MLB CTXBOS 58% 219202 451017 14711 12 218275375650 157297 326 288 77 -6 -1 -3 +4 +5 -0.1
203632 MLB CTXBOS 57% 197181 40916 13651 12 213269362631 150292 337 280 72 -7 -1 -3 +4 +4 -0.2
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 18991742 39290863 12661014 1110 225283394677 169305 327 297 79 -38 -2 -16 +34 +41 2.0
/ 162G— A+C — 650596 13531322 432095 43 227284399683 173307 327 297 79 -13 -1 -5 +12 +14 0.7
Career— MLE — 50384646 99920324163 325171433 3320 215271374645 159299 346 285 79 -78 -3 -30 +69 +83 4.2
/ 162G— MLE — 650599 12926321 422214 43 215271374645 159300 346 285 79 -13 -0 -5 +12 +14 0.7

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 · 398 PAwOBA .387 → .327 (−60)K% 28.9% → 35.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA28.89%÷1.000×1.220——35.25%
BB% (unintentional) /PA9.80%÷1.000×0.700—×1.0427.15%
HBP% /PA1.01%—×0.850—×1.0420.89%
Singles /BIP19.57%÷1.000×0.970×1.000×1.04219.79%
Doubles /BIP11.91%÷1.000×0.860×1.000×1.04210.68%
Triples /BIP0.85%÷1.000×0.950×1.000×1.0420.84%
Home runs /BIP9.36%÷1.000×0.780—×1.0427.61%

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

Result: wOBA .387 → .327; ISO .280 → .227; BABIP .350 → .333. 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 · 224 PAwOBA .305 → .231 (−74)K% 28.1% → 39.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA28.12%÷0.936×1.310——39.38%
BB% (unintentional) /PA4.46%÷1.050×0.600—×1.0272.62%
HBP% /PA0.45%—×0.770—×1.0270.35%
Singles /BIP28.38%÷0.974×0.870×1.035×1.02726.94%
Doubles /BIP5.41%÷1.099×0.780×1.035×1.0274.08%
Triples /BIP1.35%÷1.011×0.850×1.035×1.0271.21%
Home runs /BIP3.38%÷1.117×0.880—×1.0272.73%

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

Result: wOBA .305 → .231; ISO .128 → .090; BABIP .364 → .331. 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 AAPortland Sea Dogs · 159 PAwOBA .300 → .239 (−61)K% 34.0% → 42.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA33.96%÷0.978×1.220——42.37%
BB% (unintentional) /PA9.43%÷1.055×0.700—×1.0506.57%
HBP% /PA0.63%—×0.850—×1.0500.56%
Singles /BIP21.35%÷0.962×0.970×1.013×1.05022.91%
Doubles /BIP8.99%÷1.109×0.860×1.013×1.0507.41%
Triples /BIP0.00%÷1.141×0.950×1.013×1.0500.00%
Home runs /BIP5.62%÷1.119×0.780—×1.0504.11%

Factors used: league row EL. Park (home-season share, regressed): HR 124, 1B 92, 2B 122, 3B 128, K 96, BB 111 — applied at half strength. Age: age 21 vs a level average of 24.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.013.

Result: wOBA .300 → .239; ISO .161 → .111; BABIP .321 → .316. 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 · 230 PAwOBA .316 → .240 (−76)K% 29.1% → 41.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA29.13%÷0.948×1.360——41.79%
BB% (unintentional) /PA10.00%÷1.011×0.690—×1.0307.03%
HBP% /PA0.00%—×0.780—×1.0300.00%
Singles /BIP25.71%÷0.989×0.920×1.018×1.03025.08%
Doubles /BIP5.71%÷1.051×0.830×1.018×1.0304.73%
Triples /BIP1.43%÷1.150×0.910×1.018×1.0301.18%
Home runs /BIP4.29%÷0.933×0.800—×1.0303.79%

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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.018.

Result: wOBA .316 → .240; ISO .145 → .105; BABIP .343 → .322. 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 ROKFCL Red Sox · 27 PAwOBA .233 → .151 (−82)K% 37.0% → 52.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA37.04%÷1.026×1.440——52.00%
BB% (unintentional) /PA14.81%÷0.968×0.620—×0.9959.44%
HBP% /PA0.00%—×0.720—×0.9950.00%
Singles /BIP30.77%÷0.993×0.820—×0.99525.27%
Doubles /BIP0.00%÷1.061×0.720—×0.9950.00%
Triples /BIP0.00%÷1.000×0.720—×0.9950.00%
Home runs /BIP0.00%÷0.952×0.780—×0.9950.00%

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

Result: wOBA .233 → .151; ISO .000 → .000; BABIP .308 → .253. 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 · 52 PAwOBA .342 → .236 (−106)K% 23.1% → 33.4%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA23.08%÷0.995×1.440——33.40%
BB% (unintentional) /PA5.77%÷1.000×0.620—×1.0083.60%
HBP% /PA0.00%—×0.720—×1.0080.00%
Singles /BIP13.89%÷0.977×0.820—×1.00811.75%
Doubles /BIP8.33%÷1.079×0.720—×1.0085.60%
Triples /BIP2.78%÷1.150×0.720—×1.0081.75%
Home runs /BIP8.33%÷0.974×0.780—×1.0086.73%

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).

Result: wOBA .342 → .236; ISO .292 → .200; BABIP .273 → .205. 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 · 25 PAwOBA .409 → .295 (−114)K% 32.0% → 44.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA32.00%÷0.982×1.360——44.32%
BB% (unintentional) /PA4.00%÷1.052×0.690—×1.0452.74%
HBP% /PA0.00%—×0.780—×1.0450.00%
Singles /BIP25.00%÷1.023×0.920—×1.04523.49%
Doubles /BIP0.00%÷0.942×0.830—×1.0450.00%
Triples /BIP0.00%÷1.000×0.910—×1.0450.00%
Home runs /BIP18.75%÷0.999×0.800—×1.04515.69%

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 .409 → .295; ISO .375 → .260; BABIP .308 → .279. 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 ROKFCL Red Sox · 15 PAwOBA .560 → .357 (−203)K% 33.3% → 48.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA33.33%÷1.000×1.440——47.99%
BB% (unintentional) /PA13.33%÷1.080×0.620—×1.0227.83%
HBP% /PA0.00%—×0.720—×1.0220.00%
Singles /BIP37.50%÷1.010×0.820—×1.02231.12%
Doubles /BIP12.50%÷1.229×0.720—×1.0227.49%
Triples /BIP25.00%÷0.908×0.720—×1.02220.28%
Home runs /BIP0.00%÷0.943×0.780—×1.0220.00%

Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 89, 1B 102, 2B 146, 3B 82, K 100, BB 116 — applied at half strength. Age: age 18 vs a level average of 19.5 → +2.2% on BB/HBP/hit rates (1.5 yr younger than average).

Result: wOBA .560 → .357; ISO .385 → .245; BABIP .750 → .589. 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 — .