Keith Curcio

PosCF
B/TL/R
Born1992-12-28
Age (2027)34
No MLB projection yet. Career stats below are historical.
Overview
A+LAST SEASON 2019
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
201623A+Carolina Mudc…534.271/.354/.38932463—.222/.281/.306
201724AAMississippi B…455.219/.295/.31441037—.186/.239/.270
201926AA/A+2 orgs387.273/.332/.39431147—.210/.251/.298
Contract
No contract data on file.

Career Stats + Projections

Real MLB stats plus park-adjusted projections — this season (so far / rest / full), then future seasons and career totals.
basis chips: RAW = as recorded · CTX = with park/league context · A+C = actual + context combined · MLE = level/park-neutral
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.

YearAge LvlTeam MLB% PAAB H2B3BHR BBSOHBP SBCS AVGOBPSLGOPS ISOBABIP K%BB% wOBAwRC+ BATRUNFLDPOSREP WAR
▸ Career — actual stats, one row per stint (as recorded, no adjustments)
201421 ARome Braves — 2419 6201 023 01 316409579988 263312 80 399 134 — — — — — —
201421 ROKDanville Braves — 3327 7200 350 10 259312333646 74304 159 278 38 — — — — — —
201522 A+Carolina Mudcats — 427382 921454 29614 2010 241300335635 94274 147 281 40 — — — — — —
201522 ARome Braves — 138117 40650 14123 41 342422479901 137370 910 391 106 — — — — — —
201522 INTLMelbourne Aces — 183164 39600 14191 103 238300274574 37264 108 263 64 — — — — — —
201623 A+Carolina Mudcats — 534458 1242983 54647 246 271354389742 118304 1210 328 63 — — — — — —
201724 AAMississippi Braves — 455401 881464 43671 105 219295314609 95251 159 274 37 — — — — — —
201926 AAPortland Sea Dogs — 10497 22502 4221 40 227260340600 113274 214 266 25 — — — — — —
201926 A+Salem Red Sox — 283251 732041 26461 71 291358414773 124348 169 341 55 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
201421 A MLERome Braves — 2419 6201 033 01 316409579988 263276 120 366 134 — — — — — —
201421 ROK MLEDanville Braves — 3330 6200 270 10 200250267517 67242 216 225 38 — — — — — —
201522 A+ MLECarolina Mudcats — 427397 811143 16864 2010 204242275517 71242 204 228 40 — — — — — —
201522 A MLERome Braves — 138123 35540 9173 41 285348390738 106317 127 325 106 — — — — — —
201623 A+ MLECarolina Mudcats — 534483 1072362 33887 246 222281306587 85256 166 261 63 — — — — — —
201724 AA MLEMississippi Braves — 455419 781354 28841 105 186239270509 84217 186 223 37 — — — — — —
201926 AA MLEPortland Sea Dogs — 104100 18302 3271 40 180212270482 90228 263 205 25 — — — — — —
201926 A+ MLESalem Red Sox — 283263 581431 15681 71 221265308573 87280 245 249 55 — — — — — —
201421 ROK MLE2 teams — 5749 12301 2103 11 245315367682 122282 184 284 79 — — — — — —
201421 ROK RAW2 teams — 5746 13401 373 11 283352435787 152308 125 329 79 — — — — — —
201522 A+ MLE3 teams — 748691 15621115 331368 3414 226269310579 84270 184 252 56 — — — — — —
201522 A+ RAW3 teams — 748663 17126104 57928 3414 258322345668 87289 128 297 56 — — — — — —
201623 A+ MLECarolina Mudcats — 534483 1072362 33887 246 222281306587 85263 166 261 63 — — — — — —
201623 A+ RAWCarolina Mudcats — 534458 1242983 54647 246 271354389742 118304 1210 328 63 — — — — — —
201724 AA MLEMississippi Braves — 455419 781354 28841 105 186239270509 84221 186 223 37 — — — — — —
201724 AA RAWMississippi Braves — 455401 881464 43671 105 219295314609 95251 159 274 37 — — — — — —
201926 A+ MLE2 teams — 387363 751732 18952 111 207248287535 80271 255 237 47 — — — — — —
201926 A+ RAW2 teams — 387348 952543 30682 111 273332394725 121329 188 321 47 — — — — — —
201421 ROK MLE2 teams — 5752 12301 2103 11 231315346661 115256 184 284 79 — — — — — —
201522 A+ MLE3 teams — 748701 15621115 331368 3414 223269305574 83260 184 252 56 — — — — — —
201623 A+ MLECarolina Mudcats — 534489 1072362 33887 246 219281303584 84256 166 261 63 — — — — — —
201724 AA MLEMississippi Braves — 455423 781354 28841 105 184239267506 83217 186 223 37 — — — — — —
201926 A+ MLE2 teams — 387364 751732 18952 111 206248286534 80266 255 237 47 — — — — — —
▸ Career Totals
Career— MLE — 21812005 428772514 11441321 8027 213263298561 84258 195 246 53 -122 +5 +0 +8 +47 -6.3
/ 162G— MLE — 650598 1272374 341236 248 212262294556 82257 195 246 53 -36 +2 +0 +2 +14 -1.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 A+Salem Red Sox · 283 PAwOBA .333 → .249 (−85)K% 16.3% → 24.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.25%÷0.958×1.420——24.09%
BB% (unintentional) /PA8.48%÷0.968×0.630—×0.9585.29%
HBP% /PA0.35%—×0.860—×0.9580.29%
Singles /BIP23.41%÷1.003×0.940×0.950×0.95819.98%
Doubles /BIP9.76%÷1.070×0.830×0.950×0.9586.89%
Triples /BIP1.95%÷0.972×0.800×0.950×0.9581.46%
Home runs /BIP0.49%÷1.080×0.900—×0.9580.39%

