Stephen Bruno

Pos2B
B/TR/R
Born1990-11-17
Age (2027)36
No MLB projection yet. Career stats below are historical.
Overview
AAALAST SEASON 2018
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
201625AAA/AA2 orgs81.247/.312/.3561255—.217/.275/.322
201726AAACHC243.265/.321/.4349779—.235/.287/.380
201827AAACHC305.240/.316/.3213542—.197/.256/.265
Contract
No contract data on file.

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)
201322 A+Daytona Cubs — 7869 25800 5164 21 362436478914 116472 216 411 109 — — — — — —
201423 AATennessee Smokies — 432384 1062653 277716 62 276349393742 117334 186 332 78 — — — — — —
201524 AATennessee Smokies — 388342 901712 266413 93 263339336675 73314 167 306 67 — — — — — —
201625 AAAIowa Cubs — 1616 3101 050 10 188188438625 250200 310 267 25 — — — — — —
201625 AATennessee Smokies — 6557 15210 4183 10 263344333677 70375 286 308 62 — — — — — —
201726 AAAIowa Cubs — 243219 581009 74311 70 265321434754 169287 183 329 79 — — — — — —
201827 AAAIowa Cubs — 305271 651303 184612 56 240316321637 81277 156 291 42 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
201322 A+ MLEDaytona Cubs — 7870 20600 4214 21 286359371730 86418 275 329 109 — — — — — —
201423 AA MLETennessee Smokies — 432392 962142 199616 62 245307334641 89308 224 283 78 — — — — — —
201524 AA MLETennessee Smokies — 388350 851612 188113 93 243304311616 69294 215 267 67 — — — — — —
201625 AAA MLEIowa Cubs — 1616 3101 060 10 188188438625 250178 380 205 25 — — — — — —
201625 AA MLETennessee Smokies — 6558 13210 3223 10 224297293590 69342 345 260 62 — — — — — —
201726 AAA MLEIowa Cubs — 243221 52808 55111 70 235287380667 145253 212 285 79 — — — — — —
201827 AAA MLEIowa Cubs — 305279 551003 106012 56 197256265521 68233 203 231 42 — — — — — —
201322 A+ MLEDaytona Cubs — 7870 20600 4214 21 286359371730 86408 275 329 109 — — — — — —
201322 A+ RAWDaytona Cubs — 7869 25800 5164 21 362436478914 116472 216 411 109 — — — — — —
201423 AA MLETennessee Smokies — 432392 962142 199616 62 245307334641 89315 224 283 78 — — — — — —
201423 AA RAWTennessee Smokies — 432384 1062653 277716 62 276349393742 117334 186 332 78 — — — — — —
201524 AA MLETennessee Smokies — 388350 851612 188113 93 243304311616 69306 215 267 67 — — — — — —
201524 AA RAWTennessee Smokies — 388342 901712 266413 93 263339336675 73314 167 306 67 — — — — — —
201625 AA MLE2 teams — 8174 16311 3283 20 216275324599 108326 354 249 55 — — — — — —
201625 AA RAW2 teams — 8173 18311 4233 20 247312356669 110340 285 300 55 — — — — — —
201726 AAA MLEIowa Cubs — 243221 52808 55111 70 235287380667 145265 212 285 79 — — — — — —
201726 AAA RAWIowa Cubs — 243219 581009 74311 70 265321434754 169287 183 329 79 — — — — — —
201827 AAA MLEIowa Cubs — 305279 551003 106012 56 197256265521 68239 203 231 42 — — — — — —
201827 AAA RAWIowa Cubs — 305271 651303 184612 56 240316321637 81277 156 291 42 — — — — — —
201322 A+ MLEDaytona Cubs — 7870 20600 4214 21 286359371730 86418 275 329 109 — — — — — —
201423 AA MLETennessee Smokies — 432394 962142 199616 62 244307332639 89308 224 283 78 — — — — — —
201524 AA MLETennessee Smokies — 388354 851612 188113 93 240304308612 68294 215 267 67 — — — — — —
201625 AA MLE2 teams — 8175 16311 3283 20 213275320595 107310 354 249 55 — — — — — —
201726 AAA MLEIowa Cubs — 243225 52808 55111 70 231287373660 142253 212 285 79 — — — — — —
201827 AAA MLEIowa Cubs — 305280 551003 106012 56 196256264520 68233 203 231 42 — — — — — —
▸ Career Totals
Career— MLE — 15271386 32464616 5933759 3112 234294323617 89294 224 269 68 -57 +1 +0 +5 +33 -1.8
/ 162G— MLE — 650590 1382737 2514325 135 234293325619 92294 224 269 68 -24 +1 +0 +2 +14 -0.8

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.

2018 AAAIowa Cubs · 305 PAwOBA .282 → .231 (−51)K% 15.1% → 19.6%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA15.08%÷0.993×1.290——19.59%
BB% (unintentional) /PA5.25%÷1.116×0.710—×0.9923.31%
HBP% /PA3.93%—×0.980—×0.9923.82%
Singles /BIP21.78%÷1.033×0.900×1.007×0.99218.95%
Doubles /BIP5.78%÷1.091×0.810×1.007×0.9924.29%
Triples /BIP0.00%÷1.024×0.810×1.007×0.9920.00%
Home runs /BIP1.33%÷0.919×0.780—×0.9921.12%

Factors used: league row PCL. Park (home-season share, regressed): HR 84, 1B 107, 2B 118, 3B 105, K 99, BB 123 — 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 ×1.007.

Result: wOBA .282 → .231; ISO .081 → .063; BABIP .277 → .233. 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).

