J.P. Cabrera

C FCL Cardinals
Age 20 R/R 5'11" / 185 lbs ROK HR -14%BB -5% Svc 0.0 · Ctrl thru 2038
Overview
ROKPROSPECTMiLBFA 2039
OGV OFP35OGV rank#840ETA2029MLB%0%
YearAgeLvl / TeamPAAVG/OBP/SLGHRSBwRC+WARMLE AVG/OBP/SLG
202417ROKSTL79.234/.380/.2660033—.162/.278/.191
202518ROKSTL104.247/.385/.4002239—.156/.269/.244
202619A/ROKSTL236.238/.309/.3422440—.190/.249/.273
2027PROJMLE20MLBSTL346.212/.274/.30445640.1
2028PROJ34% MLB21MLBSTL65.218/.281/.31811690.0
2029PROJ48% MLB22MLBSTL144.221/.285/.32923740.1
Next 3 projected WAR 0.3Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2038Service0.0First FA2039
2027MiLB2028MiLB2029MiLB2030MiLB2031MiLB2032MiLB2033Pre-Arb$0.9M2034Pre-Arb$1.0M+4
Skills · percentileMiLB Statcast 2026 A
K%58
Max EV54
Whiff%44
Z-Con%38
Chase%21
BB%20
Career WAR0.0 WAR median (P10 0.0 / P90 0.0, comp-based) · star 0% · didn't stick 93%
CompsAdrián Sugastey (age 20) · Luis Torrens (age 20) · Wilfredo Rodriguez (age 20)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 138 proj PA
wRC+†64
AVG/OBP/SLG.211 / .272 / .302
PA138
HR2
K%26
BB%7
ISO92
MLB%0%
Value2027 · WAR
BAT: -6.0 runs (wOBA-derived runs vs avg)-6BATRUN: -0.1 runs (SB/CS + UBR baserunning)-0RUNFLD: +0.0 runs (Defensive runs vs avg)+0FLDPOS: +2.5 runs (Positional adjustment)+2POSREP: +3.0 runs (Replacement-level credit)+3REPTotal WAR: +0.10+0.1WAR
0.00.51.00.10.30.40.50.50.50.30.20.00.027282930313233343536
━ projected WAR━ paid WAR ($/8M) surplus deficit+$10M ctrl surplus
Tools · ContractCON 47 / POW 38
Toolsscout grade
CONTACT47
scouting grade only
POWER38
scouting grade only
EYE50
scouting grade only
SPEED51
scouting grade only
Contract ESTIMATED · service-time + WAR-based estimator (needs verification)
Status   MiLB
MLB Debut   2033
Service   0 yrs (est)
Team Control Through   2038
First FA Year   2039
YearStatusSalary Proj WAR Value Surplus
2027MiLBstill in minors · estimated debut 2033
2028MiLBstill in minors · estimated debut 2033
2029MiLBstill in minors · estimated debut 2033
2030MiLBstill in minors · estimated debut 2033
2031MiLBstill in minors · estimated debut 2033
2032MiLBstill in minors · estimated debut 2033
2033Pre-Arb$0.9M+0.5$1M+$0.8M
2034Pre-Arb$1.0M+0.5$1M+$0.7M
2035Pre-Arb$1.0M+0.3$0.7M+$0.2M
2036Arb-1$1M+0.2$0.4M+$0.0M (cut)
2037Arb-2$1M———
2038Arb-3$7M———
Totals $3M $3M +$2M

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. 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.

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)
202417 ROKDSL Cardinals — 7964 15010 14141 00 234380266645 31300 1818 314 33 — — — — — —
202518 ROKDSL Cardinals — 10485 21512 15174 20 247385400785 153288 1614 359 39 — — — — — —
202619 APalm Beach Cardinals — 10089 19601 7221 10 213270315585 101273 227 263 34 — — — — — —
202619 ROKFCL Cardinals — 136113 29901 13263 30 257338363701 106315 1910 310 45 — — — — — —
▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents)
202417 ROK MLEDSL Cardinals — 7968 11010 10171 00 162278191470 29213 2213 217 33 — — — — — —
202518 ROK MLEDSL Cardinals — 10490 14311 10224 20 156269244514 89184 2110 226 39 — — — — — —
202619 A MLEPalm Beach Cardinals — 10094 17501 5301 10 181230266496 85257 305 218 34 — — — — — —
202619 ROK MLEFCL Cardinals — 136122 24701 8373 30 197263279542 82252 276 234 45 — — — — — —
202417 ROK MLEDSL Cardinals — 7968 11010 10171 00 162278191470 29216 2213 217 33 — — — — — —
202417 ROK RAWDSL Cardinals — 7964 15010 14141 00 234380266645 31300 1818 314 33 — — — — — —
202518 ROK MLEDSL Cardinals — 10490 14311 10224 20 156269244514 89194 2110 226 39 — — — — — —
202518 ROK RAWDSL Cardinals — 10485 21512 15174 20 247385400785 153288 1614 359 39 — — — — — —
202619 ROK MLE2 teams — 236216 411202 13674 40 190249273522 83260 286 227 40 — — — — — —
202619 ROK RAW2 teams — 236202 481502 20484 40 238309342651 104297 208 290 40 — — — — — —
202417 ROK MLEDSL Cardinals — 7968 11010 10171 00 162278191470 29213 2213 217 33 — — — — — —
202518 ROK MLEDSL Cardinals — 10489 14311 10224 20 157269247516 90184 2110 226 39 — — — — — —
202619 ROK MLE2 teams — 236217 411202 13674 40 189249272521 83254 286 227 40 — — — — — —
▸ Model inputs — neutral MLE (past 3 seasons)
202417 ROK MLEDSL Cardinals — 7968 11010 10171 00 162278191470 29213 2213 217 33 — — — — — —
202518 ROK MLEDSL Cardinals — 10489 14311 10224 20 157269247516 90184 2110 226 39 — — — — — —
202619 ROK MLE2 teams — 236217 411202 13674 40 189249272521 83254 286 227 40 — — — — — —
▸ 2027 season
▸ 2027 — full MLE projection (neutral park, full availability)
202720 MLB MLESTL 0% 346316 671324 23904 52 212274304578 92281 267 262 64 -15 +0 +0 +6 +7 0.1
▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%)
202821 MLB MLESTL 34% 190173 37713 13492 31 217280319599 102283 267 271 69 -7 +0 +0 +3 +4 0.1
202922 MLB MLESTL 48% 297270 601225 21754 62 221285330614 109284 257 277 74 -9 +0 +0 +5 +6 0.3
203023 MLB MLESTL 54% 380346 771527 27954 72 223288338626 115285 257 282 77 -10 +1 +0 +7 +8 0.5
203124 MLB MLESTL 55% 434395 891738 311085 82 226291345636 119287 257 286 80 -11 +1 +0 +8 +9 0.8
203225 MLB MLESTL 56% 445405 931839 321105 93 227293349642 122287 257 288 81 -10 +1 +0 +8 +10 0.8
203326 MLB MLESTL 56% 445404 931839 331105 83 227293349641 122287 257 288 81 -10 +0 +0 +8 +10 0.8
203427 MLB MLESTL 55% 445404 911829 331105 83 226292346638 120286 257 287 80 -11 +0 +0 +8 +10 0.8
203528 MLB MLESTL 55% 445404 891728 331115 83 224290341631 117285 257 284 78 -12 +0 -1 +8 +10 0.6
203629 MLB MLESTL 53% 445405 891728 321135 73 221287335622 114284 257 280 76 -13 +0 -1 +8 +10 0.4
203730 MLB MLESTL 53% 445405 891728 321145 73 218283327610 109282 267 275 73 -15 +0 -2 +8 +10 0.1
203831 MLB MLESTL 52% 422385 831627 301104 54 214278317595 103278 267 269 68 -16 -1 -3 +8 +9 -0.3
202821 MLB CTXSTL 34% 6560 13301 4171 10 218281318599 100285 266 271 69 -2 +0 +0 +1 +1 0.0
202922 MLB CTXSTL 48% 144131 29612 10362 31 221285329614 107286 257 277 74 -5 +0 +0 +3 +3 0.1
203023 MLB CTXSTL 54% 206187 41813 15522 41 224289337625 113288 257 282 77 -6 +0 +0 +4 +4 0.3
203124 MLB CTXSTL 55% 241219 491014 17603 51 226292343634 117289 257 285 80 -6 +1 +0 +4 +5 0.4
203225 MLB CTXSTL 56% 249226 511015 18613 51 227293347640 119289 247 288 81 -6 +1 +0 +4 +5 0.5
203326 MLB CTXSTL 56% 250227 511015 18623 51 227293346639 119289 257 287 81 -6 +1 +0 +4 +5 0.5
203427 MLB CTXSTL 55% 246223 491014 18613 51 226292344636 118288 257 286 80 -6 +1 +0 +4 +5 0.5
203528 MLB CTXSTL 55% 244221 491014 18613 41 224290339629 115287 257 283 78 -6 +0 -0 +4 +5 0.3
203629 MLB CTXSTL 53% 238216 481014 17603 41 222287333620 111286 257 280 76 -7 +0 -1 +4 +5 0.2
203730 MLB CTXSTL 53% 234213 46914 17602 32 219284326609 107284 267 275 73 -8 -0 -1 +4 +5 0.0
203831 MLB CTXSTL 52% 220200 43913 16572 32 215279316595 101281 267 269 68 -8 -0 -1 +4 +5 -0.1
▸ Career Totals
▸ Career totals — MLB only (actual + projected)
Career— A+C — 23372123 469951039 16858727 4212 221286330617 109285 257 281 73 -65 +4 -4 +42 +51 2.8
/ 162G— A+C — 650590 13026311 471638 123 220287331618 110284 257 281 73 -18 +1 -1 +12 +14 0.8
Career— MLE — 49504496 9831922786 359124760 8430 219285331616 112281 257 276 73 -128 +4 -7 +81 +98 4.8
/ 162G— MLE — 650590 12925411 471648 114 219285331615 112282 257 276 73 -18 +1 -1 +12 +14 0.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.

