Stephen Bruno
Pos2B
B/TR/R
Born1990-11-17
Age (2026)35
Contract
No contract data on file. Pre-MLB players and minor-league free agents do not yet have salary projections — entries are added at first 40-man roster placement.
Career Projections (MLE)
All seasons translated to park-neutral MLB-equivalent (MLE) and combined per year. 2026 = actual YTD + projected ROS + total. 2027+ via Advanced Marcel + aging curve.
| Year | Age | Lvl | Team | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2013 | 22 | A+ | Daytona Cubs | 78 | 70 | 20 | 6 | 0 | 0 | 4 | 22 | 4 | 2 | 1 | .286 | .359 | .371 | .730 | .086 | .417 | 28 | 5 | .331 | 111 | +1 | +0 | +0 | +0 | +2 | 0.4 |
| 2014 | 23 | AA | Tennessee Smokies | 432 | 392 | 95 | 21 | 4 | 3 | 19 | 102 | 16 | 6 | 2 | .242 | .304 | .339 | .644 | .097 | .316 | 24 | 4 | .278 | 71 | -14 | +0 | +0 | +2 | +12 | -0.0 |
| 2015 | 24 | AA | Tennessee Smokies | 388 | 350 | 83 | 16 | 1 | 2 | 18 | 87 | 13 | 9 | 3 | .237 | .299 | .306 | .605 | .069 | .306 | 22 | 5 | .264 | 60 | -17 | +1 | +0 | +1 | +11 | -0.5 |
| 2016 | 25 | AA | 2 teams | 81 | 74 | 16 | 3 | 1 | 1 | 3 | 30 | 3 | 2 | 0 | .216 | .275 | .324 | .599 | .108 | .341 | 37 | 4 | .245 | 45 | -5 | +0 | +0 | +0 | +2 | -0.2 |
| 2017 | 26 | AAA | Iowa Cubs | 243 | 221 | 51 | 8 | 0 | 8 | 5 | 52 | 11 | 7 | 0 | .231 | .283 | .376 | .658 | .145 | .261 | 21 | 2 | .281 | 73 | -7 | +1 | +0 | +1 | +7 | 0.2 |
| 2018 | 27 | AAA | Iowa Cubs | 305 | 279 | 54 | 9 | 0 | 3 | 10 | 60 | 12 | 5 | 6 | .194 | .252 | .258 | .511 | .065 | .234 | 20 | 3 | .231 | 35 | -22 | -1 | +0 | +1 | +9 | -1.4 |
| ▸ Career Totals (MLE all levels + projections) | ||||||||||||||||||||||||||||||
| Career | — | 1527 | 1386 | 319 | 63 | 6 | 17 | 59 | 353 | 59 | 31 | 12 | .230 | .291 | .321 | .612 | .091 | .293 | 23 | 4 | .266 | 62 | -65 | +1 | +0 | +5 | +43 | -1.6 | ||
| / 162G | — | 650 | 590 | 136 | 27 | 3 | 7 | 25 | 150 | 25 | 13 | 5 | .231 | .290 | .322 | .612 | .092 | .294 | 23 | 4 | .266 | 62 | -28 | +1 | +0 | +2 | +18 | -0.7 | ||
Historical Stats — Raw (Per Stint)
Actual MLB + MiLB stats as they happened, one row per stint at each level. Use this to see what really got recorded; the table above shows MLB-equivalent translations + projections.
| Year | Age | Lvl | Team | PA | AB | H | 2B | 3B | HR | BB | SO | HBP | SB | CS | AVG | OBP | SLG | OPS | ISO | BABIP | K% | BB% | wOBA | wRC+ | BAT | RUN | FLD | POS | REP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2013 | 22 | A+ | Daytona Cubs | 78 | 69 | 25 | 8 | 0 | 0 | 5 | 16 | 4 | 2 | 1 | .362 | .436 | .478 | .914 | .116 | .472 | 21 | 6 | .411 | 173 | +6 | +0 | — | — | +2 | 0.9 |
| 2014 | 23 | AA | Tennessee Smokies | 432 | 384 | 106 | 26 | 5 | 3 | 27 | 77 | 16 | 6 | 2 | .276 | .349 | .393 | .742 | .117 | .334 | 18 | 6 | .332 | 112 | +6 | +0 | — | — | +12 | 1.9 |
| 2015 | 24 | AA | Tennessee Smokies | 388 | 342 | 90 | 17 | 1 | 2 | 26 | 64 | 13 | 9 | 3 | .263 | .339 | .336 | .675 | .073 | .314 | 16 | 7 | .306 | 92 | -3 | +1 | — | — | +11 | 0.8 |
| 2016 | 25 | AAA | Iowa Cubs | 16 | 16 | 3 | 1 | 0 | 1 | 0 | 5 | 0 | 1 | 0 | .188 | .188 | .438 | .625 | .250 | .200 | 31 | 0 | .267 | 62 | -1 | +0 | — | — | +0 | -0.0 |
| 2016 | 25 | AA | Tennessee Smokies | 65 | 57 | 15 | 2 | 1 | 0 | 4 | 18 | 3 | 1 | 0 | .263 | .344 | .333 | .677 | .070 | .375 | 28 | 6 | .308 | 94 | -0 | +0 | — | — | +2 | 0.2 |
| 2017 | 26 | AAA | Iowa Cubs | 243 | 219 | 58 | 10 | 0 | 9 | 7 | 43 | 11 | 7 | 0 | .265 | .321 | .434 | .754 | .169 | .287 | 18 | 3 | .329 | 110 | +3 | +1 | — | — | +7 | 1.1 |
| 2018 | 27 | AAA | Iowa Cubs | 305 | 271 | 65 | 13 | 0 | 3 | 18 | 46 | 12 | 5 | 6 | .240 | .316 | .321 | .637 | .081 | .277 | 15 | 6 | .291 | 81 | -7 | -1 | — | — | +9 | 0.1 |