Factors used: league row CAR. Park (home-season share, regressed): HR 116, 1B 101, 2B 114, 3B 94, K 92, BB 94 — applied at half strength. Age: age 27 vs a level average of 22.8 → −4.2% on BB/HBP/hit rates (4.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.

Result: wOBA .333 → .249; ISO .124 → .087; BABIP .348 → .280. 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 AAPortland Sea Dogs · 104 PAwOBA .259 → .205 (−54)K% 21.2% → 26.0%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA21.15%÷0.991×1.220——26.05%
BB% (unintentional) /PA3.85%÷0.997×0.700—×0.9782.64%
HBP% /PA0.96%—×0.850—×0.9780.80%
Singles /BIP20.00%÷1.016×0.970×0.950×0.97817.74%
Doubles /BIP6.67%÷1.158×0.860×0.950×0.9784.60%
Triples /BIP0.00%÷1.150×0.950×0.950×0.9780.00%
Home runs /BIP2.67%÷0.953×0.780—×0.9782.13%

Factors used: league row EL. Park (home-season share, regressed): HR 91, 1B 103, 2B 132, 3B 130, K 98, BB 99 — applied at half strength. Age: age 27 vs a level average of 24.8 → −2.2% on BB/HBP/hit rates (2.2 yr older than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.950.

Result: wOBA .259 → .205; ISO .113 → .083; BABIP .274 → .228. 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 AAMississippi Braves · 455 PAwOBA .268 → .223 (−44)K% 14.7% → 18.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA14.73%÷0.970×1.220——18.51%
BB% (unintentional) /PA9.01%÷0.989×0.680—×0.9986.18%
HBP% /PA0.22%—×0.840—×0.9980.18%
Singles /BIP19.16%÷1.026×0.920×0.963×0.99816.51%
Doubles /BIP4.19%÷0.951×0.910×0.963×0.9983.85%
Triples /BIP1.80%÷1.146×0.880×0.963×0.9981.33%
Home runs /BIP1.20%÷0.925×0.800—×0.9981.03%

Factors used: league row SL. Park (home-season share, regressed): HR 85, 1B 105, 2B 90, 3B 129, K 94, BB 98 — 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 ×0.963.

Result: wOBA .268 → .223; ISO .095 → .082; BABIP .251 → .217. 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 A+Carolina Mudcats · 534 PAwOBA .322 → .261 (−62)K% 12.0% → 16.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA11.99%÷1.030×1.420——16.52%
BB% (unintentional) /PA9.55%÷0.970×0.630—×0.9886.13%
HBP% /PA1.31%—×0.860—×0.9881.11%
Singles /BIP21.32%÷1.018×0.940×0.956×0.98818.59%
Doubles /BIP7.36%÷1.004×0.830×0.956×0.9885.74%
Triples /BIP2.03%÷0.987×0.800×0.956×0.9881.55%
Home runs /BIP0.76%÷1.362×0.900—×0.9880.50%

Factors used: league row CAR. Park (home-season share, regressed): HR 172, 1B 104, 2B 101, 3B 97, K 106, BB 94 — 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.956.

Result: wOBA .322 → .261; ISO .118 → .092; BABIP .304 → .256. 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).

2015 A+Carolina Mudcats · 427 PAwOBA .274 → .228 (−46)K% 14.3% → 20.1%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA14.29%÷1.012×1.420——20.05%
BB% (unintentional) /PA6.32%÷1.042×0.630—×0.9983.82%
HBP% /PA0.94%—×0.860—×0.9980.80%
Singles /BIP21.50%÷1.014×0.940×0.990×0.99819.69%
Doubles /BIP4.36%÷1.083×0.830×0.990×0.9983.30%
Triples /BIP1.56%÷0.952×0.800×0.990×0.9981.29%
Home runs /BIP1.25%÷1.039×0.900—×0.9981.08%

Factors used: league row CAR. Park (home-season share, regressed): HR 108, 1B 103, 2B 117, 3B 90, K 102, BB 108 — 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 ×0.990.

Result: wOBA .274 → .228; ISO .094 → .077; BABIP .274 → .242. 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).