2026 ROKFCL Cardinals · 136 PAwOBA .309 → .234 (−74)K% 19.1% → 27.5%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA19.12%÷1.000×1.440——27.53%
BB% (unintentional) /PA9.56%÷1.000×0.620—×0.9955.90%
HBP% /PA2.21%—×0.720—×0.9951.58%
Singles /BIP21.84%÷1.000×0.820×1.023×0.99518.22%
Doubles /BIP10.34%÷1.000×0.720×1.023×0.9957.58%
Triples /BIP0.00%÷1.000×0.720×1.023×0.9950.00%
Home runs /BIP1.15%÷1.000×0.780—×0.9950.89%

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). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.023.

Result: wOBA .309 → .234; ISO .106 → .080; BABIP .315 → .252. 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 APalm Beach Cardinals · 100 PAwOBA .256 → .218 (−38)K% 22.0% → 29.9%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA22.00%÷1.000×1.360——29.92%
BB% (unintentional) /PA7.00%÷1.000×0.690—×1.0304.97%
HBP% /PA1.00%—×0.780—×1.0300.80%
Singles /BIP17.91%÷1.000×0.920×1.029×1.03017.47%
Doubles /BIP8.96%÷1.000×0.830×1.029×1.0307.88%
Triples /BIP0.00%÷1.000×0.910×1.029×1.0300.00%
Home runs /BIP1.49%÷1.000×0.800—×1.0301.23%

