Sander Mora
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2019 | 18 | ROKDSL Cardinals… | 312 | .266/.392/.332 | 0 | 33 | 36 | — | .167/.272/.204 |
| 2021 | 20 | ROKSTL | 97 | .159/.289/.280 | 2 | 1 | 9 | — | .103/.196/.172 |
| 2022 | 21 | ASTL | 249 | .171/.293/.252 | 3 | 8 | 18 | — | .131/.220/.186 |
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 Cardinals Blue | — | 232 | 188 | 44 | 11 | 1 | 0 | 35 | 46 | 7 | 12 | 7 | 234 | 374 | 303 | 677 | 69 | 308 | 20 | 15 | 320 | 31 | — | — | — | — | — | — |
| 2019 | 18 | ROK | DSL Cardinals Red | — | 312 | 256 | 68 | 13 | 2 | 0 | 49 | 54 | 4 | 33 | 8 | 266 | 392 | 332 | 724 | 66 | 333 | 17 | 16 | 337 | 36 | — | — | — | — | — | — |
| 2021 | 20 | ROK | FCL Cardinals | — | 97 | 82 | 13 | 2 | 1 | 2 | 12 | 27 | 3 | 1 | 0 | 159 | 289 | 280 | 569 | 122 | 208 | 28 | 12 | 270 | 9 | — | — | — | — | — | — |
| 2022 | 21 | A | Palm Beach Cardinals | — | 249 | 210 | 36 | 6 | 1 | 3 | 35 | 71 | 1 | 8 | 1 | 171 | 293 | 252 | 545 | 81 | 239 | 29 | 14 | 258 | 18 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2018 | 17 | ROK MLE | DSL Cardinals Blue | — | 232 | 199 | 30 | 7 | 1 | 0 | 24 | 56 | 7 | 12 | 7 | 151 | 265 | 196 | 461 | 45 | 201 | 24 | 10 | 214 | 31 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Cardinals Red | — | 312 | 270 | 45 | 8 | 1 | 0 | 35 | 66 | 4 | 33 | 8 | 167 | 272 | 204 | 476 | 37 | 211 | 21 | 11 | 222 | 36 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | FCL Cardinals | — | 97 | 87 | 9 | 1 | 1 | 1 | 7 | 39 | 3 | 1 | 0 | 103 | 196 | 172 | 368 | 69 | 174 | 40 | 7 | 181 | 9 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Palm Beach Cardinals | — | 249 | 221 | 29 | 4 | 1 | 2 | 24 | 100 | 1 | 8 | 1 | 131 | 220 | 186 | 405 | 54 | 220 | 40 | 10 | 195 | 18 | — | — | — | — | — | — |
| 2018 | 17 | ROK MLE | DSL Cardinals Blue | — | 232 | 199 | 30 | 7 | 1 | 0 | 24 | 56 | 7 | 12 | 7 | 151 | 265 | 196 | 461 | 45 | 208 | 24 | 10 | 214 | 31 | — | — | — | — | — | — |
| 2018 | 17 | ROK RAW | DSL Cardinals Blue | — | 232 | 188 | 44 | 11 | 1 | 0 | 35 | 46 | 7 | 12 | 7 | 234 | 374 | 303 | 677 | 69 | 308 | 20 | 15 | 320 | 31 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Cardinals Red | — | 312 | 270 | 45 | 8 | 1 | 0 | 35 | 66 | 4 | 33 | 8 | 167 | 272 | 204 | 476 | 37 | 218 | 21 | 11 | 222 | 36 | — | — | — | — | — | — |
| 2019 | 18 | ROK RAW | DSL Cardinals Red | — | 312 | 256 | 68 | 13 | 2 | 0 | 49 | 54 | 4 | 33 | 8 | 266 | 392 | 332 | 724 | 66 | 333 | 17 | 16 | 337 | 36 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | FCL Cardinals | — | 97 | 87 | 9 | 1 | 1 | 1 | 7 | 39 | 3 | 1 | 0 | 103 | 196 | 172 | 368 | 69 | 170 | 40 | 7 | 181 | 9 | — | — | — | — | — | — |
| 2021 | 20 | ROK RAW | FCL Cardinals | — | 97 | 82 | 13 | 2 | 1 | 2 | 12 | 27 | 3 | 1 | 0 | 159 | 289 | 280 | 569 | 122 | 208 | 28 | 12 | 270 | 9 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Palm Beach Cardinals | — | 249 | 221 | 29 | 4 | 1 | 2 | 24 | 100 | 1 | 8 | 1 | 131 | 220 | 186 | 405 | 54 | 223 | 40 | 10 | 195 | 18 | — | — | — | — | — | — |
| 2022 | 21 | A RAW | Palm Beach Cardinals | — | 249 | 210 | 36 | 6 | 1 | 3 | 35 | 71 | 1 | 8 | 1 | 171 | 293 | 252 | 545 | 81 | 239 | 29 | 14 | 258 | 18 | — | — | — | — | — | — |
| 2018 | 17 | ROK MLE | DSL Cardinals Blue | — | 232 | 199 | 30 | 7 | 1 | 0 | 24 | 56 | 7 | 12 | 7 | 151 | 265 | 196 | 461 | 45 | 201 | 24 | 10 | 214 | 31 | — | — | — | — | — | — |
| 2019 | 18 | ROK MLE | DSL Cardinals Red | — | 312 | 270 | 45 | 8 | 1 | 0 | 35 | 66 | 4 | 33 | 8 | 167 | 272 | 204 | 476 | 37 | 211 | 21 | 11 | 222 | 36 | — | — | — | — | — | — |
| 2021 | 20 | ROK MLE | FCL Cardinals | — | 97 | 87 | 9 | 1 | 1 | 1 | 7 | 39 | 3 | 1 | 0 | 103 | 196 | 172 | 368 | 69 | 174 | 40 | 7 | 181 | 9 | — | — | — | — | — | — |
| 2022 | 21 | A MLE | Palm Beach Cardinals | — | 249 | 222 | 29 | 4 | 1 | 2 | 24 | 100 | 1 | 8 | 1 | 131 | 220 | 185 | 404 | 54 | 220 | 40 | 10 | 195 | 18 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 890 | 777 | 113 | 20 | 4 | 3 | 90 | 261 | 15 | 54 | 16 | 145 | 247 | 193 | 440 | 48 | 212 | 29 | 10 | 208 | 27 | -77 | +4 | +0 | +10 | +19 | -4.5 | |
| / 162G | — | MLE | — | 650 | 567 | 83 | 15 | 3 | 2 | 66 | 191 | 11 | 39 | 12 | 146 | 248 | 194 | 442 | 48 | 214 | 29 | 10 | 208 | 27 | -57 | +3 | +0 | +7 | +14 | -3.3 | |
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.
2022 APalm Beach Cardinals · 249 PAwOBA .254 → .195 (−59)K% 28.5% → 40.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.51% | ÷0.966 | ×1.360 | — | — | 40.14% |
| BB% (unintentional) /PA | 14.06% | ÷1.029 | ×0.690 | — | ×1.015 | 9.57% |
| HBP% /PA | 0.40% | — | ×0.780 | — | ×1.015 | 0.32% |
| Singles /BIP | 18.71% | ÷0.985 | ×0.920 | ×1.005 | ×1.015 | 17.83% |
| Doubles /BIP | 4.32% | ÷1.076 | ×0.830 | ×1.005 | ×1.015 | 3.40% |
| Triples /BIP | 0.72% | ÷0.900 | ×0.910 | ×1.005 | ×1.015 | 0.74% |
| Home runs /BIP | 2.16% | ÷0.880 | ×0.800 | — | ×1.015 | 1.99% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 76, 1B 97, 2B 115, 3B 80, K 93, BB 106 — applied at half strength. Age: age 21 vs a level average of 22.0 → +1.5% on BB/HBP/hit rates (1.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.005.
Result: wOBA .254 → .195; ISO .081 → .064; BABIP .239 → .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).
2021 ROKFCL Cardinals · 97 PAwOBA .263 → .181 (−82)K% 27.8% → 40.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 27.84% | ÷0.999 | ×1.440 | — | — | 40.11% |
| BB% (unintentional) /PA | 12.37% | ÷1.007 | ×0.620 | — | ×0.995 | 7.58% |
| HBP% /PA | 3.09% | — | ×0.720 | — | ×0.995 | 2.22% |
| Singles /BIP | 14.55% | ÷0.988 | ×0.820 | ×1.050 | ×0.995 | 12.61% |
| Doubles /BIP | 3.64% | ÷0.973 | ×0.720 | ×1.050 | ×0.995 | 2.81% |
| Triples /BIP | 1.82% | ÷0.941 | ×0.720 | ×1.050 | ×0.995 | 1.45% |
| Home runs /BIP | 3.64% | ÷1.000 | ×0.780 | — | ×0.995 | 2.82% |
Factors used: level-wide ROK factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 100, 1B 98, 2B 95, 3B 88, K 100, BB 101 — 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 ×1.050.
Result: wOBA .263 → .181; ISO .122 → .084; BABIP .208 → .174. 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 Cardinals Red · 312 PAwOBA .331 → .222 (−109)K% 17.3% → 21.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.31% | ÷1.000 | ×1.220 | — | — | 21.12% |
| BB% (unintentional) /PA | 15.71% | ÷1.000 | ×0.700 | — | ×1.008 | 11.08% |
| HBP% /PA | 1.28% | — | ×0.700 | — | ×1.008 | 0.90% |
| Singles /BIP | 26.24% | ÷1.000 | ×0.680 | ×0.950 | ×1.008 | 17.08% |
| Doubles /BIP | 6.44% | ÷1.000 | ×0.600 | ×0.950 | ×1.008 | 3.70% |
| Triples /BIP | 0.99% | ÷1.000 | ×0.600 | ×0.950 | ×1.008 | 0.57% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.470 | — | ×1.008 | 0.00% |
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 .331 → .222; ISO .066 → .039; BABIP .333 → .211. 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 Cardinals Blue · 232 PAwOBA .313 → .214 (−98)K% 19.8% → 24.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 19.83% | ÷1.000 | ×1.220 | — | — | 24.19% |
| BB% (unintentional) /PA | 14.66% | ÷1.000 | ×0.700 | — | ×1.022 | 10.49% |
| HBP% /PA | 3.02% | — | ×0.700 | — | ×1.022 | 2.16% |
| Singles /BIP | 22.54% | ÷1.000 | ×0.680 | ×0.968 | ×1.022 | 15.17% |
| Doubles /BIP | 7.75% | ÷1.000 | ×0.600 | ×0.968 | ×1.022 | 4.60% |
| Triples /BIP | 0.70% | ÷1.000 | ×0.600 | ×0.968 | ×1.022 | 0.42% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.470 | — | ×1.022 | 0.00% |
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 ×0.968.
Result: wOBA .313 → .214; ISO .069 → .042; BABIP .308 → .201. 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).