2017 AAAIowa Cubs · 243 PAwOBA .325 → .285 (−40)K% 17.7% → 21.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.70%÷1.083×1.290——21.08%
BB% (unintentional) /PA2.88%÷0.965×0.710—×1.0032.13%
HBP% /PA4.53%—×0.980—×1.0034.45%
Singles /BIP22.16%÷0.991×0.900×1.006×1.00320.31%
Doubles /BIP5.68%÷1.056×0.810×1.006×1.0034.40%
Triples /BIP0.00%÷1.042×0.810×1.006×1.0030.00%
Home runs /BIP5.11%÷0.899×0.780—×1.0034.45%

Factors used: league row PCL. Park (home-season share, regressed): HR 80, 1B 98, 2B 111, 3B 108, K 117, BB 93 — 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 ×1.006.

Result: wOBA .325 → .285; ISO .169 → .142; BABIP .287 → .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).

2016 AATennessee Smokies · 65 PAwOBA .305 → .260 (−45)K% 27.7% → 34.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA27.69%÷0.992×1.220——34.07%
BB% (unintentional) /PA6.15%÷0.982×0.680—×0.9884.21%
HBP% /PA4.62%—×0.840—×0.9883.83%
Singles /BIP30.77%÷1.013×0.920—×0.98827.61%
Doubles /BIP5.13%÷0.918×0.910—×0.9885.02%
Triples /BIP2.56%÷0.900×0.880—×0.9882.48%
Home runs /BIP0.00%÷1.059×0.800—×0.9880.00%

Factors used: league row SL. Park (home-season share, regressed): HR 112, 1B 103, 2B 84, 3B 80, K 98, BB 96 — 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).

Result: wOBA .305 → .260; ISO .070 → .066; BABIP .375 → .342. 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).

2016 AAAIowa Cubs · 16 PAwOBA .258 → .205 (−53)K% 31.2% → 38.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA31.25%÷1.037×1.290——38.87%
BB% (unintentional) /PA0.00%÷1.034×0.710—×1.0180.00%
HBP% /PA0.00%—×0.980—×1.0180.00%
Singles /BIP9.09%÷1.006×0.900—×1.0188.28%
Doubles /BIP9.09%÷0.927×0.810—×1.0188.08%
Triples /BIP0.00%÷0.945×0.810—×1.0180.00%
Home runs /BIP9.09%÷0.890×0.780—×1.0188.11%

Factors used: league row PCL. Park (home-season share, regressed): HR 78, 1B 101, 2B 85, 3B 89, K 107, BB 107 — 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 .258 → .205; ISO .250 → .198; BABIP .200 → .178. 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).

2015 AATennessee Smokies · 388 PAwOBA .300 → .267 (−33)K% 16.5% → 20.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.49%÷0.967×1.220——20.81%
BB% (unintentional) /PA6.44%÷0.959×0.680—×0.9984.56%
HBP% /PA3.35%—×0.840—×0.9982.81%
Singles /BIP25.18%÷1.026×0.920×1.044×0.99823.52%
Doubles /BIP6.12%÷0.998×0.910×1.044×0.9985.81%
Triples /BIP0.36%÷1.058×0.880×1.044×0.9980.31%
Home runs /BIP0.72%÷1.048×0.800—×0.9980.55%

Factors used: league row SL. Park (home-season share, regressed): HR 110, 1B 105, 2B 100, 3B 112, K 93, BB 92 — applied at half strength. Age: age 25 vs a level average of 24.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.044.

Result: wOBA .300 → .267; ISO .073 → .066; BABIP .314 → .294. 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).

2014 AATennessee Smokies · 432 PAwOBA .327 → .283 (−44)K% 17.8% → 22.2%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.82%÷0.980×1.220——22.18%
BB% (unintentional) /PA6.25%÷0.948×0.680—×1.0124.54%
HBP% /PA3.70%—×0.840—×1.0123.15%
Singles /BIP23.45%÷0.958×0.920×1.000×1.01222.78%
Doubles /BIP8.47%÷1.140×0.910×1.000×1.0126.84%
Triples /BIP1.63%÷1.065×0.880×1.000×1.0121.36%
Home runs /BIP0.98%÷1.009×0.800—×1.0120.78%

Factors used: league row SL. Park (home-season share, regressed): HR 102, 1B 92, 2B 128, 3B 113, K 96, BB 90 — applied at half strength. Age: age 24 vs a level average of 24.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.000.

Result: wOBA .327 → .283; ISO .117 → .094; BABIP .334 → .308. 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).

2013 A+Daytona Cubs · 78 PAwOBA .401 → .329 (−72)K% 20.5% → 27.3%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA20.51%÷1.066×1.420——27.34%
BB% (unintentional) /PA6.41%÷1.032×0.750—×0.9984.65%
HBP% /PA5.13%—×0.930—×0.9984.76%
Singles /BIP32.08%÷1.015×0.920—×0.99829.03%
Doubles /BIP15.09%÷1.132×0.960—×0.99812.77%
Triples /BIP0.00%÷0.900×0.810—×0.9980.00%
Home runs /BIP0.00%÷1.144×0.880—×0.9980.00%

Factors used: league row FSL. Park (home-season share, regressed): HR 129, 1B 103, 2B 126, 3B 80, K 113, BB 106 — applied at half strength. Age: age 23 vs a level average of 22.8 → −0.2% on BB/HBP/hit rates (0.2 yr older than average).

Result: wOBA .401 → .329; ISO .116 → .091; BABIP .472 → .418. 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).