Carlos Arroyo
2B Rome Emperors| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2021 | 20 | ROK/INTL2 orgs | 49 | .178/.245/.311 | 1 | 1 | 37 | — | .158/.273/.158 |
| 2024 | 23 | A+ATL | 210 | .180/.278/.251 | 2 | 8 | 14 | — | .141/.211/.198 |
| 2025 | 24 | A+ATL | 41 | .154/.195/.205 | 0 | 1 | -39 | — | .100/.122/.125 |
| 2027PROJMLE | 26 | MLBATL | 200 | .205/.270/.303 | 3 | 4 | 62 | 0.0 | |
| 2028PROJ25% MLB | 27 | MLBATL | 13 | .206/.272/.305 | 0 | 0 | 63 | -0.0 |
Tools · Contract
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) | |||||||||||||||||||||||||||||||
| 2018 | 17 | ROK | DSL Pirates 1 | — | 230 | 180 | 53 | 2 | 0 | 1 | 33 | 27 | 8 | 15 | 4 | 294 | 425 | 322 | 748 | 28 | 331 | 12 | 14 | 343 | 61 | — | — | — | — | — | — |
| 2019 | 18 | ROK | DSL Pirates 2 | — | 183 | 162 | 49 | 11 | 1 | 1 | 10 | 10 | 5 | 16 | 7 | 302 | 362 | 401 | 763 | 99 | 310 | 5 | 5 | 334 | 34 | — | — | — | — | — | — |
| 2021 | 20 | ROK | FCL Marlins | — | 22 | 18 | 3 | 0 | 0 | 0 | 3 | 2 | 1 | 1 | 0 | 167 | 318 | 167 | 485 | 188 | 9 | 14 | 252 | 13 | — | — | — | — | — | — | |
| 2021 | 20 | INTL | Colombia | — | 27 | 27 | 5 | 1 | 1 | 1 | 0 | 4 | 0 | 0 | 0 | 185 | 185 | 407 | 593 | 222 | 182 | 15 | 0 | 251 | 56 | — | — | — | — | — | — |
| 2024 | 23 | A+ | Rome Emperors | — | 210 | 183 | 33 | 7 | 0 | 2 | 17 | 61 | 8 | 8 | 4 | 180 | 278 | 251 | 529 | 71 | 256 | 29 | 8 | 251 | 14 | — | — | — | — | — | — |
| 2025 | 24 | A+ | Rome Emperors | — | 41 | 39 | 6 | 2 | 0 | 0 | 2 | 14 | 0 | 1 | 0 | 154 | 195 | 205 | 400 | 51 | 240 | 34 | 5 | 185 | -39 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2018 | 17 | ROK MLE | DSL Pirates 1 | — | 230 | 189 | 42 | 1 | 0 | 1 | 24 | 33 | 8 | 15 | 4 | 222 | 335 | 243 | 578 | 21 | 238 | 14 | 10 | 258 | 61 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Pirates 2 | — | 183 | 166 | 34 | 7 | 1 | 1 | 6 | 12 | 5 | 16 | 7 | 205 | 254 | 277 | 531 | 72 | 195 | 7 | 3 | 219 | 34 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | FCL Marlins | — | 22 | 19 | 3 | 0 | 0 | 0 | 2 | 3 | 1 | 1 | 0 | 158 | 273 | 158 | 431 | 158 | 14 | 9 | 187 | 13 | — | — | — | — | — | — | |
| 2024 | 23 | A+ MLE | Rome Emperors | — | 210 | 192 | 27 | 5 | 0 | 2 | 9 | 81 | 8 | 8 | 4 | 141 | 211 | 198 | 408 | 57 | 230 | 39 | 4 | 189 | 14 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Rome Emperors | — | 41 | 40 | 4 | 1 | 0 | 0 | 1 | 19 | 0 | 1 | 0 | 100 | 122 | 125 | 247 | 25 | 178 | 46 | 2 | 110 | -39 | — | — | — | — | — | — |
| 2018 | 17 | ROK MLE | DSL Pirates 1 | — | 230 | 189 | 42 | 1 | 0 | 1 | 24 | 33 | 8 | 15 | 4 | 222 | 335 | 243 | 578 | 21 | 256 | 14 | 10 | 258 | 61 | — | — | — | — | — | — |
| 2018 | 17 | ROK RAW | DSL Pirates 1 | — | 230 | 180 | 53 | 2 | 0 | 1 | 33 | 27 | 8 | 15 | 4 | 294 | 425 | 322 | 748 | 28 | 331 | 12 | 14 | 343 | 61 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Pirates 2 | — | 183 | 166 | 34 | 7 | 1 | 1 | 6 | 12 | 5 | 16 | 7 | 205 | 254 | 277 | 531 | 72 | 210 | 7 | 3 | 219 | 34 | — | — | — | — | — | — |
| 2019 | 18 | ROK RAW | DSL Pirates 2 | — | 183 | 162 | 49 | 11 | 1 | 1 | 10 | 10 | 5 | 16 | 7 | 302 | 362 | 401 | 763 | 99 | 310 | 5 | 5 | 334 | 34 | — | — | — | — | — | — |
| 2021 | 20 | INTL MLE | 2 teams | — | 49 | 44 | 6 | 0 | 0 | 0 | 4 | 6 | 1 | 1 | 0 | 136 | 224 | 136 | 361 | 158 | 12 | 8 | 187 | 13 | — | — | — | — | — | — | |
| 2021 | 20 | INTL RAW | 2 teams | — | 49 | 45 | 8 | 1 | 1 | 1 | 3 | 6 | 1 | 1 | 0 | 178 | 245 | 311 | 556 | 133 | 184 | 12 | 6 | 252 | 13 | — | — | — | — | — | — |
| 2024 | 23 | A+ MLE | Rome Emperors | — | 210 | 192 | 27 | 5 | 0 | 2 | 9 | 81 | 8 | 8 | 4 | 141 | 211 | 198 | 408 | 57 | 227 | 39 | 4 | 189 | 14 | — | — | — | — | — | — |
| 2024 | 23 | A+ RAW | Rome Emperors | — | 210 | 183 | 33 | 7 | 0 | 2 | 17 | 61 | 8 | 8 | 4 | 180 | 278 | 251 | 529 | 71 | 256 | 29 | 8 | 251 | 14 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Rome Emperors | — | 41 | 40 | 4 | 1 | 0 | 0 | 1 | 19 | 0 | 1 | 0 | 100 | 122 | 125 | 247 | 25 | 190 | 46 | 2 | 110 | -39 | — | — | — | — | — | — |
| 2025 | 24 | A+ RAW | Rome Emperors | — | 41 | 39 | 6 | 2 | 0 | 0 | 2 | 14 | 0 | 1 | 0 | 154 | 195 | 205 | 400 | 51 | 240 | 34 | 5 | 185 | -39 | — | — | — | — | — | — |
| 2018 | 17 | ROK MLE | DSL Pirates 1 | — | 230 | 196 | 42 | 1 | 0 | 1 | 24 | 33 | 8 | 15 | 4 | 214 | 335 | 235 | 570 | 20 | 238 | 14 | 10 | 258 | 61 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Pirates 2 | — | 183 | 170 | 34 | 7 | 1 | 1 | 6 | 12 | 5 | 16 | 7 | 200 | 254 | 271 | 525 | 71 | 195 | 7 | 3 | 219 | 34 | — | — | — | — | — | — |
| 2021 | 20 | INTL MLE | 2 teams | — | 49 | 44 | 6 | 0 | 0 | 0 | 4 | 6 | 1 | 1 | 0 | 136 | 224 | 136 | 361 | 158 | 12 | 8 | 187 | 13 | — | — | — | — | — | — | |
| 2024 | 23 | A+ MLE | Rome Emperors | — | 210 | 191 | 27 | 5 | 0 | 2 | 9 | 81 | 8 | 8 | 4 | 141 | 211 | 199 | 409 | 58 | 230 | 39 | 4 | 189 | 14 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Rome Emperors | — | 41 | 40 | 4 | 1 | 0 | 0 | 1 | 19 | 0 | 1 | 0 | 100 | 122 | 125 | 247 | 25 | 178 | 46 | 2 | 110 | -39 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 23 | A+ MLE | Rome Emperors | — | 210 | 191 | 27 | 5 | 0 | 2 | 9 | 81 | 8 | 8 | 4 | 141 | 211 | 199 | 409 | 58 | 230 | 39 | 4 | 189 | 14 | — | — | — | — | — | — |
| 2025 | 24 | A+ MLE | Rome Emperors | — | 41 | 40 | 4 | 1 | 0 | 0 | 1 | 19 | 0 | 1 | 0 | 100 | 122 | 125 | 247 | 25 | 178 | 46 | 2 | 110 | -39 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 26 | MLB MLE | ATL | 0% | 200 | 181 | 37 | 7 | 1 | 3 | 14 | 58 | 3 | 4 | 1 | 205 | 270 | 303 | 573 | 98 | 280 | 29 | 7 | 260 | 62 | -9 | +0 | +0 | +1 | +4 | 0.0 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 27 | MLB MLE | ATL | 25% | 53 | 48 | 10 | 2 | 0 | 1 | 4 | 15 | 1 | 1 | 0 | 206 | 272 | 305 | 577 | 100 | 280 | 28 | 8 | 262 | 63 | -2 | +0 | +0 | +0 | +1 | -0.1 |
| 2028 | 27 | MLB CTX | ATL | 25% | 13 | 12 | 2 | 0 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 206 | 272 | 305 | 577 | 100 | 280 | 31 | 8 | 262 | 63 | -1 | +0 | +0 | +0 | +0 | -0.0 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 13 | 12 | 2 | 0 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | 167 | 231 | 167 | 397 | 250 | 31 | 8 | 262 | 35 | -1 | +0 | +0 | +0 | +0 | -0.0 | ||
| / 162G | — | A+C | — | 650 | 600 | 100 | 0 | 0 | 0 | 50 | 200 | 0 | 0 | 0 | 167 | 231 | 167 | 397 | 250 | 31 | 8 | 262 | 35 | -28 | +0 | +0 | +2 | +14 | -1.2 | ||
| Career | — | MLE | — | 801 | 712 | 130 | 17 | 1 | 6 | 50 | 176 | 23 | 43 | 15 | 183 | 259 | 235 | 493 | 52 | 230 | 22 | 6 | 219 | 35 | -4 | +0 | +0 | +0 | +2 | -0.1 | |
| / 162G | — | MLE | — | 650 | 578 | 106 | 14 | 1 | 5 | 41 | 143 | 19 | 35 | 12 | 183 | 261 | 237 | 498 | 54 | 231 | 22 | 6 | 219 | 35 | -29 | +3 | +0 | +2 | +14 | -0.9 | |
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.
2025 A+Rome Emperors · 41 PAwOBA .180 → .110 (−70)K% 34.1% → 45.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 34.15% | ÷0.983 | ×1.310 | — | — | 45.50% |
| BB% (unintentional) /PA | 4.88% | ÷1.020 | ×0.600 | — | ×0.988 | 2.84% |
| HBP% /PA | 0.00% | — | ×0.770 | — | ×0.988 | 0.00% |
| Singles /BIP | 16.00% | ÷1.098 | ×0.870 | — | ×0.988 | 12.52% |
| Doubles /BIP | 8.00% | ÷1.173 | ×0.780 | — | ×0.988 | 5.25% |
| Triples /BIP | 0.00% | ÷1.075 | ×0.850 | — | ×0.988 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.819 | ×0.880 | — | ×0.988 | 0.00% |
Factors used: league row South Atlantic League. Park (home-season share, regressed): HR 64, 1B 120, 2B 135, 3B 115, K 97, BB 104 — 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).
Result: wOBA .180 → .110; ISO .051 → .029; BABIP .240 → .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).
2024 A+Rome Emperors · 210 PAwOBA .246 → .189 (−57)K% 29.0% → 38.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 29.05% | ÷0.982 | ×1.310 | — | — | 38.76% |
| BB% (unintentional) /PA | 8.10% | ÷1.092 | ×0.600 | — | ×0.998 | 4.44% |
| HBP% /PA | 3.81% | — | ×0.770 | — | ×0.998 | 2.93% |
| Singles /BIP | 19.67% | ÷0.993 | ×0.870 | ×1.048 | ×0.998 | 18.02% |
| Doubles /BIP | 5.74% | ÷0.985 | ×0.780 | ×1.048 | ×0.998 | 4.75% |
| Triples /BIP | 0.00% | ÷0.900 | ×0.850 | ×1.048 | ×0.998 | 0.00% |
| Home runs /BIP | 1.64% | ÷0.831 | ×0.880 | — | ×0.998 | 1.73% |
Factors used: league row South Atlantic League. Park (home-season share, regressed): HR 66, 1B 99, 2B 97, 3B 80, K 96, BB 118 — 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 ×1.048.
Result: wOBA .246 → .189; ISO .071 → .062; BABIP .256 → .230. 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).
2021 ROKFCL Marlins · 22 PAwOBA .247 → .187 (−60)K% 9.1% → 12.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 9.09% | ÷1.013 | ×1.440 | — | — | 12.93% |
| BB% (unintentional) /PA | 13.64% | ÷0.984 | ×0.620 | — | ×0.995 | 8.55% |
| HBP% /PA | 4.55% | — | ×0.720 | — | ×0.995 | 3.26% |
| Singles /BIP | 18.75% | ÷0.969 | ×0.820 | — | ×0.995 | 15.79% |
| Doubles /BIP | 0.00% | ÷1.011 | ×0.720 | — | ×0.995 | 0.00% |
| Triples /BIP | 0.00% | ÷1.011 | ×0.720 | — | ×0.995 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×0.995 | 0.00% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 94, 2B 102, 3B 102, K 103, BB 97 — 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).
Result: wOBA .247 → .187; ISO .000 → .000; BABIP .188 → .158. 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 DSLDSL Pirates 2 · 183 PAwOBA .330 → .219 (−111)K% 5.5% → 6.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 5.46% | ÷1.000 | ×1.220 | — | — | 6.67% |
| BB% (unintentional) /PA | 4.92% | ÷1.000 | ×0.700 | — | ×1.008 | 3.47% |
| HBP% /PA | 2.73% | — | ×0.700 | — | ×1.008 | 1.93% |
| Singles /BIP | 23.68% | ÷1.000 | ×0.680 | ×0.950 | ×1.008 | 15.41% |
| Doubles /BIP | 7.24% | ÷1.000 | ×0.600 | ×0.950 | ×1.008 | 4.16% |
| Triples /BIP | 0.66% | ÷1.000 | ×0.600 | ×0.950 | ×1.008 | 0.38% |
| Home runs /BIP | 0.66% | ÷1.000 | ×0.470 | — | ×1.008 | 0.31% |
Factors used: level-wide DSL 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 18 vs a level average of 18.5 → +0.8% on BB/HBP/hit rates (0.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.
Result: wOBA .330 → .219; ISO .099 → .058; BABIP .310 → .195. 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).
2018 DSLDSL Pirates 1 · 230 PAwOBA .342 → .258 (−84)K% 11.7% → 14.3%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 11.74% | ÷1.000 | ×1.220 | — | — | 14.32% |
| BB% (unintentional) /PA | 14.35% | ÷1.000 | ×0.700 | — | ×1.022 | 10.27% |
| HBP% /PA | 3.48% | — | ×0.700 | — | ×1.022 | 2.49% |
| Singles /BIP | 32.68% | ÷1.000 | ×0.680 | ×1.041 | ×1.022 | 23.65% |
| Doubles /BIP | 1.31% | ÷1.000 | ×0.600 | ×1.041 | ×1.022 | 0.83% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.600 | ×1.041 | ×1.022 | 0.00% |
| Home runs /BIP | 0.65% | ÷1.000 | ×0.470 | — | ×1.022 | 0.31% |
Factors used: level-wide DSL 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 17 vs a level average of 18.5 → +2.2% on BB/HBP/hit rates (1.5 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.041.
Result: wOBA .342 → .258; ISO .028 → .017; BABIP .331 → .238. 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 — .