David Festa
P Minnesota Twins| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 23 | MIX2 levels | 24 | 22 | 92 | 4.19 | 3.15 | 30.1% | 10.6% | — | K 24.5% · BB 11.2% · FIP 3.68 | |
| 2024 | 24 | MIX2 levels | 29 | 28 | 125 | 4.48 | 3.49 | 31.2% | 9.2% | 2.9 | K 28.9% · BB 8.7% · FIP 3.67 | |
| 2025 | 25 | MIX2 levels | 18 | 17 | 85 | 4.36 | 3.69 | 26.2% | 7.4% | 1.7 | K 24.7% · BB 7.2% · FIP 3.76 | |
| 2026 | 26 | No MLB games played | ||||||||||
| 2027PROJ | 27 | MLBMIN | 7 | 7 | 40 | 4.22 | 4.15 | 25.7% | 7.7% | 0.6 | ||
| 2028PROJ94% MLB | 28 | MLBMIN | 11 | 11 | 64 | 4.24 | 4.24 | 25.6% | 7.8% | 0.9 | ||
| 2029PROJ95% MLB | 29 | MLBMIN | 10 | 10 | 62 | 4.34 | 4.40 | 25.0% | 8.0% | 0.7 | ||
Grades · Statcast · 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) | |||||||||||||||||||
| 2021 | 21 | MIX MLE | 2 levels | 4 | 0 | 8 | 32 | 12 | 4 | 0 | 0% | 2.1 | 37.5% | 12.5% | 25.0% | 0.0% | 4.32 | 1.52 | — |
| 2021 | 21 | MIX RAW | 2 levels | 4 | 0 | 8 | 32 | 12 | 4 | 0 | 0% | 2.1 | 37.5% | 12.5% | 25.0% | 0.0% | 4.32 | 1.66 | — |
| 2022 | 22 | MIX MLE | 2 levels | 21 | 18 | 104 | 413 | 108 | 34 | 6 | 86% | 4.9 | 19.9% | 9.5% | 10.4% | 1.9% | 2.43 | 3.67 | — |
| 2022 | 22 | MIX RAW | 2 levels | 21 | 18 | 104 | 413 | 108 | 34 | 6 | 86% | 4.9 | 26.2% | 8.2% | 17.9% | 1.5% | 2.43 | 2.75 | — |
| 2023 | 23 | MIX MLE | 2 levels | 24 | 22 | 92 | 396 | 119 | 42 | 9 | 92% | 3.8 | 24.5% | 11.2% | 13.3% | 2.2% | 4.19 | 3.68 | — |
| 2023 | 23 | MIX RAW | 2 levels | 24 | 22 | 92 | 396 | 119 | 42 | 9 | 92% | 3.8 | 30.1% | 10.6% | 19.4% | 2.3% | 4.19 | 3.15 | — |
| 2024 | 24 | MIX MLE | 2 levels | 29 | 28 | 125 | 532 | 166 | 49 | 18 | 97% | 4.3 | 28.9% | 8.7% | 20.1% | 3.5% | 4.48 | 3.67 | +2.6 |
| 2024 | 24 | MIX MLE | 2 levels | 29 | 28 | 125 | 532 | 166 | 49 | 18 | 97% | 4.3 | 28.9% | 8.7% | 20.1% | 3.5% | 4.48 | 3.67 | +2.6 |
| 2024 | 24 | MIX RAW | 2 levels | 29 | 28 | 125 | 532 | 166 | 49 | 18 | 97% | 4.3 | 31.2% | 9.2% | 22.0% | 3.4% | 4.48 | 3.49 | +2.9 |
| 2025 | 25 | MIX MLE | 2 levels | 18 | 17 | 85 | 351 | 92 | 26 | 12 | 94% | 4.7 | 24.7% | 7.2% | 17.4% | 3.3% | 4.36 | 3.76 | +1.7 |
| 2025 | 25 | MIX MLE | 2 levels | 18 | 17 | 85 | 351 | 92 | 26 | 12 | 94% | 4.7 | 24.7% | 7.2% | 17.4% | 3.3% | 4.36 | 3.76 | +1.7 |
| 2025 | 25 | MIX RAW | 2 levels | 18 | 17 | 85 | 351 | 92 | 26 | 12 | 94% | 4.7 | 26.2% | 7.4% | 18.8% | 3.4% | 4.36 | 3.69 | +1.7 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 25 | 23 | 118 | 506 | 130 | 42 | 19 | 92% | 4.7 | 25.7% | 8.3% | 17.4% | 3.8% | 5.12 | 4.06 | +1.9 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 27 | MLB | MIN | 7 | 7 | 40 | 169 | 43 | 13 | 6 | 100% | 5.7 | 25.7% | 7.7% | 18.1% | 3.4% | 4.22 | 4.15 | +0.6 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 28 | MLB MLE | MIN | 11 | 11 | 68 | 289 | 74 | 23 | 10 | 100% | 6.2 | 25.6% | 7.8% | 17.8% | 3.5% | 4.23 | 4.23 | +0.9 |
| 2029 | 29 | MLB MLE | MIN | 11 | 11 | 65 | 276 | 69 | 22 | 10 | 100% | 5.9 | 25.0% | 8.0% | 17.0% | 3.7% | 4.33 | 4.39 | +0.8 |
| 2030 | 30 | MLB MLE | MIN | 10 | 10 | 62 | 260 | 63 | 22 | 10 | 100% | 6.2 | 24.3% | 8.3% | 16.0% | 3.9% | 4.49 | 4.60 | +0.6 |
| 2028 | 28 | MLB CTX | MIN | 11 | 11 | 64 | 270 | 69 | 21 | 10 | 100% | 5.8 | 25.6% | 7.8% | 17.8% | 3.5% | 4.24 | 4.24 | +0.9 |
| 2029 | 29 | MLB CTX | MIN | 10 | 10 | 62 | 262 | 66 | 21 | 10 | 100% | 6.2 | 25.0% | 8.0% | 17.0% | 3.7% | 4.34 | 4.40 | +0.7 |
| 2030 | 30 | MLB CTX | MIN | 10 | 10 | 58 | 245 | 60 | 20 | 10 | 100% | 5.8 | 24.3% | 8.3% | 16.0% | 3.9% | 4.50 | 4.61 | +0.5 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 56 | 54 | 302 | 1286 | 325 | 105 | 48 | 96% | 5.4 | 25.3% | 8.2% | 17.1% | 3.7% | 4.66 | 4.04 | +4.9 | |
| / 200 IP | — | RAW | 37 | 36 | 200 | 851 | 215 | 69 | 32 | 96% | 5.4 | 25.3% | 8.2% | 17.1% | 3.7% | 4.66 | 4.04 | +3.2 | |
| Career | — | MLE | 96 | 85 | 414 | 1724 | 431 | 159 | 47 | 89% | 4.3 | 25.0% | 9.2% | 15.8% | 2.7% | 3.87 | 3.65 | +4.2 | |
| / 200 IP | — | MLE | 46 | 41 | 200 | 834 | 209 | 77 | 23 | 89% | 4.3 | 25.0% | 9.2% | 15.8% | 2.7% | 3.87 | 3.65 | +2.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.
2025 AAASt. Paul Saints · 31 IPFIP 2.03 → 2.22 (+0.20)K% 32.0% → 27.5%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 31.97% | — | ×0.860 | 27.49% |
| BB% (unintentional) /BF | 5.74% | — | ×0.900 | 5.16% |
| HR / BF /BF | 1.64% | ÷1.253 | ×1.100 | 1.44% |
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 151).
Result: FIP 2.03 → 2.22, 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 AAASt. Paul Saints · 60 IPFIP 3.38 → 3.78 (+0.40)K% 34.9% → 30.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 34.90% | — | ×0.860 | 30.02% |
| BB% (unintentional) /BF | 10.20% | — | ×0.900 | 9.18% |
| HR / BF /BF | 3.53% | ÷1.039 | ×1.100 | 3.74% |
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 108).
Result: FIP 3.38 → 3.78, 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 AAWichita Wind Surge · 80 IPFIP 3.04 → 3.62 (+0.58)K% 30.4% → 24.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 30.41% | — | ×0.810 | 24.63% |
| BB% (unintentional) /BF | 9.65% | — | ×1.100 | 10.61% |
| HR / BF /BF | 2.34% | ÷1.231 | ×1.200 | 2.28% |
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 146).
Result: FIP 3.04 → 3.62, 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 AAASt. Paul Saints · 12 IPFIP 3.88 → 4.09 (+0.21)K% 27.8% → 23.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 27.78% | — | ×0.860 | 23.89% |
| BB% (unintentional) /BF | 16.67% | — | ×0.900 | 15.00% |
| HR / BF /BF | 1.85% | ÷1.009 | ×1.100 | 2.02% |
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 102).
Result: FIP 3.88 → 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).
2022 A+Cedar Rapids Kernels · 80 IPFIP 3.09 → 3.97 (+0.88)K% 23.1% → 17.8%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.08% | — | ×0.770 | 17.77% |
| BB% (unintentional) /BF | 8.62% | — | ×1.150 | 9.91% |
| HR / BF /BF | 1.54% | ÷0.948 | ×1.250 | 2.03% |
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 90).
Result: FIP 3.09 → 3.97, 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).
2022 AFort Myers Mighty Mussels · 24 IPFIP 1.42 → 2.59 (+1.17)K% 37.5% → 27.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 37.50% | — | ×0.740 | 27.75% |
| BB% (unintentional) /BF | 6.82% | — | ×1.180 | 8.05% |
| HR / BF /BF | 1.14% | ÷1.000 | ×1.300 | 1.48% |
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 100).
Result: FIP 1.42 → 2.59, 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: 1,234 reliever careers (754 from 1990-2025 + 480 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 | 1.8 | 60 | 25.3% | 8.1% | 1.42 | 4.58 |
| Tyler Lyons ('20) | 1.4 | 57 | 24.3% | 7.6% | 1.27 | 4.30 |
| Michael Tonkin ('25) | 1.6 | 55 | 23.2% | 8.1% | 1.28 | 4.23 |
| Robert Stephenson ('25) | 1.9 | 62 | 25.9% | 10.1% | 1.54 | 4.59 |
| Julio Navarro ('62-'70, 1 WAR*) | 1.1 | 53 | 21.7%* | 7.8%* | 1.55* | 4.13* |
| Steve Wilson ('88-'93, 0 WAR*) | 1.7 | 69 | 21.6%* | 8.8%* | 1.25* | 4.84* |
| Pete Ladd ('79-'86, 0 WAR*) | 1.4 | 72 | 24.6%* | 7.8%* | 1.53* | 4.42* |