Ryan Vega
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2016 | 19 | ROKOrem Owlz | 140 | .331/.388/.512 | 4 | 5 | 74 | — | .237/.281/.359 |
| 2017 | 20 | ROKOrem Owlz | 317 | .313/.408/.437 | 5 | 6 | 70 | — | .228/.293/.312 |
| 2019 | 22 | A+/A2 orgs | 342 | .218/.315/.319 | 5 | 6 | 32 | — | .162/.238/.239 |
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) | |||||||||||||||||||||||||||||||
| 2015 | 18 | ROK | AZL Angels | — | 107 | 96 | 18 | 4 | 0 | 0 | 7 | 17 | 3 | 4 | 0 | 188 | 264 | 229 | 493 | 42 | 225 | 16 | 7 | 233 | 5 | — | — | — | — | — | — |
| 2016 | 19 | ROK | Orem Owlz | — | 140 | 127 | 42 | 7 | 2 | 4 | 9 | 22 | 3 | 5 | 0 | 331 | 388 | 512 | 900 | 181 | 373 | 16 | 6 | 395 | 74 | — | — | — | — | — | — |
| 2017 | 20 | ROK | Orem Owlz | — | 317 | 268 | 84 | 12 | 3 | 5 | 37 | 52 | 6 | 6 | 5 | 313 | 408 | 437 | 845 | 123 | 364 | 16 | 12 | 375 | 70 | — | — | — | — | — | — |
| 2019 | 22 | A+ | Inland Empire 66ers | — | 216 | 186 | 41 | 8 | 0 | 4 | 26 | 63 | 3 | 1 | 1 | 220 | 326 | 328 | 654 | 108 | 308 | 29 | 12 | 302 | 38 | — | — | — | — | — | — |
| 2019 | 22 | A | Burlington Bees | — | 126 | 112 | 24 | 5 | 1 | 1 | 10 | 27 | 3 | 5 | 1 | 214 | 296 | 304 | 600 | 89 | 274 | 21 | 8 | 275 | 21 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2015 | 18 | ROK MLE | AZL Angels | — | 107 | 99 | 15 | 3 | 0 | 0 | 4 | 25 | 3 | 4 | 0 | 152 | 208 | 182 | 389 | 30 | 190 | 23 | 4 | 175 | 5 | — | — | — | — | — | — |
| 2016 | 19 | ROK MLE | Orem Owlz | — | 140 | 131 | 31 | 5 | 1 | 3 | 5 | 32 | 3 | 5 | 0 | 237 | 281 | 359 | 639 | 122 | 285 | 23 | 4 | 277 | 74 | — | — | — | — | — | — |
| 2017 | 20 | ROK MLE | Orem Owlz | — | 317 | 285 | 65 | 8 | 2 | 4 | 20 | 75 | 6 | 6 | 5 | 228 | 293 | 312 | 605 | 84 | 282 | 24 | 6 | 272 | 70 | — | — | — | — | — | — |
| 2019 | 22 | A+ MLE | Inland Empire 66ers | — | 216 | 193 | 31 | 6 | 0 | 3 | 19 | 85 | 3 | 1 | 1 | 161 | 247 | 238 | 485 | 78 | 256 | 39 | 9 | 224 | 38 | — | — | — | — | — | — |
| 2019 | 22 | A MLE | Burlington Bees | — | 126 | 116 | 19 | 4 | 1 | 1 | 6 | 38 | 3 | 5 | 1 | 164 | 224 | 241 | 465 | 78 | 225 | 30 | 5 | 199 | 21 | — | — | — | — | — | — |
| 2015 | 18 | ROK MLE | AZL Angels | — | 107 | 99 | 15 | 3 | 0 | 0 | 4 | 25 | 3 | 4 | 0 | 152 | 208 | 182 | 389 | 30 | 200 | 23 | 4 | 175 | 5 | — | — | — | — | — | — |
| 2015 | 18 | ROK RAW | AZL Angels | — | 107 | 96 | 18 | 4 | 0 | 0 | 7 | 17 | 3 | 4 | 0 | 188 | 264 | 229 | 493 | 42 | 225 | 16 | 7 | 233 | 5 | — | — | — | — | — | — |
| 2016 | 19 | ROK MLE | Orem Owlz | — | 140 | 131 | 31 | 5 | 1 | 3 | 5 | 32 | 3 | 5 | 0 | 237 | 281 | 359 | 639 | 122 | 289 | 23 | 4 | 277 | 74 | — | — | — | — | — | — |
| 2016 | 19 | ROK RAW | Orem Owlz | — | 140 | 127 | 42 | 7 | 2 | 4 | 9 | 22 | 3 | 5 | 0 | 331 | 388 | 512 | 900 | 181 | 373 | 16 | 6 | 395 | 74 | — | — | — | — | — | — |
| 2017 | 20 | ROK MLE | Orem Owlz | — | 317 | 285 | 65 | 8 | 2 | 4 | 20 | 75 | 6 | 6 | 5 | 228 | 293 | 312 | 605 | 84 | 288 | 24 | 6 | 272 | 70 | — | — | — | — | — | — |
| 2017 | 20 | ROK RAW | Orem Owlz | — | 317 | 268 | 84 | 12 | 3 | 5 | 37 | 52 | 6 | 6 | 5 | 313 | 408 | 437 | 845 | 123 | 364 | 16 | 12 | 375 | 70 | — | — | — | — | — | — |
| 2019 | 22 | A+ MLE | 2 teams | — | 342 | 309 | 49 | 9 | 1 | 4 | 25 | 122 | 6 | 6 | 2 | 159 | 235 | 233 | 468 | 74 | 245 | 36 | 7 | 215 | 32 | — | — | — | — | — | — |
| 2019 | 22 | A+ RAW | 2 teams | — | 342 | 298 | 65 | 13 | 1 | 5 | 36 | 90 | 6 | 6 | 2 | 218 | 315 | 319 | 633 | 101 | 294 | 26 | 11 | 292 | 32 | — | — | — | — | — | — |
| 2015 | 18 | ROK MLE | AZL Angels | — | 107 | 99 | 15 | 3 | 0 | 0 | 4 | 25 | 3 | 4 | 0 | 152 | 208 | 182 | 389 | 30 | 190 | 23 | 4 | 175 | 5 | — | — | — | — | — | — |
| 2016 | 19 | ROK MLE | Orem Owlz | — | 140 | 131 | 31 | 5 | 1 | 3 | 5 | 32 | 3 | 5 | 0 | 237 | 281 | 359 | 639 | 122 | 285 | 23 | 4 | 277 | 74 | — | — | — | — | — | — |
| 2017 | 20 | ROK MLE | Orem Owlz | — | 317 | 288 | 65 | 8 | 2 | 4 | 20 | 75 | 6 | 6 | 5 | 226 | 293 | 309 | 602 | 83 | 282 | 24 | 6 | 272 | 70 | — | — | — | — | — | — |
| 2019 | 22 | A+ MLE | 2 teams | — | 342 | 308 | 49 | 9 | 1 | 4 | 25 | 122 | 6 | 6 | 2 | 159 | 235 | 234 | 469 | 75 | 245 | 36 | 7 | 215 | 32 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 906 | 824 | 160 | 25 | 4 | 11 | 54 | 254 | 18 | 21 | 7 | 194 | 259 | 274 | 533 | 80 | 262 | 28 | 6 | 240 | 48 | -56 | +1 | +0 | -10 | +20 | -4.5 | |
| / 162G | — | MLE | — | 650 | 591 | 115 | 18 | 3 | 8 | 39 | 182 | 13 | 15 | 5 | 195 | 260 | 276 | 536 | 81 | 263 | 28 | 6 | 240 | 48 | -40 | +1 | +0 | -7 | +14 | -3.2 | |
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.
2019 A+Inland Empire 66ers · 216 PAwOBA .296 → .224 (−72)K% 29.2% → 39.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 29.17% | ÷0.997 | ×1.340 | — | — | 39.21% |
| BB% (unintentional) /PA | 12.04% | ÷0.968 | ×0.710 | — | ×0.998 | 8.81% |
| HBP% /PA | 1.39% | — | ×0.790 | — | ×0.998 | 1.10% |
| Singles /BIP | 23.58% | ÷1.024 | ×0.910 | ×0.950 | ×0.998 | 19.87% |
| Doubles /BIP | 6.50% | ÷0.985 | ×0.820 | ×0.950 | ×0.998 | 5.13% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.760 | ×0.950 | ×0.998 | 0.00% |
| Home runs /BIP | 3.25% | ÷0.939 | ×0.920 | — | ×0.998 | 3.18% |
Factors used: league row CAL. Park (home-season share, regressed): HR 88, 1B 105, 2B 97, 3B 130, K 99, BB 94 — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .296 → .224; ISO .108 → .087; BABIP .308 → .256. 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).
2019 ABurlington Bees · 126 PAwOBA .268 → .199 (−70)K% 21.4% → 30.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.43% | ÷0.973 | ×1.360 | — | — | 29.95% |
| BB% (unintentional) /PA | 7.94% | ÷1.081 | ×0.690 | — | ×0.990 | 5.02% |
| HBP% /PA | 2.38% | — | ×0.780 | — | ×0.990 | 1.84% |
| Singles /BIP | 20.00% | ÷1.036 | ×0.920 | ×0.950 | ×0.990 | 16.70% |
| Doubles /BIP | 5.88% | ÷1.017 | ×0.830 | ×0.950 | ×0.990 | 4.52% |
| Triples /BIP | 1.18% | ÷0.967 | ×0.910 | ×0.950 | ×0.990 | 1.04% |
| Home runs /BIP | 1.18% | ÷0.960 | ×0.800 | — | ×0.990 | 0.97% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 92, 1B 107, 2B 103, 3B 93, K 95, BB 116 — applied at half strength. Age: age 23 vs a level average of 22.0 → −1.0% on BB/HBP/hit rates (1.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .268 → .199; ISO .089 → .068; BABIP .274 → .225. 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 ROKOrem Owlz · 317 PAwOBA .369 → .272 (−98)K% 16.4% → 23.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 16.40% | ÷1.000 | ×1.440 | — | — | 23.62% |
| BB% (unintentional) /PA | 10.73% | ÷1.000 | ×0.610 | — | ×0.985 | 6.44% |
| HBP% /PA | 1.89% | — | ×0.720 | — | ×0.985 | 1.34% |
| Singles /BIP | 29.63% | ÷1.000 | ×0.820 | ×0.987 | ×0.985 | 23.62% |
| Doubles /BIP | 5.56% | ÷1.000 | ×0.720 | ×0.987 | ×0.985 | 3.89% |
| Triples /BIP | 1.39% | ÷1.000 | ×0.720 | ×0.987 | ×0.985 | 0.97% |
| Home runs /BIP | 2.31% | ÷1.000 | ×0.750 | — | ×0.985 | 1.71% |
Factors used: league row PIO. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 21 vs a level average of 19.5 → −1.5% on BB/HBP/hit rates (1.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.987.
Result: wOBA .369 → .272; ISO .123 → .089; BABIP .364 → .282. 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 ROKOrem Owlz · 140 PAwOBA .387 → .277 (−110)K% 15.7% → 22.6%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.71% | ÷1.000 | ×1.440 | — | — | 22.63% |
| BB% (unintentional) /PA | 6.43% | ÷1.000 | ×0.610 | — | ×0.995 | 3.90% |
| HBP% /PA | 2.14% | — | ×0.720 | — | ×0.995 | 1.54% |
| Singles /BIP | 27.62% | ÷1.000 | ×0.820 | ×0.977 | ×0.995 | 22.01% |
| Doubles /BIP | 6.67% | ÷1.000 | ×0.720 | ×0.977 | ×0.995 | 4.66% |
| Triples /BIP | 1.90% | ÷1.000 | ×0.720 | ×0.977 | ×0.995 | 1.33% |
| Home runs /BIP | 3.81% | ÷1.000 | ×0.750 | — | ×0.995 | 2.84% |
Factors used: league row PIO. Park (home-season share, regressed): no park row on file (treated as neutral) — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.977.
Result: wOBA .387 → .277; ISO .181 → .126; BABIP .373 → .285. 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 ROKAZL Angels · 107 PAwOBA .229 → .175 (−55)K% 15.9% → 22.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 15.89% | ÷1.000 | ×1.440 | — | — | 22.88% |
| BB% (unintentional) /PA | 6.54% | ÷1.000 | ×0.620 | — | ×1.008 | 4.09% |
| HBP% /PA | 2.80% | — | ×0.720 | — | ×1.008 | 2.03% |
| Singles /BIP | 17.72% | ÷1.000 | ×0.820 | ×1.050 | ×1.008 | 15.37% |
| Doubles /BIP | 5.06% | ÷1.000 | ×0.720 | ×1.050 | ×1.008 | 3.86% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.720 | ×1.050 | ×1.008 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×1.008 | 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 19 vs a level average of 19.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .229 → .175; ISO .042 → .031; BABIP .225 → .190. 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).