Factors used: level-wide A 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 22.0 → +3.0% on BB/HBP/hit rates (2.0 yr younger than average). Ground-ball/fly-ball mix moves 1B/2B/3B by ×1.029.

Result: wOBA .256 → .218; ISO .101 → .084; BABIP .273 → .257. 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 DSLDSL Cardinals · 104 PAwOBA .351 → .226 (−125)K% 16.3% → 20.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA16.35%÷0.961×1.220——20.76%
BB% (unintentional) /PA14.42%÷1.022×0.700—×0.9959.83%
HBP% /PA3.85%—×0.700—×0.9952.68%
Singles /BIP19.12%÷1.019×0.680×1.014×0.99512.87%
Doubles /BIP7.35%÷0.990×0.600×1.014×0.9954.49%
Triples /BIP1.47%÷1.150×0.600×1.014×0.9950.77%
Home runs /BIP2.94%÷1.047×0.470—×0.9951.31%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 109, 1B 104, 2B 98, 3B 130, K 92, BB 104 — 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.014.

Result: wOBA .351 → .226; ISO .153 → .082; BABIP .288 → .184. 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 DSLDSL Cardinals · 79 PAwOBA .307 → .217 (−90)K% 17.7% → 21.8%
ComponentRawPark ÷Level factor ×GB/FB ×Age ×= MLE
K% /PA17.72%÷0.992×1.220——21.80%
BB% (unintentional) /PA17.72%÷1.033×0.700—×1.00812.10%
HBP% /PA1.27%—×0.700—×1.0080.89%
Singles /BIP28.00%÷0.997×0.680×1.050×1.00820.21%
Doubles /BIP0.00%÷0.976×0.600×1.050×1.0080.00%
Triples /BIP2.00%÷1.132×0.600×1.050×1.0081.12%
Home runs /BIP0.00%÷1.307×0.470—×1.0080.00%

Factors used: level-wide DSL factors (no league-specific row for this league/era). Park (home-season share, regressed): HR 161, 1B 99, 2B 95, 3B 126, K 98, BB 107 — 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 ×1.050.

Result: wOBA .307 → .217; ISO .031 → .018; BABIP .300 → .213. 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).