Rodolfo Penalo
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2013 | 20 | ROKOAK | 184 | .311/.422/.404 | 0 | 29 | 58 | — | .214/.306/.277 |
| 2014 | 21 | ROKAZL Athletics | 224 | .275/.439/.368 | 1 | 37 | 73 | — | .212/.326/.275 |
| 2015 | 22 | ROKAZL Athletics | 166 | .222/.321/.292 | 0 | 6 | 23 | — | .164/.230/.211 |
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) | |||||||||||||||||||||||||||||||
| 2010 | 17 | ROK | DSL Athletics | — | 126 | 103 | 25 | 2 | 1 | 0 | 18 | 18 | 3 | 12 | 8 | 243 | 371 | 282 | 653 | 39 | 294 | 14 | 14 | 308 | 26 | — | — | — | — | — | — |
| 2011 | 18 | ROK | DSL Athletics | — | 96 | 80 | 20 | 2 | 1 | 1 | 11 | 12 | 1 | 8 | 7 | 250 | 348 | 338 | 685 | 88 | 275 | 12 | 11 | 304 | 29 | — | — | — | — | — | — |
| 2012 | 19 | ROK | DSL Athletics | — | 206 | 173 | 39 | 5 | 5 | 1 | 25 | 27 | 4 | 17 | 6 | 225 | 337 | 329 | 666 | 104 | 262 | 13 | 12 | 302 | 22 | — | — | — | — | — | — |
| 2013 | 20 | ROK | DSL Athletics | — | 184 | 151 | 47 | 6 | 4 | 0 | 25 | 21 | 4 | 29 | 10 | 311 | 422 | 404 | 826 | 93 | 362 | 11 | 14 | 370 | 58 | — | — | — | — | — | — |
| 2014 | 21 | ROK | AZL Athletics | — | 224 | 171 | 47 | 7 | 3 | 1 | 46 | 31 | 4 | 37 | 9 | 275 | 439 | 368 | 807 | 94 | 329 | 14 | 21 | 373 | 73 | — | — | — | — | — | — |
| 2015 | 22 | ROK | AZL Athletics | — | 166 | 144 | 32 | 2 | 4 | 0 | 19 | 29 | 2 | 6 | 6 | 222 | 321 | 292 | 613 | 69 | 278 | 17 | 11 | 285 | 23 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2010 | 17 | ROK MLE | DSL Athletics | — | 126 | 109 | 17 | 1 | 1 | 0 | 12 | 22 | 3 | 12 | 8 | 156 | 258 | 183 | 442 | 28 | 193 | 17 | 10 | 207 | 26 | — | — | — | — | — | — |
| 2011 | 18 | ROK MLE | DSL Athletics | — | 96 | 83 | 15 | 1 | 1 | 1 | 8 | 15 | 1 | 8 | 7 | 181 | 261 | 253 | 514 | 72 | 185 | 16 | 8 | 211 | 29 | — | — | — | — | — | — |
| 2012 | 19 | ROK MLE | DSL Athletics | — | 206 | 182 | 26 | 3 | 3 | 0 | 16 | 33 | 4 | 17 | 6 | 143 | 228 | 192 | 420 | 49 | 174 | 16 | 8 | 200 | 22 | — | — | — | — | — | — |
| 2013 | 20 | ROK MLE | DSL Athletics | — | 184 | 159 | 34 | 4 | 3 | 0 | 17 | 26 | 4 | 29 | 10 | 214 | 306 | 277 | 582 | 63 | 244 | 14 | 9 | 254 | 58 | — | — | — | — | — | — |
| 2014 | 21 | ROK MLE | AZL Athletics | — | 224 | 189 | 40 | 5 | 2 | 1 | 28 | 45 | 4 | 37 | 9 | 212 | 326 | 275 | 601 | 63 | 268 | 20 | 12 | 276 | 73 | — | — | — | — | — | — |
| 2015 | 22 | ROK MLE | AZL Athletics | — | 166 | 152 | 25 | 1 | 3 | 0 | 11 | 42 | 2 | 6 | 6 | 164 | 230 | 211 | 441 | 46 | 226 | 25 | 7 | 202 | 23 | — | — | — | — | — | — |
| 2010 | 17 | ROK MLE | DSL Athletics | — | 126 | 109 | 17 | 1 | 1 | 0 | 12 | 22 | 3 | 12 | 8 | 156 | 258 | 183 | 442 | 28 | 195 | 17 | 10 | 207 | 26 | — | — | — | — | — | — |
| 2010 | 17 | ROK RAW | DSL Athletics | — | 126 | 103 | 25 | 2 | 1 | 0 | 18 | 18 | 3 | 12 | 8 | 243 | 371 | 282 | 653 | 39 | 294 | 14 | 14 | 308 | 26 | — | — | — | — | — | — |
| 2011 | 18 | ROK MLE | DSL Athletics | — | 96 | 83 | 15 | 1 | 1 | 1 | 8 | 15 | 1 | 8 | 7 | 181 | 261 | 253 | 514 | 72 | 203 | 16 | 8 | 211 | 29 | — | — | — | — | — | — |
| 2011 | 18 | ROK RAW | DSL Athletics | — | 96 | 80 | 20 | 2 | 1 | 1 | 11 | 12 | 1 | 8 | 7 | 250 | 348 | 338 | 685 | 88 | 275 | 12 | 11 | 304 | 29 | — | — | — | — | — | — |
| 2012 | 19 | ROK MLE | DSL Athletics | — | 206 | 182 | 26 | 3 | 3 | 0 | 16 | 33 | 4 | 17 | 6 | 143 | 228 | 192 | 420 | 49 | 174 | 16 | 8 | 200 | 22 | — | — | — | — | — | — |
| 2012 | 19 | ROK RAW | DSL Athletics | — | 206 | 173 | 39 | 5 | 5 | 1 | 25 | 27 | 4 | 17 | 6 | 225 | 337 | 329 | 666 | 104 | 262 | 13 | 12 | 302 | 22 | — | — | — | — | — | — |
| 2013 | 20 | ROK MLE | DSL Athletics | — | 184 | 159 | 34 | 4 | 3 | 0 | 17 | 26 | 4 | 29 | 10 | 214 | 306 | 277 | 582 | 63 | 256 | 14 | 9 | 254 | 58 | — | — | — | — | — | — |
| 2013 | 20 | ROK RAW | DSL Athletics | — | 184 | 151 | 47 | 6 | 4 | 0 | 25 | 21 | 4 | 29 | 10 | 311 | 422 | 404 | 826 | 93 | 362 | 11 | 14 | 370 | 58 | — | — | — | — | — | — |
| 2014 | 21 | ROK MLE | AZL Athletics | — | 224 | 189 | 40 | 5 | 2 | 1 | 28 | 45 | 4 | 37 | 9 | 212 | 326 | 275 | 601 | 63 | 271 | 20 | 12 | 276 | 73 | — | — | — | — | — | — |
| 2014 | 21 | ROK RAW | AZL Athletics | — | 224 | 171 | 47 | 7 | 3 | 1 | 46 | 31 | 4 | 37 | 9 | 275 | 439 | 368 | 807 | 94 | 329 | 14 | 21 | 373 | 73 | — | — | — | — | — | — |
| 2015 | 22 | ROK MLE | AZL Athletics | — | 166 | 152 | 25 | 1 | 3 | 0 | 11 | 42 | 2 | 6 | 6 | 164 | 230 | 211 | 441 | 46 | 227 | 25 | 7 | 202 | 23 | — | — | — | — | — | — |
| 2015 | 22 | ROK RAW | AZL Athletics | — | 166 | 144 | 32 | 2 | 4 | 0 | 19 | 29 | 2 | 6 | 6 | 222 | 321 | 292 | 613 | 69 | 278 | 17 | 11 | 285 | 23 | — | — | — | — | — | — |
| 2010 | 17 | ROK MLE | DSL Athletics | — | 126 | 110 | 17 | 1 | 1 | 0 | 12 | 22 | 3 | 12 | 8 | 155 | 258 | 182 | 440 | 27 | 193 | 17 | 10 | 207 | 26 | — | — | — | — | — | — |
| 2011 | 18 | ROK MLE | DSL Athletics | — | 96 | 87 | 15 | 1 | 1 | 1 | 8 | 15 | 1 | 8 | 7 | 172 | 261 | 241 | 502 | 69 | 185 | 16 | 8 | 211 | 29 | — | — | — | — | — | — |
| 2012 | 19 | ROK MLE | DSL Athletics | — | 206 | 184 | 26 | 3 | 3 | 0 | 16 | 33 | 4 | 17 | 6 | 141 | 228 | 190 | 418 | 49 | 174 | 16 | 8 | 200 | 22 | — | — | — | — | — | — |
| 2013 | 20 | ROK MLE | DSL Athletics | — | 184 | 161 | 34 | 4 | 3 | 0 | 17 | 26 | 4 | 29 | 10 | 211 | 306 | 273 | 579 | 62 | 244 | 14 | 9 | 254 | 58 | — | — | — | — | — | — |
| 2014 | 21 | ROK MLE | AZL Athletics | — | 224 | 190 | 40 | 5 | 2 | 1 | 28 | 45 | 4 | 37 | 9 | 211 | 326 | 274 | 599 | 63 | 268 | 20 | 12 | 276 | 73 | — | — | — | — | — | — |
| 2015 | 22 | ROK MLE | AZL Athletics | — | 166 | 152 | 25 | 1 | 3 | 0 | 11 | 42 | 2 | 6 | 6 | 164 | 230 | 211 | 441 | 46 | 226 | 25 | 7 | 202 | 23 | — | — | — | — | — | — |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| Career | — | MLE | — | 1002 | 874 | 157 | 15 | 13 | 2 | 92 | 183 | 18 | 109 | 46 | 180 | 271 | 233 | 505 | 54 | 224 | 18 | 9 | 229 | 41 | -70 | +3 | +0 | +4 | +22 | -4.2 | |
| / 162G | — | MLE | — | 650 | 567 | 101 | 10 | 8 | 1 | 60 | 119 | 12 | 71 | 30 | 178 | 271 | 229 | 500 | 51 | 223 | 18 | 9 | 229 | 41 | -45 | +2 | +0 | +2 | +14 | -2.7 | |
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.
2015 ROKAZL Athletics · 166 PAwOBA .278 → .202 (−77)K% 17.5% → 25.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 17.47% | ÷1.000 | ×1.440 | — | — | 25.16% |
| BB% (unintentional) /PA | 11.45% | ÷1.000 | ×0.620 | — | ×0.965 | 6.85% |
| HBP% /PA | 1.20% | — | ×0.720 | — | ×0.965 | 0.84% |
| Singles /BIP | 22.61% | ÷1.000 | ×0.820 | ×1.050 | ×0.965 | 18.78% |
| Doubles /BIP | 1.74% | ÷1.000 | ×0.720 | ×1.050 | ×0.965 | 1.27% |
| Triples /BIP | 3.48% | ÷1.000 | ×0.720 | ×1.050 | ×0.965 | 2.54% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.780 | — | ×0.965 | 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 23 vs a level average of 19.5 → −3.5% on BB/HBP/hit rates (3.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.050.
Result: wOBA .278 → .202; ISO .069 → .049; BABIP .278 → .226. 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).
2014 ROKAZL Athletics · 224 PAwOBA .367 → .276 (−90)K% 13.8% → 19.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.84% | ÷1.000 | ×1.440 | — | — | 19.93% |
| BB% (unintentional) /PA | 20.54% | ÷1.000 | ×0.620 | — | ×0.975 | 12.41% |
| HBP% /PA | 1.79% | — | ×0.720 | — | ×0.975 | 1.25% |
| Singles /BIP | 25.71% | ÷1.000 | ×0.820 | ×1.050 | ×0.975 | 21.58% |
| Doubles /BIP | 5.00% | ÷1.000 | ×0.720 | ×1.050 | ×0.975 | 3.69% |
| Triples /BIP | 2.14% | ÷1.000 | ×0.720 | ×1.050 | ×0.975 | 1.58% |
| Home runs /BIP | 0.71% | ÷1.000 | ×0.780 | — | ×0.975 | 0.54% |
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.050.
Result: wOBA .367 → .276; ISO .094 → .074; BABIP .329 → .268. 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).
2013 DSLDSL Athletics · 184 PAwOBA .361 → .254 (−107)K% 11.4% → 13.9%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 11.41% | ÷1.000 | ×1.220 | — | — | 13.92% |
| BB% (unintentional) /PA | 13.59% | ÷1.000 | ×0.700 | — | ×0.975 | 9.27% |
| HBP% /PA | 2.17% | — | ×0.700 | — | ×0.975 | 1.48% |
| Singles /BIP | 28.46% | ÷1.000 | ×0.680 | ×1.043 | ×0.975 | 19.69% |
| Doubles /BIP | 4.62% | ÷1.000 | ×0.600 | ×1.043 | ×0.975 | 2.82% |
| Triples /BIP | 3.08% | ÷1.000 | ×0.600 | ×1.043 | ×0.975 | 1.88% |
| Home runs /BIP | 0.00% | ÷1.000 | ×0.470 | — | ×0.975 | 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 21 vs a level average of 18.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.043.
Result: wOBA .361 → .254; ISO .093 → .060; BABIP .362 → .244. 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).
2012 DSLDSL Athletics · 206 PAwOBA .292 → .200 (−92)K% 13.1% → 16.0%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 13.11% | ÷1.000 | ×1.220 | — | — | 15.99% |
| BB% (unintentional) /PA | 11.17% | ÷1.000 | ×0.700 | — | ×0.985 | 7.70% |
| HBP% /PA | 1.94% | — | ×0.700 | — | ×0.985 | 1.34% |
| Singles /BIP | 19.18% | ÷1.000 | ×0.680 | ×1.024 | ×0.985 | 13.15% |
| Doubles /BIP | 3.42% | ÷1.000 | ×0.600 | ×1.024 | ×0.985 | 2.07% |
| Triples /BIP | 3.42% | ÷1.000 | ×0.600 | ×1.024 | ×0.985 | 2.07% |
| Home runs /BIP | 0.68% | ÷1.000 | ×0.470 | — | ×0.985 | 0.32% |
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 20 vs a level average of 18.5 → −1.5% on BB/HBP/hit rates (1.5 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.024.
Result: wOBA .292 → .200; ISO .104 → .064; BABIP .262 → .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).
2011 DSLDSL Athletics · 96 PAwOBA .303 → .211 (−92)K% 12.5% → 15.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 12.50% | ÷1.000 | ×1.220 | — | — | 15.25% |
| BB% (unintentional) /PA | 11.46% | ÷1.000 | ×0.700 | — | ×0.995 | 7.98% |
| HBP% /PA | 1.04% | — | ×0.700 | — | ×0.995 | 0.73% |
| Singles /BIP | 23.53% | ÷1.000 | ×0.680 | ×1.016 | ×0.995 | 16.17% |
| Doubles /BIP | 2.94% | ÷1.000 | ×0.600 | ×1.016 | ×0.995 | 1.78% |
| Triples /BIP | 1.47% | ÷1.000 | ×0.600 | ×1.016 | ×0.995 | 0.89% |
| Home runs /BIP | 1.47% | ÷1.000 | ×0.470 | — | ×0.995 | 0.69% |
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.016.
Result: wOBA .303 → .211; ISO .087 → .051; BABIP .275 → .185. 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).
2010 DSLDSL Athletics · 126 PAwOBA .299 → .207 (−91)K% 14.3% → 17.4%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 14.29% | ÷1.000 | ×1.220 | — | — | 17.43% |
| BB% (unintentional) /PA | 13.49% | ÷1.000 | ×0.700 | — | ×1.008 | 9.52% |
| HBP% /PA | 2.38% | — | ×0.700 | — | ×1.008 | 1.68% |
| Singles /BIP | 25.88% | ÷1.000 | ×0.680 | ×0.969 | ×1.008 | 17.18% |
| Doubles /BIP | 2.35% | ÷1.000 | ×0.600 | ×0.969 | ×1.008 | 1.38% |
| Triples /BIP | 1.18% | ÷1.000 | ×0.600 | ×0.969 | ×1.008 | 0.69% |
| 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.969.
Result: wOBA .299 → .207; ISO .039 → .024; BABIP .294 → .193. 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).