Joe Tiroly
2B Lake Elsinore Storm
Age 22
R/R
A
HR +5%
Svc 0.0 · Ctrl thru 2037
Overview
APROSPECTMiLBFA 2038
Scout OFP45ETA2029MLB%0%
| Year | Age | Lvl / Team | PA | AVG/OBP/SLG | HR | SB | wRC+ | WAR | MLE AVG/OBP/SLG |
|---|---|---|---|---|---|---|---|---|---|
| 2026 | 21 | ASD | 71 | .323/.380/.692 | 7 | 0 | 119 | — | .239/.282/.493 |
| 2027PROJ0% MLB | 22 | MLBSD | 181 | .235/.289/.408 | 7 | 2 | 94 | 0.2 | |
| 2028PROJ34% MLB | 23 | MLBSD | 60 | .234/.289/.408 | 2 | 1 | 95 | 0.1 | |
| 2029PROJ46% MLB | 24 | MLBSD | 133 | .235/.292/.410 | 5 | 2 | 97 | 0.3 |
Next 3 projected WAR 0.6Projected rows: MLB playing time only, park and league context applied.
ContractESTIMATED
Control thru2037Service0.0First FA2038
2027MiLB2028MiLB2029MiLB2030MiLB2031MiLB2032Pre-Arb$0.9M2033Pre-Arb$0.9M2034Pre-Arb$1.0M+3
Skills · percentileMiLB Statcast 2026 A
ISO99
wOBA96
wRC+96
Z-Con%84
K%73
Whiff%71
Career WAR0 WAR median (P10 0 / P90 7, comp-based) · star 2% · didn't stick 83%
CompsLuis Exposito (age 22) · Michael Choice (age 22) · Ryan Lavarnway (age 22)
2027 FULL-SEASON PROJECTIONpark-neutral Marcel · 83 proj PA
wRC+†94
AVG/OBP/SLG.233 / .287 / .405
PA83
HR3
K%28
BB%6
ISO174
MLB%0%
Value2027 · WAR
━ projected WAR━ paid WAR ($/8M) surplus deficit+$11M ctrl surplus
Tools · ContractCON 50 / POW 40
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 = actual YTD + projected ROS + total. 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) | |||||||||||||||||||||||||||||||
| 2026 | 21 | A | Lake Elsinore Storm | — | 71 | 65 | 21 | 3 | 0 | 7 | 5 | 14 | 1 | 0 | 2 | 323 | 380 | 692 | 1.073 | 369 | 318 | 20 | 7 | 459 | 119 | — | — | — | — | — | — |
| ▸ Career — adjusted (every ACTUAL line translated to park/league-neutral MLB equivalents) | |||||||||||||||||||||||||||||||
| 2026 | 21 | A MLE | Lake Elsinore Storm | — | 71 | 67 | 16 | 2 | 0 | 5 | 3 | 19 | 1 | 0 | 2 | 239 | 282 | 493 | 774 | 254 | 268 | 27 | 4 | 344 | 119 | — | — | — | — | — | — |
| 2026 | 21 | A MLE | Lake Elsinore Storm | — | 71 | 67 | 16 | 2 | 0 | 5 | 3 | 19 | 1 | 0 | 2 | 239 | 282 | 493 | 774 | 254 | 256 | 27 | 4 | 344 | 119 | — | — | — | — | — | — |
| 2026 | 21 | A RAW | Lake Elsinore Storm | — | 71 | 65 | 21 | 3 | 0 | 7 | 5 | 14 | 1 | 0 | 2 | 323 | 380 | 692 | 1.073 | 369 | 318 | 20 | 7 | 459 | 119 | — | — | — | — | — | — |
| 2026 | 21 | A MLE | Lake Elsinore Storm | — | 71 | 67 | 16 | 2 | 0 | 5 | 3 | 19 | 1 | 0 | 2 | 239 | 282 | 493 | 774 | 254 | 268 | 27 | 4 | 344 | 119 | — | — | — | — | — | — |
| ▸ Model inputs — neutral MLE (past 3 seasons) | |||||||||||||||||||||||||||||||
| 2026 | 21 | A MLE | Lake Elsinore Storm | — | 71 | 67 | 16 | 2 | 0 | 5 | 3 | 19 | 1 | 0 | 2 | 239 | 282 | 493 | 774 | 254 | 268 | 27 | 4 | 344 | 119 | — | — | — | — | — | — |
| ▸ 2027 season | |||||||||||||||||||||||||||||||
| ▸ 2027 — full MLE projection (neutral park, full availability) | |||||||||||||||||||||||||||||||
| 2027 | 22 | MLB MLE | SD | 0% | 181 | 166 | 39 | 6 | 1 | 7 | 11 | 51 | 2 | 2 | 1 | 235 | 289 | 408 | 697 | 174 | 290 | 28 | 6 | 307 | 94 | -1 | +0 | -1 | +1 | +4 | 0.2 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (PA × MLB%) | |||||||||||||||||||||||||||||||
| 2028 | 23 | MLB MLE | SD | 34% | 175 | 160 | 38 | 6 | 1 | 7 | 11 | 48 | 2 | 2 | 1 | 236 | 292 | 411 | 702 | 174 | 291 | 27 | 6 | 309 | 95 | -1 | +0 | -0 | +1 | +4 | 0.3 |
| 2029 | 24 | MLB MLE | SD | 46% | 288 | 265 | 62 | 10 | 1 | 11 | 18 | 78 | 3 | 4 | 1 | 237 | 294 | 412 | 706 | 175 | 292 | 27 | 6 | 311 | 97 | -1 | +0 | -1 | +1 | +6 | 0.6 |
| 2030 | 25 | MLB MLE | SD | 52% | 358 | 329 | 79 | 13 | 2 | 14 | 23 | 97 | 3 | 5 | 2 | 238 | 295 | 412 | 708 | 174 | 292 | 27 | 6 | 312 | 97 | -1 | +0 | -1 | +1 | +8 | 0.7 |
| 2031 | 26 | MLB MLE | SD | 54% | 404 | 370 | 87 | 14 | 2 | 15 | 27 | 108 | 4 | 5 | 2 | 238 | 296 | 412 | 708 | 174 | 292 | 27 | 7 | 312 | 98 | -1 | +0 | -1 | +1 | +9 | 0.8 |
| 2032 | 27 | MLB MLE | SD | 54% | 426 | 390 | 92 | 15 | 2 | 16 | 29 | 114 | 4 | 5 | 2 | 238 | 297 | 409 | 706 | 172 | 291 | 27 | 7 | 311 | 97 | -2 | +0 | -1 | +2 | +9 | 0.8 |
| 2033 | 28 | MLB MLE | SD | 54% | 436 | 400 | 94 | 15 | 2 | 16 | 29 | 117 | 4 | 5 | 3 | 236 | 295 | 404 | 699 | 169 | 290 | 27 | 7 | 309 | 95 | -3 | -0 | -2 | +2 | +9 | 0.6 |
| 2034 | 29 | MLB MLE | SD | 53% | 435 | 399 | 93 | 15 | 2 | 16 | 29 | 118 | 4 | 5 | 3 | 233 | 292 | 398 | 690 | 165 | 288 | 27 | 7 | 305 | 93 | -4 | -0 | -3 | +2 | +9 | 0.4 |
| 2035 | 30 | MLB MLE | SD | 52% | 430 | 395 | 91 | 15 | 2 | 15 | 28 | 118 | 4 | 4 | 4 | 230 | 288 | 390 | 678 | 160 | 286 | 27 | 7 | 300 | 89 | -5 | -1 | -3 | +2 | +9 | 0.1 |
| 2036 | 31 | MLB MLE | SD | 52% | 420 | 387 | 87 | 14 | 2 | 14 | 27 | 117 | 3 | 3 | 7 | 226 | 283 | 380 | 663 | 154 | 283 | 28 | 6 | 294 | 85 | -7 | -2 | -4 | +1 | +9 | -0.3 |
| 2028 | 23 | MLB CTX | SD | 34% | 60 | 55 | 12 | 2 | 0 | 2 | 4 | 17 | 1 | 1 | 0 | 234 | 289 | 408 | 698 | 175 | 286 | 28 | 7 | 307 | 95 | -0 | +0 | -0 | +0 | +1 | 0.1 |
| 2029 | 24 | MLB CTX | SD | 46% | 133 | 123 | 28 | 4 | 1 | 5 | 8 | 36 | 1 | 2 | 1 | 235 | 292 | 410 | 701 | 175 | 287 | 27 | 6 | 309 | 97 | -1 | +0 | -0 | +0 | +3 | 0.3 |
| 2030 | 25 | MLB CTX | SD | 52% | 185 | 169 | 40 | 6 | 1 | 7 | 12 | 50 | 2 | 2 | 1 | 235 | 293 | 410 | 703 | 175 | 287 | 27 | 6 | 310 | 97 | -1 | +0 | -1 | +1 | +4 | 0.4 |
| 2031 | 26 | MLB CTX | SD | 54% | 219 | 201 | 46 | 7 | 1 | 8 | 14 | 59 | 2 | 3 | 1 | 235 | 294 | 409 | 703 | 174 | 286 | 27 | 6 | 310 | 98 | -1 | +0 | -1 | +1 | +5 | 0.5 |
| 2032 | 27 | MLB CTX | SD | 54% | 231 | 211 | 50 | 8 | 1 | 9 | 16 | 62 | 2 | 3 | 1 | 235 | 294 | 407 | 701 | 172 | 286 | 27 | 7 | 309 | 97 | -1 | +0 | -1 | +1 | +5 | 0.5 |
| 2033 | 28 | MLB CTX | SD | 54% | 237 | 217 | 51 | 8 | 1 | 9 | 16 | 64 | 2 | 3 | 1 | 233 | 292 | 402 | 694 | 169 | 285 | 27 | 7 | 307 | 95 | -1 | +0 | -1 | +1 | +5 | 0.4 |
| 2034 | 29 | MLB CTX | SD | 53% | 231 | 212 | 49 | 8 | 1 | 8 | 15 | 63 | 2 | 2 | 2 | 230 | 289 | 395 | 685 | 165 | 283 | 27 | 6 | 303 | 93 | -2 | -0 | -1 | +1 | +5 | 0.2 |
| 2035 | 30 | MLB CTX | SD | 52% | 225 | 206 | 47 | 7 | 1 | 8 | 15 | 62 | 2 | 2 | 2 | 227 | 286 | 388 | 673 | 160 | 281 | 28 | 7 | 298 | 89 | -3 | -0 | -2 | +1 | +5 | 0.1 |
| 2036 | 31 | MLB CTX | SD | 52% | 218 | 200 | 45 | 7 | 1 | 7 | 14 | 61 | 2 | 2 | 4 | 223 | 281 | 378 | 658 | 155 | 278 | 28 | 6 | 292 | 85 | -4 | -1 | -2 | +1 | +5 | -0.2 |
| ▸ Career Totals | |||||||||||||||||||||||||||||||
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||||||||||||||
| Career | — | A+C | — | 1739 | 1594 | 368 | 57 | 8 | 63 | 114 | 474 | 16 | 20 | 13 | 231 | 289 | 395 | 684 | 164 | 286 | 27 | 7 | 305 | 94 | -13 | -1 | -9 | +6 | +38 | 2.1 | |
| / 162G | — | A+C | — | 650 | 596 | 138 | 21 | 3 | 24 | 43 | 177 | 6 | 7 | 5 | 232 | 290 | 398 | 688 | 166 | 286 | 27 | 7 | 305 | 94 | -5 | -0 | -3 | +2 | +14 | 0.8 | |
| Career | — | MLE | — | 3526 | 3239 | 756 | 122 | 16 | 132 | 229 | 957 | 33 | 39 | 27 | 233 | 291 | 403 | 694 | 170 | 288 | 27 | 6 | 307 | 94 | -26 | -2 | -17 | +12 | +75 | 4.3 | |
| / 162G | — | MLE | — | 650 | 597 | 139 | 22 | 3 | 24 | 42 | 176 | 6 | 7 | 5 | 233 | 290 | 400 | 690 | 168 | 287 | 27 | 6 | 307 | 94 | -5 | -0 | -3 | +2 | +14 | 0.8 | |