Daniel Santos
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2017 | 18 | ROKSEA | 171 | .207/.335/.300 | 1 | 2 | 21 | — | .131/.246/.179 |
| 2018 | 19 | ROKSEA | 220 | .293/.378/.450 | 5 | 3 | 42 | — | .182/.253/.258 |
| 2019 | 20 | ROKAZL Mariners | 105 | .209/.308/.286 | 0 | 2 | 13 | — | .138/.221/.181 |
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. Catcher framing: only 2027 Statcast framing is modeled (Baseball Savant server-caches the leaderboard to the current season); prior-year framing is unmodeled — projections for established framers may run 1-3 WAR low.
| 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) | |||||||||||||||||||||||||||||||
| 2016 | 17 | ROK | DSL Mariners 1 | — | 91 | 78 | 13 | 1 | 0 | 0 | 12 | 20 | 1 | 3 | 0 | 167 | 286 | 179 | 465 | 13 | 224 | 22 | 13 | 234 | -4 | — | — | — | — | — | — |
| 2017 | 18 | ROK | DSL Mariners | — | 171 | 140 | 29 | 8 | 1 | 1 | 16 | 31 | 11 | 2 | 2 | 207 | 335 | 300 | 635 | 93 | 252 | 18 | 9 | 295 | 21 | — | — | — | — | — | — |
| 2018 | 19 | ROK | DSL Mariners | — | 220 | 191 | 56 | 11 | 2 | 5 | 21 | 44 | 5 | 3 | 2 | 293 | 378 | 450 | 828 | 157 | 352 | 20 | 10 | 366 | 42 | — | — | — | — | — | — |
| 2019 | 20 | ROK | AZL Mariners | — | 105 | 91 | 19 | 3 | 2 | 0 | 9 | 27 | 4 | 2 | 0 | 209 | 308 | 286 | 593 | 77 | 292 | 26 | 9 | 276 | 13 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2016 | 17 | ROK MLE | DSL Mariners 1 | — | 91 | 81 | 10 | 1 | 0 | 0 | 9 | 24 | 1 | 3 | 0 | 123 | 220 | 136 | 356 | 12 | 162 | 26 | 10 | 163 | -4 | — | — | — | — | — | — |
| 2017 | 18 | ROK MLE | DSL Mariners | — | 171 | 145 | 19 | 5 | 1 | 0 | 11 | 38 | 11 | 2 | 2 | 131 | 246 | 179 | 425 | 48 | 164 | 22 | 6 | 199 | 21 | — | — | — | — | — | — |
| 2018 | 19 | ROK MLE | DSL Mariners | — | 220 | 198 | 36 | 7 | 1 | 2 | 14 | 54 | 5 | 3 | 2 | 182 | 253 | 258 | 511 | 76 | 227 | 25 | 6 | 231 | 42 | — | — | — | — | — | — |
| 2019 | 20 | ROK MLE | AZL Mariners | — | 105 | 94 | 13 | 2 | 1 | 0 | 6 | 39 | 4 | 2 | 0 | 138 | 221 | 181 | 402 | 43 | 230 | 37 | 6 | 187 | 13 | — | — | — | — | — | — |
| 2016 | 17 | ROK MLE | DSL Mariners 1 | — | 91 | 81 | 10 | 1 | 0 | 0 | 9 | 24 | 1 | 3 | 0 | 123 | 220 | 136 | 356 | 12 | 175 | 26 | 10 | 163 | -4 | — | — | — | — | — | — |
| 2016 | 17 | ROK RAW | DSL Mariners 1 | — | 91 | 78 | 13 | 1 | 0 | 0 | 12 | 20 | 1 | 3 | 0 | 167 | 286 | 179 | 465 | 13 | 224 | 22 | 13 | 234 | -4 | — | — | — | — | — | — |
| 2017 | 18 | ROK MLE | DSL Mariners | — | 171 | 145 | 19 | 5 | 1 | 0 | 11 | 38 | 11 | 2 | 2 | 131 | 246 | 179 | 425 | 48 | 173 | 22 | 6 | 199 | 21 | — | — | — | — | — | — |
| 2017 | 18 | ROK RAW | DSL Mariners | — | 171 | 140 | 29 | 8 | 1 | 1 | 16 | 31 | 11 | 2 | 2 | 207 | 335 | 300 | 635 | 93 | 252 | 18 | 9 | 295 | 21 | — | — | — | — | — | — |
| 2018 | 19 | ROK MLE | DSL Mariners | — | 220 | 198 | 36 | 7 | 1 | 2 | 14 | 54 | 5 | 3 | 2 | 182 | 253 | 258 | 511 | 76 | 234 | 25 | 6 | 231 | 42 | — | — | — | — | — | — |
| 2018 | 19 | ROK RAW | DSL Mariners | — | 220 | 191 | 56 | 11 | 2 | 5 | 21 | 44 | 5 | 3 | 2 | 293 | 378 | 450 | 828 | 157 | 352 | 20 | 10 | 366 | 42 | — | — | — | — | — | — |
| 2019 | 20 | ROK MLE | AZL Mariners | — | 105 | 94 | 13 | 2 | 1 | 0 | 6 | 39 | 4 | 2 | 0 | 138 | 221 | 181 | 402 | 43 | 232 | 37 | 6 | 187 | 13 | — | — | — | — | — | — |
| 2019 | 20 | ROK RAW | AZL Mariners | — | 105 | 91 | 19 | 3 | 2 | 0 | 9 | 27 | 4 | 2 | 0 | 209 | 308 | 286 | 593 | 77 | 292 | 26 | 9 | 276 | 13 | — | — | — | — | — | — |
| 2016 | 17 | ROK MLE | DSL Mariners 1 | — | 91 | 81 | 10 | 1 | 0 | 0 | 9 | 24 | 1 | 3 | 0 | 123 | 220 | 136 | 356 | 12 | 162 | 26 | 10 | 163 | -4 | — | — | — | — | — | — |
| 2017 | 18 | ROK MLE | DSL Mariners | — | 171 | 147 | 19 | 5 | 1 | 0 | 11 | 38 | 11 | 2 | 2 | 129 | 246 | 177 | 422 | 48 | 164 | 22 | 6 | 199 | 21 | — | — | — | — | — | — |
| 2018 | 19 | ROK MLE | DSL Mariners | — | 220 | 199 | 36 | 7 | 1 | 2 | 14 | 54 | 5 | 3 | 2 | 181 | 253 | 256 | 510 | 75 | 227 | 25 | 6 | 231 | 42 | — | — | — | — | — | — |
| 2019 | 20 | ROK MLE | AZL Mariners | — | 105 | 94 | 13 | 2 | 1 | 0 | 6 | 39 | 4 | 2 | 0 | 138 | 221 | 181 | 402 | 43 | 230 | 37 | 6 | 187 | 13 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 587 | 518 | 78 | 15 | 3 | 2 | 40 | 155 | 21 | 10 | 4 | 151 | 240 | 203 | 443 | 52 | 207 | 26 | 7 | 203 | 24 | -53 | +0 | +0 | +10 | +13 | -3.0 | |
| / 162G | — | MLE | — | 650 | 574 | 86 | 17 | 3 | 2 | 44 | 172 | 23 | 11 | 4 | 150 | 239 | 200 | 439 | 51 | 206 | 26 | 7 | 203 | 24 | -59 | +1 | +0 | +12 | +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.
2019 ROKAZL Mariners · 105 PAwOBA .272 → .187 (−85)K% 25.7% → 37.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 25.71% | ÷1.000 | ×1.440 | — | — | 37.03% |
| BB% (unintentional) /PA | 8.57% | ÷1.000 | ×0.620 | — | ×0.995 | 5.29% |
| HBP% /PA | 3.81% | — | ×0.720 | — | ×0.995 | 2.73% |
| Singles /BIP | 21.88% | ÷1.000 | ×0.820 | — | ×0.995 | 17.85% |
| Doubles /BIP | 4.69% | ÷1.000 | ×0.720 | — | ×0.995 | 3.36% |
| Triples /BIP | 3.12% | ÷1.000 | ×0.720 | — | ×0.995 | 2.24% |
| 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): 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).
Result: wOBA .272 → .187; ISO .077 → .050; BABIP .292 → .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).
2018 DSLDSL Mariners · 220 PAwOBA .360 → .231 (−128)K% 20.0% → 24.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 20.00% | ÷1.000 | ×1.220 | — | — | 24.40% |
| BB% (unintentional) /PA | 9.09% | ÷1.000 | ×0.700 | — | ×0.995 | 6.33% |
| HBP% /PA | 2.27% | — | ×0.700 | — | ×0.995 | 1.58% |
| Singles /BIP | 25.85% | ÷1.000 | ×0.680 | ×1.000 | ×0.995 | 17.48% |
| Doubles /BIP | 7.48% | ÷1.000 | ×0.600 | ×1.000 | ×0.995 | 4.47% |
| Triples /BIP | 1.36% | ÷1.000 | ×0.600 | ×1.000 | ×0.995 | 0.81% |
| Home runs /BIP | 3.40% | ÷1.000 | ×0.470 | — | ×0.995 | 1.59% |
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 19 vs a level average of 18.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.000.
Result: wOBA .360 → .231; ISO .157 → .085; BABIP .352 → .227. 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 DSLDSL Mariners · 171 PAwOBA .293 → .199 (−94)K% 18.1% → 22.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.13% | ÷1.000 | ×1.220 | — | — | 22.12% |
| BB% (unintentional) /PA | 9.36% | ÷1.000 | ×0.700 | — | ×1.008 | 6.60% |
| HBP% /PA | 6.43% | — | ×0.700 | — | ×1.008 | 4.54% |
| Singles /BIP | 17.43% | ÷1.000 | ×0.680 | ×0.990 | ×1.008 | 11.83% |
| Doubles /BIP | 7.34% | ÷1.000 | ×0.600 | ×0.990 | ×1.008 | 4.39% |
| Triples /BIP | 0.92% | ÷1.000 | ×0.600 | ×0.990 | ×1.008 | 0.55% |
| Home runs /BIP | 0.92% | ÷1.000 | ×0.470 | — | ×1.008 | 0.43% |
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.990.
Result: wOBA .293 → .199; ISO .093 → .055; BABIP .252 → .164. 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 DSLDSL Mariners 1 · 91 PAwOBA .229 → .163 (−65)K% 22.0% → 26.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 21.98% | ÷1.000 | ×1.220 | — | — | 26.81% |
| BB% (unintentional) /PA | 13.19% | ÷1.000 | ×0.700 | — | ×1.022 | 9.44% |
| HBP% /PA | 1.10% | — | ×0.700 | — | ×1.022 | 0.79% |
| Singles /BIP | 20.69% | ÷1.000 | ×0.680 | ×1.050 | ×1.022 | 15.10% |
| Doubles /BIP | 1.72% | ÷1.000 | ×0.600 | ×1.050 | ×1.022 | 1.11% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.600 | ×1.050 | ×1.022 | 0.00% |
| 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 ×1.050.
Result: wOBA .229 → .163; ISO .013 → .008; BABIP .224 → .162. 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).