Kevin Santa
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR |
|---|---|---|---|---|---|---|---|---|
| 2023 | 28 | INTLLeones de Pon… | 96 | .198/.316/.210 | 0 | 2 | 60 | — |
| 2024 | 29 | INTLSenadores de … | 116 | .214/.289/.233 | 0 | 3 | 52 | — |
| 2025 | 30 | INTLLeones de Pon… | 69 | .207/.292/.241 | 0 | 0 | 49 | — |
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) | |||||||||||||||||||||||||||||||
| 2017 | 22 | A+ | Modesto Nuts | — | 50 | 45 | 11 | 0 | 0 | 1 | 4 | 4 | 1 | 1 | 3 | 244 | 320 | 311 | 631 | 67 | 250 | 8 | 8 | 293 | 63 | — | — | — | — | — | — |
| 2017 | 22 | ROK | AZL Mariners | — | 82 | 66 | 26 | 2 | 1 | 2 | 10 | 9 | 3 | 8 | 2 | 394 | 494 | 545 | 1.039 | 152 | 421 | 11 | 12 | 445 | 128 | — | — | — | — | — | — |
| 2018 | 23 | A+ | Modesto Nuts | — | 384 | 348 | 100 | 13 | 4 | 2 | 25 | 38 | 6 | 11 | 6 | 287 | 346 | 365 | 711 | 78 | 317 | 10 | 7 | 319 | 73 | — | — | — | — | — | — |
| 2018 | 23 | INTL | Cangrejeros de Santurce | — | 31 | 28 | 6 | 2 | 0 | 0 | 1 | 4 | 1 | 0 | 1 | 214 | 267 | 286 | 552 | 71 | 250 | 13 | 3 | 246 | 53 | — | — | — | — | — | — |
| 2019 | 24 | AAA | Tacoma Rainiers | — | 32 | 29 | 4 | 1 | 0 | 0 | 2 | 6 | 1 | 0 | 0 | 138 | 219 | 172 | 391 | 34 | 174 | 19 | 6 | 192 | -6 | — | — | — | — | — | — |
| 2019 | 24 | A+ | Modesto Nuts | — | 19 | 17 | 6 | 0 | 0 | 0 | 2 | 2 | 0 | 2 | 0 | 353 | 421 | 353 | 774 | 400 | 11 | 11 | 359 | 86 | — | — | — | — | — | — | |
| 2019 | 24 | ROK | AZL Mariners | — | 33 | 30 | 14 | 4 | 0 | 1 | 3 | 4 | 0 | 1 | 0 | 467 | 515 | 700 | 1.215 | 233 | 520 | 12 | 9 | 529 | 135 | — | — | — | — | — | — |
| 2019 | 24 | INTL | Atenienses de Manati | — | 18 | 13 | 1 | 0 | 0 | 0 | 3 | 5 | 1 | 0 | 1 | 77 | 294 | 77 | 371 | 125 | 28 | 17 | 207 | 27 | — | — | — | — | — | — | |
| 2020 | 25 | INTL | Criollos de Caguas | — | 16 | 12 | 4 | 0 | 1 | 0 | 3 | 2 | 1 | 0 | 0 | 333 | 500 | 500 | 1.000 | 167 | 400 | 12 | 19 | 447 | 189 | — | — | — | — | — | — |
| 2021 | 26 | INTL | Criollos de Caguas | — | 49 | 40 | 10 | 0 | 0 | 1 | 6 | 7 | 0 | 0 | 0 | 250 | 348 | 325 | 673 | 75 | 273 | 14 | 12 | 294 | 85 | — | — | — | — | — | — |
| 2022 | 27 | INTL | Leones de Ponce | — | 133 | 121 | 34 | 5 | 2 | 0 | 10 | 15 | 2 | 6 | 0 | 281 | 346 | 355 | 701 | 74 | 321 | 11 | 8 | 320 | 103 | — | — | — | — | — | — |
| 2023 | 28 | INTL | Leones de Ponce | — | 96 | 81 | 16 | 1 | 0 | 0 | 12 | 10 | 2 | 2 | 2 | 198 | 316 | 210 | 526 | 12 | 225 | 10 | 12 | 257 | 60 | — | — | — | — | — | — |
| 2024 | 29 | INTL | Senadores de San Juan | — | 116 | 103 | 22 | 0 | 1 | 0 | 8 | 12 | 3 | 3 | 1 | 214 | 289 | 233 | 522 | 19 | 237 | 10 | 7 | 245 | 52 | — | — | — | — | — | — |
| 2025 | 30 | INTL | Leones de Ponce | — | 69 | 58 | 12 | 2 | 0 | 0 | 5 | 7 | 2 | 0 | 0 | 207 | 292 | 241 | 534 | 34 | 231 | 10 | 7 | 240 | 49 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2017 | 22 | A+ MLE | Modesto Nuts | — | 50 | 46 | 11 | 0 | 0 | 1 | 3 | 6 | 1 | 1 | 3 | 239 | 300 | 304 | 604 | 65 | 240 | 12 | 6 | 262 | 63 | — | — | — | — | — | — |
| 2017 | 22 | ROK MLE | AZL Mariners | — | 82 | 70 | 24 | 2 | 1 | 2 | 6 | 13 | 3 | 8 | 2 | 343 | 418 | 486 | 903 | 143 | 343 | 16 | 7 | 357 | 128 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | Modesto Nuts | — | 384 | 357 | 94 | 12 | 3 | 2 | 16 | 51 | 6 | 11 | 6 | 263 | 306 | 331 | 637 | 67 | 296 | 13 | 4 | 276 | 73 | — | — | — | — | — | — |
| 2019 | 24 | AAA MLE | Tacoma Rainiers | — | 32 | 30 | 4 | 1 | 0 | 0 | 1 | 8 | 1 | 0 | 0 | 133 | 188 | 167 | 354 | 33 | 162 | 25 | 3 | 160 | -6 | — | — | — | — | — | — |
| 2019 | 24 | A+ MLE | Modesto Nuts | — | 19 | 18 | 5 | 0 | 0 | 0 | 1 | 3 | 0 | 2 | 0 | 278 | 316 | 278 | 594 | 358 | 16 | 5 | 296 | 86 | — | — | — | — | — | — | |
| 2019 | 24 | ROK MLE | AZL Mariners | — | 33 | 31 | 11 | 3 | 0 | 1 | 2 | 6 | 0 | 1 | 0 | 355 | 394 | 548 | 942 | 194 | 388 | 18 | 6 | 367 | 135 | — | — | — | — | — | — |
| 2017 | 22 | ROK MLE | 2 teams | — | 132 | 116 | 34 | 2 | 1 | 3 | 9 | 18 | 4 | 9 | 5 | 293 | 364 | 405 | 770 | 112 | 320 | 14 | 7 | 321 | 103 | — | — | — | — | — | — |
| 2017 | 22 | ROK RAW | 2 teams | — | 132 | 111 | 37 | 2 | 1 | 3 | 14 | 13 | 4 | 9 | 5 | 333 | 426 | 450 | 877 | 117 | 351 | 10 | 11 | 388 | 103 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | 2 teams | — | 415 | 385 | 102 | 13 | 3 | 2 | 17 | 56 | 7 | 11 | 7 | 265 | 308 | 330 | 638 | 65 | 305 | 13 | 4 | 276 | 73 | — | — | — | — | — | — |
| 2018 | 23 | A+ RAW | 2 teams | — | 415 | 376 | 106 | 15 | 4 | 2 | 26 | 42 | 7 | 11 | 7 | 282 | 340 | 359 | 699 | 77 | 312 | 10 | 6 | 313 | 73 | — | — | — | — | — | — |
| 2019 | 24 | ROK MLE | 4 teams | — | 102 | 93 | 23 | 4 | 0 | 1 | 6 | 20 | 2 | 3 | 1 | 247 | 307 | 323 | 630 | 75 | 306 | 20 | 6 | 272 | 70 | — | — | — | — | — | — |
| 2019 | 24 | ROK RAW | 4 teams | — | 102 | 89 | 25 | 5 | 0 | 1 | 10 | 17 | 2 | 3 | 1 | 281 | 366 | 371 | 737 | 90 | 338 | 17 | 10 | 335 | 70 | — | — | — | — | — | — |
| 2020 | 25 | INTL MLE | Criollos de Caguas | — | 16 | 12 | 4 | 0 | 1 | 0 | 3 | 2 | 1 | 0 | 0 | 333 | 500 | 500 | 1.000 | 167 | 400 | 12 | 19 | — | — | — | — | — | — | — | — |
| 2020 | 25 | INTL RAW | Criollos de Caguas | — | 16 | 12 | 4 | 0 | 1 | 0 | 3 | 2 | 1 | 0 | 0 | 333 | 500 | 500 | 1.000 | 167 | 400 | 12 | 19 | 447 | 189 | — | — | — | — | — | — |
| 2021 | 26 | INTL MLE | Criollos de Caguas | — | 49 | 40 | 10 | 0 | 0 | 1 | 6 | 7 | 0 | 0 | 0 | 250 | 348 | 325 | 673 | 75 | 273 | 14 | 12 | — | — | — | — | — | — | — | — |
| 2021 | 26 | INTL RAW | Criollos de Caguas | — | 49 | 40 | 10 | 0 | 0 | 1 | 6 | 7 | 0 | 0 | 0 | 250 | 348 | 325 | 673 | 75 | 273 | 14 | 12 | 294 | 85 | — | — | — | — | — | — |
| 2022 | 27 | INTL MLE | Leones de Ponce | — | 133 | 121 | 34 | 5 | 2 | 0 | 10 | 15 | 2 | 6 | 0 | 281 | 346 | 355 | 701 | 74 | 321 | 11 | 8 | — | — | — | — | — | — | — | — |
| 2022 | 27 | INTL RAW | Leones de Ponce | — | 133 | 121 | 34 | 5 | 2 | 0 | 10 | 15 | 2 | 6 | 0 | 281 | 346 | 355 | 701 | 74 | 321 | 11 | 8 | 320 | 103 | — | — | — | — | — | — |
| 2023 | 28 | INTL MLE | Leones de Ponce | — | 96 | 81 | 16 | 1 | 0 | 0 | 12 | 10 | 2 | 2 | 2 | 198 | 316 | 210 | 526 | 12 | 225 | 10 | 12 | — | — | — | — | — | — | — | — |
| 2023 | 28 | INTL RAW | Leones de Ponce | — | 96 | 81 | 16 | 1 | 0 | 0 | 12 | 10 | 2 | 2 | 2 | 198 | 316 | 210 | 526 | 12 | 225 | 10 | 12 | 257 | 60 | — | — | — | — | — | — |
| 2024 | 29 | INTL MLE | Senadores de San Juan | — | 116 | 103 | 22 | 0 | 1 | 0 | 8 | 12 | 3 | 3 | 1 | 214 | 289 | 233 | 522 | 19 | 237 | 10 | 7 | — | — | — | — | — | — | — | — |
| 2024 | 29 | INTL RAW | Senadores de San Juan | — | 116 | 103 | 22 | 0 | 1 | 0 | 8 | 12 | 3 | 3 | 1 | 214 | 289 | 233 | 522 | 19 | 237 | 10 | 7 | 245 | 52 | — | — | — | — | — | — |
| 2025 | 30 | INTL MLE | Leones de Ponce | — | 69 | 58 | 12 | 2 | 0 | 0 | 5 | 7 | 2 | 0 | 0 | 207 | 292 | 241 | 534 | 34 | 231 | 10 | 7 | — | — | — | — | — | — | — | — |
| 2025 | 30 | INTL RAW | Leones de Ponce | — | 69 | 58 | 12 | 2 | 0 | 0 | 5 | 7 | 2 | 0 | 0 | 207 | 292 | 241 | 534 | 34 | 231 | 10 | 7 | 240 | 49 | — | — | — | — | — | — |
| 2017 | 22 | ROK MLE | 2 teams | — | 132 | 118 | 34 | 2 | 1 | 3 | 9 | 18 | 4 | 9 | 5 | 288 | 364 | 398 | 763 | 110 | 304 | 14 | 7 | 321 | 103 | — | — | — | — | — | — |
| 2018 | 23 | A+ MLE | 2 teams | — | 415 | 388 | 102 | 13 | 3 | 2 | 17 | 56 | 7 | 11 | 7 | 263 | 308 | 327 | 635 | 64 | 296 | 13 | 4 | 276 | 73 | — | — | — | — | — | — |
| 2019 | 24 | ROK MLE | 4 teams | — | 102 | 93 | 23 | 4 | 0 | 1 | 6 | 20 | 2 | 3 | 1 | 247 | 307 | 323 | 630 | 75 | 295 | 20 | 6 | 272 | 70 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1128 | 1009 | 257 | 27 | 8 | 7 | 76 | 147 | 23 | 34 | 16 | 255 | 321 | 318 | 639 | 63 | 290 | 13 | 7 | 164 | -3 | -138 | +0 | +0 | +12 | +24 | -10.3 | |
| / 162G | — | MLE | — | 650 | 581 | 149 | 16 | 5 | 4 | 44 | 85 | 13 | 20 | 9 | 256 | 322 | 322 | 644 | 65 | 292 | 13 | 7 | 164 | -3 | -80 | +0 | +0 | +7 | +14 | -5.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.
2019 ROKAZL Mariners · 33 PAwOBA .514 → .367 (−147)K% 12.1% → 17.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.12% | ÷1.000 | ×1.440 | — | — | 17.45% |
| BB% (unintentional) /PA | 9.09% | ÷1.000 | ×0.620 | — | ×0.955 | 5.38% |
| HBP% /PA | 0.00% | — | ×0.720 | — | ×0.955 | 0.00% |
| Singles /BIP | 34.62% | ÷1.000 | ×0.820 | — | ×0.955 | 27.11% |
| Doubles /BIP | 15.38% | ÷1.000 | ×0.720 | — | ×0.955 | 10.58% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.720 | — | ×0.955 | 0.00% |
| Home runs /BIP | 3.85% | ÷1.000 | ×0.780 | — | ×0.955 | 2.87% |
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 24 vs a level average of 19.5 → −4.5% on BB/HBP/hit rates (4.5 yr older than average).
Result: wOBA .514 → .367; ISO .233 → .163; BABIP .520 → .388. 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 AAATacoma Rainiers · 32 PAwOBA .187 → .160 (−27)K% 18.8% → 24.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 18.75% | ÷0.990 | ×1.290 | — | — | 24.43% |
| BB% (unintentional) /PA | 6.25% | ÷1.039 | ×0.710 | — | ×1.048 | 4.47% |
| HBP% /PA | 3.12% | — | ×0.980 | — | ×1.048 | 3.21% |
| Singles /BIP | 13.04% | ÷0.985 | ×0.900 | — | ×1.048 | 12.49% |
| Doubles /BIP | 4.35% | ÷0.998 | ×0.810 | — | ×1.048 | 3.70% |
| Triples /BIP | 0.00% | ÷1.073 | ×0.810 | — | ×1.048 | 0.00% |
| Home runs /BIP | 0.00% | ÷1.049 | ×0.780 | — | ×1.048 | 0.00% |
Factors used: league row PCL. Park (home-season share, regressed): HR 110, 1B 97, 2B 100, 3B 115, K 98, BB 108 — applied at half strength. Age: age 24 vs a level average of 27.2 → +4.8% on BB/HBP/hit rates (3.2 yr younger than average).
Result: wOBA .187 → .160; ISO .034 → .028; BABIP .174 → .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).
2019 A+Modesto Nuts · 19 PAwOBA .351 → .296 (−55)K% 10.5% → 14.5%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 10.53% | ÷0.976 | ×1.340 | — | — | 14.45% |
| BB% (unintentional) /PA | 10.53% | ÷1.052 | ×0.710 | — | ×0.988 | 7.02% |
| HBP% /PA | 0.00% | — | ×0.790 | — | ×0.988 | 0.00% |
| Singles /BIP | 40.00% | ÷1.005 | ×0.910 | — | ×0.988 | 35.78% |
| Doubles /BIP | 0.00% | ÷1.050 | ×0.820 | — | ×0.988 | 0.00% |
| Triples /BIP | 0.00% | ÷1.022 | ×0.760 | — | ×0.988 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.768 | ×0.920 | — | ×0.988 | 0.00% |
Factors used: league row CAL. Park (home-season share, regressed): HR 54, 1B 101, 2B 110, 3B 104, K 95, BB 110 — 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 .351 → .296; ISO .000 → .000; BABIP .400 → .358. 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 A+Modesto Nuts · 384 PAwOBA .312 → .276 (−36)K% 9.9% → 13.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 9.90% | ÷0.990 | ×1.340 | — | — | 13.40% |
| BB% (unintentional) /PA | 6.51% | ÷1.106 | ×0.710 | — | ×0.998 | 4.17% |
| HBP% /PA | 1.56% | — | ×0.790 | — | ×0.998 | 1.23% |
| Singles /BIP | 26.13% | ÷1.003 | ×0.910 | ×1.050 | ×0.998 | 24.83% |
| Doubles /BIP | 4.19% | ÷0.951 | ×0.820 | ×1.050 | ×0.998 | 3.79% |
| Triples /BIP | 1.29% | ÷1.150 | ×0.760 | ×1.050 | ×0.998 | 0.89% |
| Home runs /BIP | 0.65% | ÷0.925 | ×0.920 | — | ×0.998 | 0.64% |
Factors used: league row CAL. Park (home-season share, regressed): HR 85, 1B 101, 2B 90, 3B 130, K 98, BB 121 — 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.050.
Result: wOBA .312 → .276; ISO .078 → .067; BABIP .317 → .296. 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 ROKAZL Mariners · 82 PAwOBA .445 → .357 (−88)K% 11.0% → 15.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 10.98% | ÷1.000 | ×1.440 | — | — | 15.80% |
| BB% (unintentional) /PA | 12.20% | ÷1.000 | ×0.620 | — | ×0.975 | 7.37% |
| HBP% /PA | 3.66% | — | ×0.720 | — | ×0.975 | 2.57% |
| Singles /BIP | 36.84% | ÷1.000 | ×0.820 | ×1.042 | ×0.975 | 30.69% |
| Doubles /BIP | 3.51% | ÷1.000 | ×0.720 | ×1.042 | ×0.975 | 2.57% |
| Triples /BIP | 1.75% | ÷1.000 | ×0.720 | ×1.042 | ×0.975 | 1.28% |
| Home runs /BIP | 3.51% | ÷1.000 | ×0.780 | — | ×0.975 | 2.67% |
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 22 vs a level average of 19.5 → −2.5% on BB/HBP/hit rates (2.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.042.
Result: wOBA .445 → .357; ISO .152 → .121; BABIP .421 → .343. 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 A+Modesto Nuts · 50 PAwOBA .286 → .262 (−23)K% 8.0% → 11.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 8.00% | ÷0.972 | ×1.340 | — | — | 11.03% |
| BB% (unintentional) /PA | 8.00% | ÷0.995 | ×0.710 | — | ×1.012 | 5.78% |
| HBP% /PA | 2.00% | — | ×0.790 | — | ×1.012 | 1.60% |
| Singles /BIP | 24.39% | ÷1.008 | ×0.910 | ×1.050 | ×1.012 | 23.40% |
| Doubles /BIP | 0.00% | ÷1.082 | ×0.820 | ×1.050 | ×1.012 | 0.00% |
| Triples /BIP | 0.00% | ÷1.041 | ×0.760 | ×1.050 | ×1.012 | 0.00% |
| Home runs /BIP | 2.44% | ÷0.866 | ×0.920 | — | ×1.012 | 2.62% |
Factors used: league row CAL. Park (home-season share, regressed): HR 73, 1B 102, 2B 116, 3B 108, K 94, BB 99 — applied at half strength. Age: age 22 vs a level average of 22.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .286 → .262; ISO .067 → .071; BABIP .250 → .240. 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 — .