Derek Berg
C Altoona Curve| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2024 | 22 | APIT | 55 | .122/.204/.184 | 1 | 0 | -27 | — | .098/.148/.157 |
| 2025 | 23 | AA/A+/APIT | 343 | .230/.360/.372 | 7 | 10 | 49 | — | .170/.265/.277 |
| 2026 | 24 | AAA/AAPIT | 397 | .243/.315/.393 | 11 | 3 | 58 | — | .211/.266/.324 |
| 2027PROJMLE | 25 | MLBPIT | 4 | .177/.239/.276 | 0 | 0 | 46 | -0.0 | |
| 2028PROJ31% MLB | 26 | MLBPIT | 78 | .180/.244/.282 | 1 | 1 | 49 | -0.1 | |
| 2029PROJ42% MLB | 27 | MLBPIT | 118 | .182/.246/.285 | 2 | 1 | 51 | -0.2 |
Tools · ContractCON 20 / POW 40
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) | |||||||||||||||||||||||||||||||
| 2024 | 22 | A | Bradenton Marauders | — | 55 | 49 | 6 | 0 | 0 | 1 | 5 | 20 | 0 | 0 | 0 | 122 | 204 | 184 | 387 | 61 | 172 | 36 | 9 | 184 | -27 | — | — | — | — | — | — |
| 2025 | 23 | AA | Altoona Curve | — | 35 | 28 | 9 | 2 | 0 | 0 | 6 | 10 | 1 | 0 | 0 | 321 | 457 | 393 | 850 | 71 | 500 | 29 | 17 | 395 | 101 | — | — | — | — | — | — |
| 2025 | 23 | A+ | Greensboro Grasshoppers | — | 106 | 88 | 22 | 5 | 1 | 2 | 13 | 38 | 2 | 2 | 3 | 250 | 359 | 398 | 757 | 148 | 400 | 36 | 12 | 334 | 49 | — | — | — | — | — | — |
| 2025 | 23 | A | Bradenton Marauders | — | 202 | 166 | 34 | 4 | 3 | 5 | 30 | 68 | 5 | 8 | 2 | 205 | 343 | 355 | 699 | 151 | 309 | 34 | 15 | 321 | 40 | — | — | — | — | — | — |
| 2026 | 24 | AAA | Indianapolis Indians | — | 144 | 127 | 23 | 5 | 0 | 3 | 12 | 49 | 2 | 1 | 0 | 181 | 262 | 291 | 554 | 110 | 267 | 34 | 8 | 251 | 24 | — | — | — | — | — | — |
| 2026 | 24 | AA | Altoona Curve | — | 253 | 227 | 63 | 13 | 1 | 8 | 21 | 77 | 2 | 2 | 1 | 278 | 344 | 449 | 793 | 172 | 385 | 30 | 8 | 349 | 78 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2024 | 22 | A MLE | Bradenton Marauders | — | 55 | 51 | 5 | 0 | 0 | 1 | 3 | 28 | 0 | 0 | 0 | 98 | 148 | 157 | 305 | 59 | 158 | 51 | 5 | 128 | -27 | — | — | — | — | — | — |
| 2025 | 23 | AA MLE | Altoona Curve | — | 35 | 30 | 8 | 2 | 0 | 0 | 4 | 13 | 1 | 0 | 0 | 267 | 371 | 333 | 705 | 67 | 466 | 37 | 11 | 317 | 101 | — | — | — | — | — | — |
| 2025 | 23 | A+ MLE | Greensboro Grasshoppers | — | 106 | 93 | 17 | 3 | 1 | 2 | 8 | 50 | 2 | 2 | 3 | 183 | 262 | 301 | 563 | 118 | 331 | 47 | 8 | 241 | 49 | — | — | — | — | — | — |
| 2025 | 23 | A MLE | Bradenton Marauders | — | 202 | 177 | 26 | 3 | 2 | 4 | 19 | 93 | 5 | 8 | 2 | 147 | 249 | 254 | 503 | 107 | 265 | 46 | 9 | 227 | 40 | — | — | — | — | — | — |
| 2026 | 24 | AAA MLE | Indianapolis Indians | — | 144 | 131 | 21 | 4 | 0 | 2 | 8 | 59 | 2 | 1 | 0 | 160 | 220 | 237 | 456 | 76 | 258 | 41 | 6 | 204 | 24 | — | — | — | — | — | — |
| 2026 | 24 | AA MLE | Altoona Curve | — | 253 | 233 | 56 | 11 | 1 | 6 | 15 | 94 | 2 | 2 | 1 | 240 | 292 | 373 | 665 | 133 | 360 | 37 | 6 | 283 | 78 | — | — | — | — | — | — |
| 2024 | 22 | A MLE | Bradenton Marauders | — | 55 | 51 | 5 | 0 | 0 | 1 | 3 | 28 | 0 | 0 | 0 | 98 | 148 | 157 | 305 | 59 | 174 | 51 | 5 | 128 | -27 | — | — | — | — | — | — |
| 2024 | 22 | A RAW | Bradenton Marauders | — | 55 | 49 | 6 | 0 | 0 | 1 | 5 | 20 | 0 | 0 | 0 | 122 | 204 | 184 | 387 | 61 | 172 | 36 | 9 | 184 | -27 | — | — | — | — | — | — |
| 2025 | 23 | A MLE | 3 teams | — | 343 | 300 | 51 | 8 | 3 | 5 | 31 | 155 | 8 | 10 | 5 | 170 | 265 | 267 | 532 | 97 | 322 | 45 | 9 | 241 | 49 | — | — | — | — | — | — |
| 2025 | 23 | A RAW | 3 teams | — | 343 | 282 | 65 | 11 | 4 | 7 | 49 | 116 | 8 | 10 | 5 | 230 | 360 | 372 | 732 | 142 | 358 | 34 | 14 | 333 | 49 | — | — | — | — | — | — |
| 2026 | 24 | AA MLE | 2 teams | — | 397 | 365 | 77 | 15 | 1 | 8 | 22 | 153 | 4 | 3 | 1 | 211 | 263 | 323 | 587 | 112 | 337 | 39 | 6 | 254 | 58 | — | — | — | — | — | — |
| 2026 | 24 | AA RAW | 2 teams | — | 397 | 354 | 86 | 18 | 1 | 11 | 33 | 126 | 4 | 3 | 1 | 243 | 315 | 393 | 707 | 150 | 344 | 32 | 8 | 313 | 58 | — | — | — | — | — | — |
| 2024 | 22 | A MLE | Bradenton Marauders | — | 55 | 52 | 5 | 0 | 0 | 1 | 3 | 28 | 0 | 0 | 0 | 96 | 148 | 154 | 302 | 58 | 158 | 51 | 5 | 128 | -27 | — | — | — | — | — | — |
| 2025 | 23 | A MLE | 3 teams | — | 343 | 301 | 51 | 8 | 3 | 5 | 31 | 155 | 8 | 10 | 5 | 169 | 265 | 266 | 531 | 96 | 306 | 45 | 9 | 241 | 49 | — | — | — | — | — | — |
| 2026 | 24 | AA MLE | 2 teams | — | 397 | 368 | 77 | 15 | 1 | 8 | 22 | 153 | 4 | 3 | 1 | 209 | 263 | 321 | 584 | 111 | 323 | 39 | 6 | 254 | 58 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2024 | 22 | A MLE | Bradenton Marauders | — | 55 | 52 | 5 | 0 | 0 | 1 | 3 | 28 | 0 | 0 | 0 | 96 | 148 | 154 | 302 | 58 | 158 | 51 | 5 | 128 | -27 | — | — | — | — | — | — |
| 2025 | 23 | A MLE | 3 teams | — | 343 | 301 | 51 | 8 | 3 | 5 | 31 | 155 | 8 | 10 | 5 | 169 | 265 | 266 | 531 | 96 | 306 | 45 | 9 | 241 | 49 | — | — | — | — | — | — |
| 2026 | 24 | AA MLE | 2 teams | — | 397 | 368 | 77 | 15 | 1 | 8 | 22 | 153 | 4 | 3 | 1 | 209 | 263 | 321 | 584 | 111 | 323 | 39 | 6 | 254 | 58 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 25 | MLB MLE | PIT | 2% | 380 | 348 | 62 | 12 | 1 | 7 | 25 | 137 | 4 | 4 | 1 | 177 | 240 | 279 | 520 | 102 | 264 | 36 | 7 | 236 | 46 | -24 | +0 | +0 | +7 | +8 | -0.4 |
| ▸ 2027 — real world (MLB) | |||||||||||||||||||||||||||||||
| 2027 | 25 | MLB CTX | PIT | 2% | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 177 | 239 | 276 | 515 | 99 | 265 | 25 | 0 | 235 | 46 | -0 | +0 | +0 | +0 | +0 | -0.0 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 26 | MLB MLE | PIT | 31% | 253 | 231 | 42 | 8 | 1 | 5 | 17 | 89 | 3 | 2 | 1 | 181 | 244 | 286 | 530 | 105 | 265 | 35 | 7 | 241 | 49 | -15 | +0 | +0 | +5 | +5 | -0.5 |
| 2029 | 27 | MLB MLE | PIT | 42% | 280 | 256 | 47 | 9 | 1 | 6 | 19 | 98 | 3 | 2 | 1 | 183 | 247 | 289 | 536 | 107 | 266 | 35 | 7 | 244 | 51 | -16 | +0 | +0 | +5 | +6 | -0.5 |
| 2028 | 26 | MLB CTX | PIT | 31% | 78 | 72 | 13 | 3 | 0 | 1 | 5 | 28 | 1 | 1 | 0 | 180 | 244 | 282 | 526 | 102 | 266 | 36 | 6 | 239 | 49 | -5 | +0 | +0 | +1 | +2 | -0.1 |
| 2029 | 27 | MLB CTX | PIT | 42% | 118 | 108 | 19 | 4 | 0 | 2 | 8 | 41 | 1 | 1 | 0 | 182 | 246 | 285 | 532 | 103 | 267 | 35 | 7 | 242 | 51 | -7 | +0 | +0 | +2 | +3 | -0.2 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 196 | 180 | 32 | 7 | 0 | 3 | 13 | 69 | 2 | 2 | 0 | 178 | 241 | 267 | 508 | 89 | 266 | 35 | 7 | 241 | 49 | -12 | +0 | +0 | +4 | +4 | -0.4 | |
| / 162G | — | A+C | — | 650 | 597 | 106 | 23 | 0 | 10 | 43 | 229 | 7 | 7 | 0 | 178 | 241 | 266 | 507 | 89 | 266 | 35 | 7 | 241 | 49 | -38 | +1 | +0 | +12 | +14 | -1.2 | |
| Career | — | MLE | — | 1538 | 1395 | 257 | 47 | 7 | 29 | 106 | 599 | 20 | 19 | 9 | 184 | 252 | 290 | 542 | 106 | 294 | 39 | 7 | 240 | 49 | -45 | +0 | +0 | +13 | +16 | -1.6 | |
| / 162G | — | MLE | — | 650 | 590 | 109 | 20 | 3 | 12 | 45 | 253 | 8 | 8 | 4 | 185 | 252 | 290 | 542 | 105 | 296 | 39 | 7 | 240 | 49 | -39 | +0 | +0 | +12 | +14 | -1.4 | |
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.
2026 AAAltoona Curve · 253 PAwOBA .340 → .283 (−57)K% 30.4% → 37.1%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 30.43% | ÷1.000 | ×1.220 | — | — | 37.13% |
| BB% (unintentional) /PA | 8.30% | ÷1.000 | ×0.700 | — | ×0.998 | 5.80% |
| HBP% /PA | 0.79% | — | ×0.850 | — | ×0.998 | 0.67% |
| Singles /BIP | 27.33% | ÷1.000 | ×0.970 | ×1.007 | ×0.998 | 26.64% |
| Doubles /BIP | 8.67% | ÷1.000 | ×0.860 | ×1.007 | ×0.998 | 7.49% |
| Triples /BIP | 0.67% | ÷1.000 | ×0.950 | ×1.007 | ×0.998 | 0.64% |
| Home runs /BIP | 5.33% | ÷1.000 | ×0.780 | — | ×0.998 | 4.15% |
Factors used: league row EL. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 25 vs a level average of 24.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.007.
Result: wOBA .340 → .283; ISO .172 → .133; BABIP .385 → .360. 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).
2026 AAAIndianapolis Indians · 144 PAwOBA .241 → .204 (−37)K% 34.0% → 40.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 34.03% | ÷1.000 | ×1.200 | — | — | 40.83% |
| BB% (unintentional) /PA | 7.64% | ÷1.000 | ×0.690 | — | ×1.033 | 5.44% |
| HBP% /PA | 1.39% | — | ×0.940 | — | ×1.033 | 1.35% |
| Singles /BIP | 19.23% | ÷1.000 | ×0.930 | ×1.045 | ×1.033 | 19.30% |
| Doubles /BIP | 6.41% | ÷1.000 | ×0.830 | ×1.045 | ×1.033 | 5.74% |
| Triples /BIP | 0.00% | ÷1.000 | ×0.970 | ×1.045 | ×1.033 | 0.00% |
| Home runs /BIP | 3.85% | ÷1.000 | ×0.700 | — | ×1.033 | 2.78% |
Factors used: league row International League. Park (home-season share, regressed): no park row on file (treated as neutral) — applied at half strength. Age: age 25 vs a level average of 27.2 → +3.3% on BB/HBP/hit rates (2.2 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.045.
Result: wOBA .241 → .204; ISO .110 → .084; BABIP .267 → .258. 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).
2025 ABradenton Marauders · 202 PAwOBA .315 → .227 (−88)K% 33.7% → 45.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 33.66% | ÷1.000 | ×1.360 | — | — | 45.79% |
| BB% (unintentional) /PA | 14.85% | ÷1.052 | ×0.690 | — | ×0.980 | 9.55% |
| HBP% /PA | 2.48% | — | ×0.780 | — | ×0.980 | 1.89% |
| Singles /BIP | 22.45% | ÷0.993 | ×0.920 | ×0.976 | ×0.980 | 19.88% |
| Doubles /BIP | 4.08% | ÷1.084 | ×0.830 | ×0.976 | ×0.980 | 2.99% |
| Triples /BIP | 3.06% | ÷0.952 | ×0.910 | ×0.976 | ×0.980 | 2.80% |
| Home runs /BIP | 5.10% | ÷0.932 | ×0.800 | — | ×0.980 | 4.29% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 86, 1B 99, 2B 117, 3B 90, K 100, BB 110 — applied at half strength. Age: age 24 vs a level average of 22.0 → −2.0% on BB/HBP/hit rates (2.0 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.976.
Result: wOBA .315 → .227; ISO .151 → .112; BABIP .309 → .265. 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).
2025 A+Greensboro Grasshoppers · 106 PAwOBA .332 → .241 (−91)K% 35.8% → 47.2%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 35.85% | ÷0.994 | ×1.310 | — | — | 47.22% |
| BB% (unintentional) /PA | 12.26% | ÷0.980 | ×0.600 | — | ×0.988 | 7.42% |
| HBP% /PA | 1.89% | — | ×0.770 | — | ×0.988 | 1.44% |
| Singles /BIP | 28.00% | ÷0.950 | ×0.870 | ×0.963 | ×0.988 | 24.41% |
| Doubles /BIP | 10.00% | ÷0.998 | ×0.780 | ×0.963 | ×0.988 | 7.44% |
| Triples /BIP | 2.00% | ÷1.025 | ×0.850 | ×0.963 | ×0.988 | 1.58% |
| Home runs /BIP | 4.00% | ÷1.048 | ×0.880 | — | ×0.988 | 3.32% |
Factors used: league row South Atlantic League. Park (home-season share, regressed): HR 110, 1B 90, 2B 100, 3B 105, K 99, BB 96 — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.963.
Result: wOBA .332 → .241; ISO .148 → .109; BABIP .400 → .331. 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).
2025 AAAltoona Curve · 35 PAwOBA .386 → .317 (−70)K% 28.6% → 36.8%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 28.57% | ÷0.947 | ×1.220 | — | — | 36.80% |
| BB% (unintentional) /PA | 17.14% | ÷1.033 | ×0.700 | — | ×1.012 | 11.75% |
| HBP% /PA | 2.86% | — | ×0.850 | — | ×1.012 | 2.46% |
| Singles /BIP | 38.89% | ÷1.024 | ×0.970 | — | ×1.012 | 37.29% |
| Doubles /BIP | 11.11% | ÷1.036 | ×0.860 | — | ×1.012 | 9.34% |
| Triples /BIP | 0.00% | ÷1.150 | ×0.950 | — | ×1.012 | 0.00% |
| Home runs /BIP | 0.00% | ÷0.891 | ×0.780 | — | ×1.012 | 0.00% |
Factors used: league row EL. Park (home-season share, regressed): HR 78, 1B 105, 2B 107, 3B 130, K 89, BB 107 — applied at half strength. Age: age 24 vs a level average of 24.8 → +1.2% on BB/HBP/hit rates (0.8 yr younger than average).
Result: wOBA .386 → .317; ISO .071 → .057; BABIP .500 → .466. 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 ABradenton Marauders · 55 PAwOBA .182 → .128 (−54)K% 36.4% → 50.7%
| Component | Raw | Park ÷ | Level factor × | GB/FB × | Age × | = MLE |
|---|---|---|---|---|---|---|
| K% /PA | 36.36% | ÷0.975 | ×1.360 | — | — | 50.71% |
| BB% (unintentional) /PA | 9.09% | ÷1.010 | ×0.690 | — | ×0.990 | 6.15% |
| HBP% /PA | 0.00% | — | ×0.780 | — | ×0.990 | 0.00% |
| Singles /BIP | 17.24% | ÷0.977 | ×0.920 | — | ×0.990 | 16.07% |
| Doubles /BIP | 0.00% | ÷1.124 | ×0.830 | — | ×0.990 | 0.00% |
| Triples /BIP | 0.00% | ÷1.052 | ×0.910 | — | ×0.990 | 0.00% |
| Home runs /BIP | 3.45% | ÷1.046 | ×0.800 | — | ×0.990 | 2.61% |
Factors used: level-wide A factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 109, 1B 95, 2B 125, 3B 110, K 95, BB 102 — applied at half strength. Age: age 23 vs a level average of 22.0 → −1.0% on BB/HBP/hit rates (1.0 yr older than average).
Result: wOBA .182 → .128; ISO .061 → .038; BABIP .172 → .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).