Tyler Horan
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2015 | 24 | A+SF | 396 | .215/.313/.392 | 13 | 5 | 47 | — | .169/.239/.306 |
| 2016 | 25 | AA/INTL2 orgs | 352 | .260/.338/.442 | 12 | 4 | 81 | — | .233/.281/.380 |
| 2017 | 26 | AASF | 86 | .218/.282/.321 | 1 | 0 | 32 | — | .175/.224/.262 |
Career Stats + Projections
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.
| Year | Age | Lvl | Team | MLB% | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per stint (as recorded, no adjustments) | |||||||||||||||||||||||||||||||
| 2013 | 22 | ROK | AZL Giants | — | 56 | 49 | 12 | 5 | 1 | 0 | 6 | 12 | 0 | 1 | 0 | 245 | 327 | 388 | 715 | 143 | 316 | 21 | 11 | 315 | 29 | — | — | — | — | — | — |
| 2014 | 23 | A+ | San Jose Giants | — | 117 | 106 | 34 | 5 | 1 | 10 | 9 | 31 | 1 | 6 | 4 | 321 | 379 | 670 | 1.049 | 349 | 364 | 26 | 8 | 446 | 130 | — | — | — | — | — | — |
| 2014 | 23 | A | Augusta GreenJackets | — | 417 | 370 | 101 | 22 | 5 | 15 | 39 | 97 | 6 | 9 | 4 | 273 | 352 | 481 | 833 | 208 | 331 | 23 | 9 | 366 | 80 | — | — | — | — | — | — |
| 2015 | 24 | A+ | San Jose Giants | — | 396 | 344 | 74 | 20 | 1 | 13 | 47 | 96 | 2 | 5 | 5 | 215 | 313 | 392 | 705 | 177 | 256 | 24 | 12 | 315 | 47 | — | — | — | — | — | — |
| 2016 | 25 | AA | Richmond Flying Squirrels | — | 323 | 287 | 76 | 12 | 4 | 12 | 31 | 79 | 2 | 4 | 3 | 265 | 341 | 460 | 801 | 195 | 322 | 24 | 10 | 351 | 82 | — | — | — | — | — | — |
| 2016 | 25 | INTL | Bravos de Margarita | — | 29 | 25 | 5 | 1 | 0 | 0 | 4 | 13 | 0 | 0 | 0 | 200 | 310 | 240 | 550 | 40 | 417 | 45 | 14 | 265 | 66 | — | — | — | — | — | — |
| 2017 | 26 | AA | Richmond Flying Squirrels | — | 86 | 78 | 17 | 3 | 1 | 1 | 7 | 22 | 0 | 0 | 2 | 218 | 282 | 321 | 603 | 103 | 286 | 26 | 8 | 271 | 32 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2013 | 22 | ROK MLE | AZL Giants | — | 56 | 51 | 9 | 3 | 1 | 0 | 4 | 17 | 0 | 1 | 0 | 176 | 236 | 275 | 511 | 98 | 234 | 30 | 7 | 211 | 29 | — | — | — | — | — | — |
| 2014 | 23 | A+ MLE | San Jose Giants | — | 117 | 109 | 29 | 4 | 1 | 9 | 6 | 40 | 1 | 6 | 4 | 266 | 310 | 569 | 879 | 303 | 310 | 34 | 5 | 361 | 130 | — | — | — | — | — | — |
| 2014 | 23 | A MLE | Augusta GreenJackets | — | 417 | 384 | 83 | 17 | 5 | 13 | 25 | 123 | 6 | 9 | 4 | 216 | 275 | 388 | 663 | 172 | 277 | 29 | 6 | 286 | 80 | — | — | — | — | — | — |
| 2015 | 24 | A+ MLE | San Jose Giants | — | 396 | 360 | 61 | 14 | 1 | 11 | 31 | 131 | 2 | 5 | 5 | 169 | 239 | 306 | 545 | 136 | 220 | 33 | 8 | 238 | 47 | — | — | — | — | — | — |
| 2016 | 25 | AA MLE | Richmond Flying Squirrels | — | 323 | 300 | 70 | 11 | 3 | 9 | 18 | 99 | 2 | 4 | 3 | 233 | 281 | 380 | 661 | 147 | 308 | 31 | 6 | 289 | 82 | — | — | — | — | — | — |
| 2017 | 26 | AA MLE | Richmond Flying Squirrels | — | 86 | 80 | 14 | 2 | 1 | 1 | 5 | 28 | 0 | 0 | 2 | 175 | 224 | 263 | 486 | 88 | 253 | 33 | 6 | 215 | 32 | — | — | — | — | — | — |
| 2013 | 22 | ROK MLE | AZL Giants | — | 56 | 51 | 9 | 3 | 1 | 0 | 4 | 17 | 0 | 1 | 0 | 176 | 236 | 275 | 511 | 98 | 257 | 30 | 7 | 211 | 29 | — | — | — | — | — | — |
| 2013 | 22 | ROK RAW | AZL Giants | — | 56 | 49 | 12 | 5 | 1 | 0 | 6 | 12 | 0 | 1 | 0 | 245 | 327 | 388 | 715 | 143 | 316 | 21 | 11 | 315 | 29 | — | — | — | — | — | — |
| 2014 | 23 | A MLE | 2 teams | — | 534 | 494 | 111 | 21 | 5 | 22 | 30 | 164 | 7 | 15 | 8 | 225 | 279 | 421 | 700 | 196 | 286 | 31 | 6 | 302 | 91 | — | — | — | — | — | — |
| 2014 | 23 | A RAW | 2 teams | — | 534 | 476 | 135 | 27 | 6 | 25 | 48 | 128 | 7 | 15 | 8 | 284 | 358 | 523 | 881 | 239 | 337 | 24 | 9 | 383 | 91 | — | — | — | — | — | — |
| 2015 | 24 | A+ MLE | San Jose Giants | — | 396 | 360 | 61 | 14 | 1 | 11 | 31 | 131 | 2 | 5 | 5 | 169 | 239 | 306 | 545 | 136 | 226 | 33 | 8 | 238 | 47 | — | — | — | — | — | — |
| 2015 | 24 | A+ RAW | San Jose Giants | — | 396 | 344 | 74 | 20 | 1 | 13 | 47 | 96 | 2 | 5 | 5 | 215 | 313 | 392 | 705 | 177 | 256 | 24 | 12 | 315 | 47 | — | — | — | — | — | — |
| 2016 | 25 | AA MLE | 2 teams | — | 352 | 327 | 77 | 12 | 4 | 10 | 20 | 108 | 2 | 4 | 3 | 235 | 284 | 388 | 672 | 153 | 316 | 31 | 6 | 289 | 82 | — | — | — | — | — | — |
| 2016 | 25 | AA RAW | 2 teams | — | 352 | 312 | 81 | 13 | 4 | 12 | 35 | 92 | 2 | 4 | 3 | 260 | 338 | 442 | 780 | 183 | 327 | 26 | 10 | 344 | 82 | — | — | — | — | — | — |
| 2017 | 26 | AA MLE | Richmond Flying Squirrels | — | 86 | 80 | 14 | 2 | 1 | 1 | 5 | 28 | 0 | 0 | 2 | 175 | 224 | 263 | 486 | 88 | 250 | 33 | 6 | 215 | 32 | — | — | — | — | — | — |
| 2017 | 26 | AA RAW | Richmond Flying Squirrels | — | 86 | 78 | 17 | 3 | 1 | 1 | 7 | 22 | 0 | 0 | 2 | 218 | 282 | 321 | 603 | 103 | 286 | 26 | 8 | 271 | 32 | — | — | — | — | — | — |
| 2013 | 22 | ROK MLE | AZL Giants | — | 56 | 52 | 9 | 3 | 1 | 0 | 4 | 17 | 0 | 1 | 0 | 173 | 236 | 269 | 506 | 96 | 234 | 30 | 7 | 211 | 29 | — | — | — | — | — | — |
| 2014 | 23 | A MLE | 2 teams | — | 534 | 492 | 111 | 21 | 5 | 22 | 30 | 164 | 7 | 15 | 8 | 226 | 279 | 423 | 701 | 197 | 284 | 31 | 6 | 302 | 91 | — | — | — | — | — | — |
| 2015 | 24 | A+ MLE | San Jose Giants | — | 396 | 360 | 61 | 14 | 1 | 11 | 31 | 131 | 2 | 5 | 5 | 169 | 239 | 306 | 545 | 136 | 220 | 33 | 8 | 238 | 47 | — | — | — | — | — | — |
| 2016 | 25 | AA MLE | 2 teams | — | 352 | 327 | 77 | 12 | 4 | 10 | 20 | 108 | 2 | 4 | 3 | 235 | 284 | 388 | 672 | 153 | 308 | 31 | 6 | 289 | 82 | — | — | — | — | — | — |
| 2017 | 26 | AA MLE | Richmond Flying Squirrels | — | 86 | 81 | 14 | 2 | 1 | 1 | 5 | 28 | 0 | 0 | 2 | 173 | 224 | 259 | 483 | 86 | 253 | 33 | 6 | 215 | 32 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1424 | 1312 | 272 | 52 | 12 | 44 | 90 | 448 | 11 | 25 | 18 | 207 | 264 | 366 | 630 | 159 | 274 | 31 | 6 | 272 | 70 | -50 | -2 | +0 | -15 | +31 | -3.7 | |
| / 162G | — | MLE | — | 650 | 599 | 124 | 24 | 5 | 20 | 41 | 204 | 5 | 11 | 8 | 207 | 264 | 364 | 628 | 157 | 274 | 31 | 6 | 272 | 70 | -23 | -1 | +0 | -7 | +14 | -1.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.
2017 AARichmond Flying Squirrels · 86 PAwOBA .267 → .215 (−52)K% 25.6% → 32.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 25.58% | ÷0.948 | ×1.220 | — | — | 32.92% |
| BB% (unintentional) /PA | 8.14% | ÷0.974 | ×0.700 | — | ×0.978 | 5.72% |
| HBP% /PA | 0.00% | — | ×0.850 | — | ×0.978 | 0.00% |
| Singles /BIP | 21.43% | ÷1.004 | ×0.970 | ×0.969 | ×0.978 | 19.61% |
| Doubles /BIP | 5.36% | ÷1.096 | ×0.860 | ×0.969 | ×0.978 | 3.98% |
| Triples /BIP | 1.79% | ÷0.900 | ×0.950 | ×0.969 | ×0.978 | 1.79% |
| Home runs /BIP | 1.79% | ÷0.848 | ×0.780 | — | ×0.978 | 1.61% |
Factors used: league row EL. Park (home-season share, regressed): HR 70, 1B 101, 2B 119, 3B 80, K 90, BB 95 — applied at half strength. Age: age 27 vs a level average of 24.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.969.
Result: wOBA .267 → .215; ISO .103 → .084; BABIP .286 → .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 AARichmond Flying Squirrels · 323 PAwOBA .344 → .289 (−55)K% 24.5% → 30.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.46% | ÷0.975 | ×1.220 | — | — | 30.61% |
| BB% (unintentional) /PA | 9.29% | ÷1.155 | ×0.700 | — | ×0.988 | 5.56% |
| HBP% /PA | 0.62% | — | ×0.850 | — | ×0.988 | 0.52% |
| Singles /BIP | 23.08% | ÷0.994 | ×0.970 | ×1.036 | ×0.988 | 23.04% |
| Doubles /BIP | 5.77% | ÷0.975 | ×0.860 | ×1.036 | ×0.988 | 5.21% |
| Triples /BIP | 1.92% | ÷1.150 | ×0.950 | ×1.036 | ×0.988 | 1.63% |
| Home runs /BIP | 5.77% | ÷0.978 | ×0.780 | — | ×0.988 | 4.54% |
Factors used: league row EL. Park (home-season share, regressed): HR 96, 1B 99, 2B 95, 3B 130, K 95, BB 131 — 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 ×1.036.
Result: wOBA .344 → .289; ISO .195 → .157; BABIP .322 → .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).
2015 A+San Jose Giants · 396 PAwOBA .307 → .238 (−69)K% 24.2% → 33.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 24.24% | ÷0.983 | ×1.340 | — | — | 33.05% |
| BB% (unintentional) /PA | 11.36% | ÷0.996 | ×0.710 | — | ×0.978 | 7.93% |
| HBP% /PA | 0.51% | — | ×0.790 | — | ×0.978 | 0.39% |
| Singles /BIP | 16.13% | ÷0.971 | ×0.910 | ×1.010 | ×0.978 | 14.92% |
| Doubles /BIP | 8.06% | ÷1.071 | ×0.820 | ×1.010 | ×0.978 | 6.10% |
| Triples /BIP | 0.40% | ÷1.150 | ×0.760 | ×1.010 | ×0.978 | 0.26% |
| Home runs /BIP | 5.24% | ÷1.031 | ×0.920 | — | ×0.978 | 4.58% |
Factors used: league row CAL. Park (home-season share, regressed): HR 106, 1B 94, 2B 114, 3B 130, K 97, BB 99 — applied at half strength. Age: age 25 vs a level average of 22.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.010.
Result: wOBA .307 → .238; ISO .177 → .137; BABIP .256 → .220. 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 AAugusta GreenJackets · 417 PAwOBA .356 → .286 (−71)K% 23.3% → 29.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 23.26% | ÷1.053 | ×1.340 | — | — | 29.60% |
| BB% (unintentional) /PA | 8.87% | ÷0.966 | ×0.660 | — | ×0.980 | 5.94% |
| HBP% /PA | 1.44% | — | ×0.770 | — | ×0.980 | 1.09% |
| Singles /BIP | 21.61% | ÷1.055 | ×0.920 | ×0.987 | ×0.980 | 18.24% |
| Doubles /BIP | 8.06% | ÷0.979 | ×0.820 | ×0.987 | ×0.980 | 6.53% |
| Triples /BIP | 1.83% | ÷0.934 | ×0.940 | ×0.987 | ×0.980 | 1.78% |
| Home runs /BIP | 5.49% | ÷0.890 | ×0.820 | — | ×0.980 | 4.96% |
Factors used: league row SAL. Park (home-season share, regressed): HR 78, 1B 111, 2B 96, 3B 87, K 111, BB 93 — 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.987.
Result: wOBA .356 → .286; ISO .208 → .178; BABIP .331 → .277. 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 A+San Jose Giants · 117 PAwOBA .434 → .361 (−73)K% 26.5% → 34.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 26.50% | ÷1.026 | ×1.340 | — | — | 34.62% |
| BB% (unintentional) /PA | 6.84% | ÷1.009 | ×0.710 | — | ×0.988 | 4.75% |
| HBP% /PA | 0.85% | — | ×0.790 | — | ×0.988 | 0.67% |
| Singles /BIP | 24.00% | ÷0.996 | ×0.910 | ×0.967 | ×0.988 | 20.95% |
| Doubles /BIP | 6.67% | ÷0.953 | ×0.820 | ×0.967 | ×0.988 | 5.48% |
| Triples /BIP | 1.33% | ÷0.979 | ×0.760 | ×0.967 | ×0.988 | 0.99% |
| Home runs /BIP | 13.33% | ÷0.931 | ×0.920 | — | ×0.988 | 13.01% |
Factors used: league row CAL. Park (home-season share, regressed): HR 86, 1B 99, 2B 91, 3B 96, K 105, BB 102 — applied at half strength. Age: age 24 vs a level average of 22.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.967.
Result: wOBA .434 → .361; ISO .349 → .308; BABIP .364 → .310. 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 ROKAZL Giants · 56 PAwOBA .313 → .211 (−102)K% 21.4% → 30.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.43% | ÷1.000 | ×1.440 | — | — | 30.86% |
| BB% (unintentional) /PA | 10.71% | ÷1.000 | ×0.620 | — | ×0.965 | 6.41% |
| HBP% /PA | 0.00% | — | ×0.720 | — | ×0.965 | 0.00% |
| Singles /BIP | 16.22% | ÷1.000 | ×0.820 | — | ×0.965 | 12.83% |
| Doubles /BIP | 13.51% | ÷1.000 | ×0.720 | — | ×0.965 | 9.39% |
| Triples /BIP | 2.70% | ÷1.000 | ×0.720 | — | ×0.965 | 1.88% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×0.965 | 0.00% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). 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).
Result: wOBA .313 → .211; ISO .143 → .094; BABIP .316 → .234. 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 — .