Leo Heras
PosOF
B/TL/R
Born1990-05-29
Age (2026)36
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 | 17 | AAA | Potros de Tijuana | 22 | 21 | 3 | 0 | 0 | 0 | 1 | 7 | 0 | 0 | 0 | .143 | .182 | .143 | .325 | .000 | .214 | 32 | 5 | .162 | -18 | -3 | +0 | +0 | -0 | +1 | -0.2 |
| 2008 | 18 | AAA | Potros de Tijuana | 317 | 286 | 75 | 18 | 7 | 2 | 15 | 61 | 1 | 9 | 5 | .262 | .301 | .395 | .696 | .133 | .324 | 19 | 5 | .287 | 78 | -8 | -0 | +0 | -2 | +9 | -0.1 |
| 2009 | 19 | AAA | Broncos de Reynosa | 486 | 452 | 144 | 19 | 10 | 1 | 20 | 69 | 3 | 13 | 10 | .319 | .352 | .412 | .763 | .093 | .373 | 14 | 4 | .324 | 106 | +3 | -1 | +0 | -3 | +14 | 1.3 |
| 2010 | 20 | AAA | 2 teams | 739 | 672 | 199 | 22 | 10 | 6 | 38 | 84 | 5 | 20 | 8 | .296 | .338 | .385 | .724 | .089 | .328 | 11 | 5 | .317 | 101 | +1 | +1 | +0 | -4 | +21 | 1.8 |
| 2011 | 21 | AAA | 2 teams | 742 | 679 | 197 | 16 | 7 | 20 | 38 | 88 | 6 | 32 | 11 | .290 | .333 | .423 | .756 | .133 | .308 | 12 | 5 | .323 | 105 | +4 | +2 | +0 | -4 | +21 | 2.4 |
| 2012 | 22 | AAA | Diablos Rojos del Mexico | 521 | 474 | 124 | 15 | 2 | 19 | 34 | 99 | 6 | 17 | 7 | .262 | .319 | .422 | .741 | .160 | .292 | 19 | 7 | .319 | 102 | +1 | +1 | +0 | -3 | +15 | 1.4 |
| 2013 | 23 | AAA | 3 teams | 665 | 590 | 144 | 24 | 8 | 12 | 53 | 165 | 5 | 24 | 7 | .244 | .312 | .373 | .685 | .129 | .317 | 25 | 8 | .295 | 84 | -12 | +2 | +0 | -4 | +19 | 0.5 |
| 2014 | 24 | AA | 2 teams | 665 | 583 | 124 | 22 | 13 | 9 | 65 | 136 | 7 | 33 | 8 | .213 | .299 | .341 | .641 | .129 | .261 | 20 | 10 | .279 | 72 | -21 | +3 | +0 | -4 | +19 | -0.3 |
| 2015 | 25 | AA | 3 teams | 517 | 465 | 96 | 20 | 5 | 6 | 37 | 126 | 3 | 21 | 4 | .206 | .269 | .310 | .579 | .103 | .268 | 24 | 7 | .257 | 55 | -26 | +3 | +0 | -3 | +15 | -1.3 |
| 2016 | 26 | INTL | 2 teams | 500 | 438 | 94 | 7 | 5 | 6 | 52 | 178 | 2 | 18 | 7 | .215 | .301 | .295 | .595 | .080 | .345 | 36 | 10 | .262 | 59 | -23 | +1 | +0 | -3 | +14 | -1.2 |
| 2017 | 27 | AAA | 2 teams | 608 | 556 | 146 | 26 | 16 | 4 | 43 | 133 | 4 | 24 | 11 | .263 | .320 | .388 | .709 | .126 | .336 | 22 | 7 | .309 | 95 | -4 | +0 | +0 | -4 | +17 | 1.1 |
| 2018 | 28 | INTL | Yaquis de Obregon | 203 | 174 | 41 | 10 | 2 | 5 | 29 | 45 | 0 | 6 | 2 | .236 | .345 | .402 | .747 | .167 | .290 | 22 | 14 | — | — | — | — | +0 | -1 | — | — |
| 2019 | 29 | AAA | 2 teams | 653 | 560 | 143 | 24 | 5 | 26 | 72 | 146 | 4 | 24 | 8 | .255 | .344 | .455 | .800 | .200 | .297 | 22 | 11 | .341 | 119 | +14 | +2 | +0 | -4 | +19 | 3.1 |
| 2020 | 30 | INTL | Aguilas de Mexicali | 85 | 73 | 21 | 5 | 0 | 3 | 12 | 21 | 0 | 3 | 1 | .288 | .388 | .479 | .868 | .192 | .367 | 25 | 14 | — | — | — | — | +0 | -1 | — | — |
| 2021 | 31 | INTL | Aguilas de Mexicali | 256 | 208 | 49 | 9 | 2 | 4 | 42 | 49 | 2 | 7 | 2 | .236 | .369 | .356 | .725 | .120 | .290 | 19 | 16 | — | — | — | — | +0 | -2 | — | — |
| 2022 | 32 | INTL | Aguilas de Mexicali | 208 | 172 | 47 | 4 | 5 | 2 | 32 | 41 | 2 | 8 | 6 | .273 | .393 | .390 | .783 | .116 | .344 | 20 | 15 | — | — | — | — | +0 | -1 | — | — |
| 2023 | 33 | INTL | Aguilas de Mexicali | 202 | 170 | 35 | 10 | 4 | 3 | 26 | 39 | 0 | 6 | 0 | .206 | .311 | .365 | .676 | .159 | .250 | 19 | 13 | — | — | — | — | +0 | -1 | — | — |
| 2024 | 34 | INTL | Aguilas de Mexicali | 171 | 144 | 34 | 7 | 3 | 3 | 21 | 38 | 0 | 7 | 2 | .236 | .333 | .389 | .722 | .153 | .295 | 22 | 12 | — | — | — | — | +0 | -1 | — | — |
| 2025 | 35 | INTL | Mexico Rojo | 258 | 193 | 59 | 10 | 3 | 14 | 57 | 52 | 1 | 9 | 4 | .306 | .466 | .606 | 1.072 | .301 | .346 | 20 | 22 | — | — | — | — | +0 | -2 | — | — |
| ▸ Career Totals (MLE all levels + projections) | ||||||||||||||||||||||||||||||
| Career | — | 7818 | 6910 | 1775 | 268 | 107 | 145 | 687 | 1577 | 51 | 281 | 103 | .257 | .329 | .390 | .718 | .133 | .312 | 20 | 9 | .249 | 49 | -451 | +15 | +0 | -47 | +222 | -26.7 | ||
| / 162G | — | 650 | 575 | 147 | 22 | 9 | 12 | 57 | 131 | 4 | 23 | 9 | .256 | .327 | .388 | .715 | .132 | .310 | 20 | 9 | .249 | 49 | -38 | +1 | +0 | -4 | +18 | -2.2 | ||
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 | 17 | AAA | Potros de Tijuana | 22 | 21 | 4 | 0 | 0 | 0 | 1 | 6 | 0 | 0 | 0 | .190 | .227 | .190 | .418 | .000 | .267 | 27 | 5 | .196 | 8 | -2 | +0 | — | — | +1 | -0.2 |
| 2008 | 18 | AAA | Potros de Tijuana | 317 | 280 | 76 | 20 | 7 | 2 | 21 | 51 | 1 | 9 | 5 | .271 | .325 | .414 | .739 | .143 | .323 | 16 | 7 | .313 | 97 | -1 | -0 | — | — | +9 | 0.8 |
| 2009 | 19 | AAA | Broncos de Reynosa | 486 | 442 | 146 | 21 | 10 | 1 | 30 | 57 | 3 | 13 | 10 | .330 | .377 | .430 | .807 | .100 | .377 | 12 | 6 | .353 | 128 | +15 | -1 | — | — | +14 | 2.8 |
| 2010 | 20 | AAA | Broncos de Reynosa | 462 | 399 | 126 | 15 | 8 | 4 | 42 | 45 | 3 | 11 | 5 | .316 | .385 | .424 | .809 | .108 | .342 | 10 | 9 | .350 | 126 | +13 | +0 | — | — | +13 | 2.7 |
| 2010 | 20 | INTL | Mexico | 277 | 251 | 76 | 11 | 5 | 10 | 18 | 34 | 2 | 9 | 3 | .303 | .354 | .506 | .860 | .203 | .319 | 12 | 6 | .369 | 141 | +13 | +1 | — | — | +8 | 2.2 |
| 2011 | 21 | AAA | Diablos Rojos del Mexico | 497 | 444 | 152 | 16 | 8 | 18 | 38 | 48 | 5 | 25 | 9 | .342 | .400 | .536 | .936 | .194 | .353 | 10 | 8 | .404 | 167 | +38 | +1 | — | — | +14 | 5.4 |
| 2011 | 21 | INTL | Algodoneros de Guasave | 245 | 216 | 57 | 8 | 2 | 4 | 19 | 39 | 1 | 7 | 2 | .264 | .326 | .375 | .701 | .111 | .305 | 16 | 8 | .305 | 92 | -2 | +1 | — | — | +7 | 0.5 |
| 2012 | 22 | AAA | Diablos Rojos del Mexico | 521 | 455 | 147 | 18 | 8 | 24 | 53 | 83 | 6 | 17 | 7 | .323 | .401 | .556 | .957 | .233 | .350 | 16 | 10 | .413 | 174 | +44 | +1 | — | — | +15 | 6.0 |
| 2013 | 23 | AAA | Diablos Rojos del Mexico | 392 | 334 | 104 | 19 | 9 | 11 | 49 | 72 | 2 | 14 | 6 | .311 | .403 | .521 | .924 | .210 | .368 | 18 | 12 | .399 | 163 | +28 | +0 | — | — | +11 | 4.0 |
| 2013 | 23 | AA | Corpus Christi Hooks | 48 | 39 | 8 | 2 | 1 | 1 | 8 | 11 | 1 | 1 | 0 | .205 | .354 | .385 | .739 | .179 | .259 | 23 | 17 | .338 | 116 | +1 | +0 | — | — | +1 | 0.3 |
| 2013 | 23 | INTL | Algodoneros de Guasave | 225 | 188 | 50 | 7 | 1 | 3 | 25 | 28 | 2 | 9 | 1 | .266 | .358 | .362 | .720 | .096 | .297 | 12 | 11 | .316 | 100 | -0 | +1 | — | — | +6 | 0.8 |
| 2014 | 24 | AA | Corpus Christi Hooks | 375 | 313 | 74 | 13 | 6 | 5 | 52 | 58 | 5 | 19 | 4 | .236 | .354 | .364 | .718 | .128 | .276 | 15 | 14 | .325 | 107 | +3 | +2 | — | — | +11 | 1.6 |
| 2014 | 24 | INTL | Charros de Jalisco | 290 | 228 | 66 | 20 | 2 | 9 | 55 | 58 | 2 | 14 | 4 | .289 | .432 | .513 | .945 | .224 | .350 | 20 | 19 | .411 | 173 | +24 | +1 | — | — | +8 | 3.4 |
| 2015 | 25 | AAA | Fresno Grizzlies | 35 | 31 | 6 | 1 | 1 | 0 | 2 | 11 | 1 | 0 | 0 | .194 | .265 | .290 | .555 | .097 | .300 | 31 | 6 | .247 | 47 | -2 | +0 | — | — | +1 | -0.1 |
| 2015 | 25 | AA | Corpus Christi Hooks | 302 | 262 | 64 | 14 | 2 | 5 | 35 | 50 | 1 | 13 | 1 | .244 | .336 | .370 | .706 | .126 | .281 | 17 | 12 | .317 | 101 | +0 | +2 | — | — | +9 | 1.1 |
| 2015 | 25 | INTL | Yaquis de Obregon | 180 | 146 | 44 | 9 | 2 | 5 | 26 | 35 | 1 | 8 | 3 | .301 | .410 | .493 | .904 | .192 | .368 | 19 | 14 | .386 | 153 | +11 | +0 | — | — | +5 | 1.7 |
| 2016 | 26 | AAA | Diablos Rojos del Mexico | 219 | 182 | 51 | 5 | 3 | 4 | 33 | 55 | 0 | 8 | 5 | .280 | .391 | .407 | .797 | .126 | .379 | 25 | 15 | .356 | 130 | +8 | -0 | — | — | +6 | 1.4 |
| 2016 | 26 | INTL | Yaquis de Obregon | 281 | 237 | 62 | 9 | 8 | 6 | 38 | 55 | 2 | 10 | 2 | .262 | .368 | .443 | .811 | .181 | .318 | 20 | 14 | .357 | 131 | +10 | +1 | — | — | +8 | 1.9 |
| 2017 | 27 | AAA | Leones de Yucatan | 408 | 355 | 104 | 21 | 10 | 3 | 46 | 75 | 2 | 18 | 9 | .293 | .377 | .434 | .811 | .141 | .359 | 18 | 11 | .358 | 133 | +15 | +0 | — | — | +12 | 2.7 |
| 2017 | 27 | INTL | Yaquis de Obregon | 200 | 178 | 45 | 9 | 1 | 0 | 20 | 40 | 2 | 6 | 2 | .253 | .335 | .315 | .650 | .062 | .326 | 20 | 10 | .301 | 89 | -3 | +0 | — | — | +6 | 0.4 |
| 2018 | 28 | INTL | Yaquis de Obregon | 203 | 174 | 41 | 10 | 2 | 5 | 29 | 45 | 0 | 6 | 2 | .236 | .345 | .402 | .747 | .167 | .290 | 22 | 14 | .337 | 116 | +4 | +0 | — | — | +6 | 1.0 |
| 2019 | 29 | AAA | Leones de Yucatan | 433 | 349 | 97 | 17 | 4 | 15 | 68 | 82 | 3 | 12 | 4 | .278 | .400 | .479 | .879 | .201 | .318 | 19 | 16 | .380 | 149 | +24 | +1 | — | — | +12 | 3.8 |
| 2019 | 29 | INTL | Aguilas de Mexicali | 220 | 192 | 45 | 2 | 0 | 1 | 23 | 51 | 1 | 12 | 4 | .234 | .319 | .260 | .580 | .026 | .314 | 23 | 10 | .270 | 65 | -9 | +1 | — | — | +6 | -0.2 |
| 2020 | 30 | INTL | Aguilas de Mexicali | 85 | 73 | 21 | 5 | 0 | 3 | 12 | 21 | 0 | 3 | 1 | .288 | .388 | .479 | .868 | .192 | .367 | 25 | 14 | .386 | 153 | +5 | +0 | — | — | +2 | 0.8 |
| 2021 | 31 | INTL | Aguilas de Mexicali | 256 | 208 | 49 | 9 | 2 | 4 | 42 | 49 | 2 | 7 | 2 | .236 | .369 | .356 | .725 | .120 | .290 | 19 | 16 | .331 | 111 | +3 | +1 | — | — | +7 | 1.1 |
| 2022 | 32 | INTL | Aguilas de Mexicali | 208 | 172 | 47 | 4 | 5 | 2 | 32 | 41 | 2 | 8 | 6 | .273 | .393 | .390 | .783 | .116 | .344 | 20 | 15 | .355 | 129 | +7 | -1 | — | — | +6 | 1.2 |
| 2023 | 33 | INTL | Aguilas de Mexicali | 202 | 170 | 35 | 10 | 4 | 3 | 26 | 39 | 0 | 6 | 0 | .206 | .311 | .365 | .676 | .159 | .250 | 19 | 13 | .297 | 85 | -3 | +1 | — | — | +6 | 0.4 |
| 2024 | 34 | INTL | Aguilas de Mexicali | 171 | 144 | 34 | 7 | 3 | 3 | 21 | 38 | 0 | 7 | 2 | .236 | .333 | .389 | .722 | .153 | .295 | 22 | 12 | .314 | 99 | -0 | +1 | — | — | +5 | 0.5 |
| 2025 | 35 | INTL | Mexico Rojo | 258 | 193 | 59 | 10 | 3 | 14 | 57 | 52 | 1 | 9 | 4 | .306 | .466 | .606 | 1.072 | .301 | .346 | 20 | 22 | .451 | 203 | +30 | +0 | — | — | +7 | 3.8 |