Joe Whitman
P Sacramento River Cats| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 22 | MIX2 levels | 23 | 23 | 103 | 4.63 | 2.96 | 24.6% | 8.4% | — | K 18.6% · BB 9.9% · FIP 3.89 |
| 2025 | 23 | AASF | 26 | 26 | 117 | 5.29 | 3.30 | 24.2% | 9.2% | — | K 19.6% · BB 10.1% · FIP 3.81 |
| 2026 | 24 | MIX2 levels | 32 | 24 | 135 | 3.54 | 3.07 | 23.8% | 6.4% | — | K 19.9% · BB 6.2% · FIP 3.51 |
| 2027PROJ | 25 | MLBSF | 3 | 3 | 16 | 4.21 | 4.21 | 19.4% | 7.2% | 0.2 | |
| 2028PROJ48% MLB | 26 | MLBSF | 12 | 12 | 75 | 4.08 | 4.06 | 20.2% | 7.2% | 1.1 | |
| 2029PROJ66% MLB | 27 | MLBSF | 14 | 14 | 83 | 4.09 | 4.10 | 20.3% | 7.3% | 1.2 |
Contract
Career Stats + Projections
Methodology▸ how WAR & MLE are computed
Stats are park-neutral MLB equivalents. The "TEAM" column shows current org affiliation only — we do NOT project at that team's park.
Rates (K%, BB%, HR-BF) are park-stripped; MiLB stat lines are translated to their MLB-equivalent via per-level MLE factors.
WAR is computed from projected runs prevented vs a replacement pitcher (the marginal arm a team would call up if this pitcher were unavailable) — calibrated to the standard WAR scale.
| Year | Age | Lvl | Team | G | GS | IP | BF | K | BB | HR | GS% | IP/G | K% | BB% | K-BB% | HR% | ERA | FIP | WAR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▸ Career — actual stats, one row per year (as recorded, no adjustments) | |||||||||||||||||||
| ▸ Career — adjusted (each season translated to a park/league-neutral MLB-equivalent line; levels combined per year) | |||||||||||||||||||
| ▸ Model inputs — neutral MLE (past 3 seasons + 2027 so far) | |||||||||||||||||||
| 2023 | 21 | MIX MLE | 2 levels | 6 | 5 | 10 | 38 | 13 | 3 | 0 | 83% | 1.6 | 34.2% | 7.9% | 26.3% | 0.0% | 1.86 | 1.21 | — |
| 2023 | 21 | MIX RAW | 2 levels | 6 | 5 | 10 | 38 | 13 | 3 | 0 | 83% | 1.6 | 34.2% | 7.9% | 26.3% | 0.0% | 1.86 | 1.34 | — |
| 2024 | 22 | MIX MLE | 2 levels | 23 | 23 | 103 | 439 | 108 | 37 | 7 | 100% | 4.5 | 18.6% | 9.9% | 8.7% | 2.0% | 4.63 | 3.89 | — |
| 2024 | 22 | MIX MLE | 2 levels | 23 | 23 | 103 | 439 | 108 | 37 | 7 | 100% | 4.5 | 18.6% | 9.9% | 8.7% | 2.0% | 4.63 | 3.89 | — |
| 2024 | 22 | MIX RAW | 2 levels | 23 | 23 | 103 | 439 | 108 | 37 | 7 | 100% | 4.5 | 24.6% | 8.4% | 16.2% | 1.6% | 4.63 | 2.96 | — |
| 2025 | 23 | AA MLE | Richmond Flying Squirrels | 26 | 26 | 117 | 513 | 124 | 47 | 10 | 100% | 4.5 | 19.6% | 10.1% | 9.5% | 2.0% | 5.29 | 3.81 | — |
| 2025 | 23 | AA MLE | Richmond Flying Squirrels | 26 | 26 | 117 | 513 | 124 | 47 | 10 | 100% | 4.5 | 19.6% | 10.1% | 9.5% | 2.0% | 5.29 | 3.81 | — |
| 2025 | 23 | AA RAW | Richmond Flying Squirrels | 26 | 26 | 117 | 513 | 124 | 47 | 10 | 100% | 4.5 | 24.2% | 9.2% | 15.0% | 1.9% | 5.29 | 3.30 | — |
| 2026 | 24 | MIX MLE | 2 levels | 32 | 24 | 135 | 563 | 134 | 36 | 12 | 75% | 4.2 | 19.9% | 6.2% | 13.7% | 2.4% | 3.54 | 3.51 | — |
| 2026 | 24 | MIX MLE | 2 levels | 32 | 24 | 135 | 563 | 134 | 36 | 12 | 75% | 4.2 | 19.9% | 6.2% | 13.7% | 2.4% | 3.54 | 3.51 | — |
| 2026 | 24 | MIX RAW | 2 levels | 32 | 24 | 135 | 563 | 134 | 36 | 12 | 75% | 4.2 | 23.8% | 6.4% | 17.4% | 2.1% | 3.54 | 3.07 | — |
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 25 | MLB | SF | 3 | 3 | 16 | 68 | 13 | 5 | 2 | 100% | 5.3 | 19.4% | 7.2% | 12.1% | 2.6% | 4.21 | 4.21 | +0.2 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 26 | MLB MLE | SF | 26 | 26 | 155 | 653 | 132 | 47 | 18 | 100% | 5.9 | 20.2% | 7.2% | 12.9% | 2.7% | 4.19 | 4.17 | +2.2 |
| 2029 | 27 | MLB MLE | SF | 21 | 21 | 126 | 530 | 108 | 39 | 15 | 100% | 6.0 | 20.3% | 7.3% | 13.0% | 2.8% | 4.20 | 4.21 | +1.8 |
| 2030 | 28 | MLB MLE | SF | 20 | 20 | 120 | 508 | 103 | 38 | 15 | 100% | 6.0 | 20.2% | 7.5% | 12.7% | 2.9% | 4.26 | 4.30 | +1.6 |
| 2031 | 29 | MLB MLE | SF | 19 | 19 | 112 | 471 | 95 | 36 | 14 | 100% | 5.9 | 20.1% | 7.7% | 12.3% | 3.0% | 4.36 | 4.43 | +1.3 |
| 2032 | 30 | MLB MLE | SF | 17 | 17 | 101 | 428 | 84 | 34 | 14 | 100% | 6.0 | 19.7% | 8.0% | 11.7% | 3.2% | 4.51 | 4.60 | +0.9 |
| 2033 | 31 | MLB MLE | SF | 15 | 15 | 90 | 382 | 74 | 32 | 13 | 100% | 6.0 | 19.3% | 8.4% | 10.9% | 3.4% | 4.69 | 4.81 | +0.6 |
| 2034 | 32 | MLB MLE | SF | 13 | 13 | 80 | 336 | 63 | 30 | 12 | 100% | 6.1 | 18.9% | 8.8% | 10.1% | 3.7% | 4.89 | 5.03 | +0.3 |
| 2035 | 33 | MLB MLE | SF | 12 | 12 | 69 | 293 | 54 | 27 | 12 | 100% | 5.8 | 18.4% | 9.2% | 9.1% | 4.0% | 5.12 | 5.28 | +0.1 |
| 2028 | 26 | MLB CTX | SF | 12 | 12 | 75 | 317 | 64 | 23 | 8 | 100% | 6.2 | 20.2% | 7.2% | 12.9% | 2.5% | 4.08 | 4.06 | +1.1 |
| 2029 | 27 | MLB CTX | SF | 14 | 14 | 83 | 350 | 71 | 26 | 9 | 100% | 5.9 | 20.3% | 7.3% | 13.0% | 2.6% | 4.09 | 4.10 | +1.2 |
| 2030 | 28 | MLB CTX | SF | 16 | 16 | 93 | 393 | 80 | 29 | 10 | 100% | 5.8 | 20.2% | 7.5% | 12.7% | 2.7% | 4.14 | 4.18 | +1.2 |
| 2031 | 29 | MLB CTX | SF | 15 | 15 | 92 | 388 | 78 | 30 | 11 | 100% | 6.1 | 20.1% | 7.7% | 12.3% | 2.8% | 4.24 | 4.31 | +1.0 |
| 2032 | 30 | MLB CTX | SF | 15 | 15 | 88 | 372 | 73 | 30 | 11 | 100% | 5.9 | 19.7% | 8.0% | 11.7% | 3.0% | 4.38 | 4.47 | +0.8 |
| 2033 | 31 | MLB CTX | SF | 14 | 14 | 81 | 342 | 66 | 29 | 11 | 100% | 5.8 | 19.3% | 8.4% | 10.9% | 3.2% | 4.55 | 4.67 | +0.5 |
| 2034 | 32 | MLB CTX | SF | 12 | 12 | 72 | 304 | 57 | 27 | 10 | 100% | 6.0 | 18.9% | 8.8% | 10.1% | 3.4% | 4.74 | 4.88 | +0.3 |
| 2035 | 33 | MLB CTX | SF | 11 | 11 | 64 | 270 | 50 | 25 | 10 | 100% | 5.8 | 18.4% | 9.2% | 9.1% | 3.7% | 4.96 | 5.12 | +0.1 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 108 | 108 | 648 | 2736 | 539 | 218 | 80 | 100% | 6.0 | 19.7% | 8.0% | 11.7% | 2.9% | 4.37 | 4.06 | +10.3 | |
| / 200 IP | — | RAW | 33 | 33 | 200 | 844 | 166 | 67 | 25 | 100% | 6.0 | 19.7% | 8.0% | 11.7% | 2.9% | 4.37 | 4.06 | +3.2 | |
| Career | — | MLE | 87 | 78 | 365 | 1553 | 307 | 133 | 32 | 90% | 4.2 | 19.8% | 8.6% | 11.2% | 2.1% | 4.37 | 3.66 | +8.8 | |
| / 200 IP | — | MLE | 48 | 43 | 200 | 852 | 168 | 73 | 18 | 90% | 4.2 | 19.8% | 8.6% | 11.2% | 2.1% | 4.37 | 3.66 | +2.1 | |
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 AAASacramento River Cats · 84 IPFIP 3.80 → 4.09 (+0.29)K% 18.8% → 16.2%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 18.80% | — | ×0.860 | 16.17% |
| BB% (unintentional) /BF | 6.27% | — | ×0.900 | 5.64% |
| HR / BF /BF | 2.72% | ÷1.000 | ×1.100 | 3.00% |
Factors used: pitcher AAA level factors (Triple-A 2023+ robo-zone set: walks improve on promotion) — K ×0.86, BB ×0.90, HR ×1.10. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 100).
Result: FIP 3.80 → 4.09, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2026 AARichmond Flying Squirrels · 50 IPFIP 1.70 → 2.43 (+0.73)K% 33.2% → 26.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 33.16% | — | ×0.810 | 26.86% |
| BB% (unintentional) /BF | 6.63% | — | ×1.100 | 7.30% |
| HR / BF /BF | 1.02% | ÷1.000 | ×1.200 | 1.22% |
Factors used: pitcher AA level factors — K ×0.81, BB ×1.10, HR ×1.20. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 100).
Result: FIP 1.70 → 2.43, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2025 AARichmond Flying Squirrels · 117 IPFIP 3.29 → 3.81 (+0.52)K% 24.2% → 19.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.17% | — | ×0.810 | 19.58% |
| BB% (unintentional) /BF | 9.16% | — | ×1.100 | 10.08% |
| HR / BF /BF | 1.95% | ÷1.183 | ×1.200 | 1.98% |
Factors used: pitcher AA level factors — K ×0.81, BB ×1.10, HR ×1.20. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 137).
Result: FIP 3.29 → 3.81, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2024 A+Eugene Emeralds · 53 IPFIP 2.91 → 3.77 (+0.86)K% 24.4% → 18.8%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.43% | — | ×0.770 | 18.81% |
| BB% (unintentional) /BF | 4.98% | — | ×1.150 | 5.72% |
| HR / BF /BF | 2.26% | ÷1.010 | ×1.250 | 2.80% |
Factors used: pitcher A+ level factors — K ×0.77, BB ×1.15, HR ×1.25. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 102).
Result: FIP 2.91 → 3.77, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2024 ASan Jose Giants · 50 IPFIP 3.02 → 4.02 (+1.00)K% 24.8% → 18.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.77% | — | ×0.740 | 18.33% |
| BB% (unintentional) /BF | 11.93% | — | ×1.180 | 14.07% |
| HR / BF /BF | 0.92% | ÷0.959 | ×1.300 | 1.24% |
Factors used: pitcher A level factors — K ×0.74, BB ×1.18, HR ×1.30. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 92).
Result: FIP 3.02 → 4.02, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
2023 ASan Jose Giants · 6 IPFIP 0.80 → 1.90 (+1.11)K% 40.9% → 30.3%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 40.91% | — | ×0.740 | 30.27% |
| BB% (unintentional) /BF | 9.09% | — | ×1.180 | 10.73% |
| HR / BF /BF | 0.00% | ÷0.890 | ×1.300 | 0.00% |
Factors used: pitcher A level factors — K ×0.74, BB ×1.18, HR ×1.30. Pitcher translation is level-wide (no per-league rows, no age adjustment); HR/BF is park-adjusted at half strength (park HR factor 78).
Result: FIP 0.80 → 1.90, computed from the rates in the table with the same formula before and after. The MLE line is not regressed to the mean — regression is applied when seasons are blended into a projection (how).
Career Comps
Completed MLB careers (no pro action in 2+ yrs) whose totals — actual + projected — most resemble this player's. Pool: 2,161 pitcher careers (1,251 from 1990-2025 + 910 historical, 1901-2023), also matched on career-to-date at the same age. * Historical (Lahman) careers: rates era-adjusted to 2001-24 league levels; WAR is an OGILVIE proxy.
| Player | 162s | IP/yr | K% | BB% | HR/9 | ERA |
|---|---|---|---|---|---|---|
| OGILVIE CAREER PROJECTION | 5.0 | 112 | 19.7% | 7.8% | 1.18 | 4.42 |
| Mark Leiter ('90-'01, 5 WAR*) | 5.9 | 118 | 20.7%* | 7.8%* | 1.36* | 4.61* |
| Bud Norris ('18) | 6.1 | 122 | 21.7% | 9.1% | 1.15 | 4.45 |
| Larry McWilliams ('78-'90, 10 WAR*) | 7.8 | 130 | 19.0%* | 8.1%* | 1.24* | 4.56* |
| Chris Capuano ('16) | 7.1 | 119 | 19.5% | 7.5% | 1.23 | 4.38 |
| Chris Narveson ('16) | 2.2 | 109 | 19.4% | 8.6% | 1.20 | 4.71 |
| Greg Harris ('88-'95, 10 WAR*) | 4.5 | 130 | 19.7%* | 7.9%* | 1.40* | 4.10* |