2015 ARome Braves · 138 PAwOBA .390 → .325 (−65)K% 8.7% → 12.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA8.70%÷0.932×1.340——12.50%
BB% (unintentional) /PA10.14%÷1.077×0.660—×0.9906.16%
HBP% /PA2.17%—×0.770—×0.9901.66%
Singles /BIP27.62%÷1.026×0.920×0.973×0.99023.86%
Doubles /BIP5.71%÷0.915×0.820×0.973×0.9904.93%
Triples /BIP4.76%÷1.150×0.940×0.973×0.9903.75%
Home runs /BIP0.00%÷1.097×0.820—×0.9900.00%

Factors used: league row SAL. Park (home-season share, regressed): HR 119, 1B 105, 2B 83, 3B 130, K 86, BB 115 — 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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×0.973.

Result: wOBA .390 → .325; ISO .137 → .117; BABIP .370 → .317. 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 ROKDanville Braves · 33 PAwOBA .280 → .225 (−55)K% 15.2% → 21.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA15.15%÷1.000×1.420——21.52%
BB% (unintentional) /PA9.09%÷1.000×0.640—×0.9755.67%
HBP% /PA0.00%—×0.740—×0.9750.00%
Singles /BIP22.73%÷1.000×0.840—×0.97518.61%
Doubles /BIP9.09%÷1.000×0.740—×0.9756.56%
Triples /BIP0.00%÷1.000×0.740—×0.9750.00%
Home runs /BIP0.00%÷1.000×0.800—×0.9750.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 22 vs a level average of 19.5 → −2.5% on BB/HBP/hit rates (2.5 yr older than average).

Result: wOBA .280 → .225; ISO .074 → .058; BABIP .304 → .242. 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 ARome Braves · 24 PAwOBA .388 → .366 (−21)K% 8.3% → 11.6%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA8.33%÷0.966×1.340——11.56%
BB% (unintentional) /PA0.00%÷0.972×0.660——0.00%
HBP% /PA12.50%—×0.770——9.62%
Singles /BIP17.65%÷1.012×0.920——16.04%
Doubles /BIP11.76%÷0.965×0.820——10.00%
Triples /BIP0.00%÷1.066×0.940——0.00%
Home runs /BIP5.88%÷0.873×0.820——5.53%

Factors used: league row SAL. Park (home-season share, regressed): HR 75, 1B 102, 2B 93, 3B 113, K 93, BB 94 — applied at half strength. Age: age 22 vs a level average of 22.0 → +0.0% on BB/HBP/hit rates (0.0 yr younger than average).

Result: wOBA .388 → .366; ISO .263 → .265; BABIP .312 → .276. 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 — .