Riley O'Brien
P St. Louis Cardinals| Year | Age | Lvl / Team | G | GS | IP | ERA | FIP | K% | BB% | WAR | MLE rates |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | 29 | MIX2 levels | 22 | 0 | 21 | 5.06 | 4.27 | 20.4% | 13.3% | 0.1 | K 14.9% · BB 8.7% · FIP 2.94 |
| 2025 | 30 | MIX2 levels | 61 | 0 | 67 | 2.27 | 2.64 | 27.0% | 9.8% | 1.5 | K 25.4% · BB 9.5% · FIP 2.82 |
| 2026 | 31 | MLBSTL | 66 | 0 | 64 | 4.08 | 3.29 | 23.2% | 9.1% | 1.0 | |
| 2027PROJ | 32 | MLBSTL | 51 | 0 | 54 | 3.94 | 3.89 | 25.3% | 10.1% | 0.4 | |
| 2028PROJ95% MLB | 33 | MLBSTL | 37 | 0 | 39 | 4.08 | 4.17 | 24.5% | 10.5% | 0.2 | |
| 2029PROJ90% MLB | 34 | MLBSTL | 24 | 0 | 25 | 4.32 | 4.47 | 23.6% | 11.0% | 0.0 |
Grades · Statcast · Contract
Contract
No contract data on file. Pre-MLB players and minor-league free agents do not yet have salary projections — entries are added at first 40-man roster placement.
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) | |||||||||||||||||||
| 2017 | 22 | ROK MLE | Princeton Rays | 11 | 10 | 41 | 159 | 40 | 17 | 1 | 91% | 3.7 | 17.1% | 13.4% | 3.7% | 0.9% | 2.20 | 3.83 | — |
| 2017 | 22 | ROK RAW | Princeton Rays | 11 | 10 | 41 | 159 | 40 | 17 | 1 | 91% | 3.7 | 25.2% | 10.7% | 14.5% | 0.6% | 2.20 | 2.71 | — |
| 2018 | 23 | MIX MLE | 2 levels | 25 | 13 | 88 | 357 | 103 | 41 | 4 | 52% | 3.5 | 21.7% | 13.4% | 8.3% | 1.5% | 2.75 | 3.77 | — |
| 2018 | 23 | MIX RAW | 2 levels | 25 | 13 | 88 | 357 | 103 | 41 | 4 | 52% | 3.5 | 28.9% | 11.5% | 17.4% | 1.1% | 2.75 | 2.75 | — |
| 2019 | 24 | MIX MLE | 2 levels | 20 | 17 | 103 | 429 | 107 | 44 | 6 | 85% | 5.1 | 19.9% | 11.5% | 8.4% | 1.8% | 3.16 | 3.88 | — |
| 2019 | 24 | MIX RAW | 2 levels | 20 | 17 | 103 | 429 | 107 | 44 | 6 | 85% | 5.1 | 24.9% | 10.3% | 14.7% | 1.4% | 3.16 | 3.06 | — |
| 2021 | 26 | MIX MLE | 2 levels | 24 | 23 | 114 | 499 | 123 | 57 | 18 | 96% | 4.8 | 21.7% | 11.6% | 10.2% | 3.3% | 4.66 | 4.54 | +1.1 |
| 2021 | 26 | MIX RAW | 2 levels | 24 | 23 | 114 | 499 | 123 | 57 | 18 | 96% | 4.8 | 24.6% | 11.4% | 13.2% | 3.6% | 4.66 | 4.49 | +1.2 |
| 2022 | 27 | MIX MLE | 2 levels | 34 | 1 | 41 | 201 | 48 | 31 | 5 | 3% | 1.2 | 21.1% | 16.1% | 5.0% | 2.5% | 6.86 | 4.70 | -0.1 |
| 2022 | 27 | MIX RAW | 2 levels | 34 | 1 | 41 | 201 | 48 | 31 | 5 | 3% | 1.2 | 23.9% | 15.4% | 8.5% | 2.5% | 6.86 | 4.62 | -0.0 |
| 2023 | 28 | AAA MLE | Tacoma Rainiers | 51 | 3 | 55 | 228 | 86 | 30 | 2 | 6% | 1.1 | 32.4% | 11.8% | 20.6% | 0.8% | 2.29 | 2.32 | — |
| 2023 | 28 | AAA RAW | Tacoma Rainiers | 51 | 3 | 55 | 228 | 86 | 30 | 2 | 6% | 1.1 | 37.7% | 13.2% | 24.6% | 0.9% | 2.29 | 2.08 | — |
| 2024 | 29 | MIX MLE | 2 levels | 22 | 0 | 21 | 98 | 20 | 13 | 2 | 0% | 1.0 | 14.9% | 8.7% | 6.2% | 0.0% | 5.06 | 2.94 | +0.4 |
| 2024 | 29 | MIX MLE | 2 levels | 22 | 0 | 21 | 98 | 20 | 13 | 2 | 0% | 1.0 | 14.9% | 8.7% | 6.2% | 0.0% | 5.06 | 2.94 | +0.4 |
| 2024 | 29 | MIX RAW | 2 levels | 22 | 0 | 21 | 98 | 20 | 13 | 2 | 0% | 1.0 | 20.4% | 13.3% | 7.1% | 2.0% | 5.06 | 4.27 | +0.1 |
| 2025 | 30 | MIX MLE | 2 levels | 61 | 0 | 67 | 285 | 77 | 28 | 3 | 0% | 1.1 | 25.4% | 9.5% | 15.9% | 1.2% | 2.27 | 2.82 | +1.4 |
| 2025 | 30 | MIX MLE | 2 levels | 61 | 0 | 67 | 285 | 77 | 28 | 3 | 0% | 1.1 | 25.4% | 9.5% | 15.9% | 1.2% | 2.27 | 2.82 | +1.4 |
| 2025 | 30 | MIX RAW | 2 levels | 61 | 0 | 67 | 285 | 77 | 28 | 3 | 0% | 1.1 | 27.0% | 9.8% | 17.2% | 1.1% | 2.27 | 2.64 | +1.5 |
| 2026 | 31 | MLB MLE | St. Louis Cardinals | 66 | 0 | 64 | 276 | 64 | 25 | 5 | 0% | 1.0 | 23.2% | 9.1% | 14.1% | 1.9% | 4.08 | 3.36 | +0.9 |
| 2026 | 31 | MLB MLE | St. Louis Cardinals | 66 | 0 | 64 | 276 | 64 | 25 | 5 | 0% | 1.0 | 23.2% | 9.1% | 14.1% | 1.9% | 4.08 | 3.36 | +0.9 |
| 2026 | 31 | MLB RAW | St. Louis Cardinals | 66 | 0 | 64 | 276 | 64 | 25 | 5 | 0% | 1.0 | 23.2% | 9.1% | 14.1% | 1.8% | 4.08 | 3.29 | +1.0 |
| ▸ Career totals (raw MLB only — as recorded) | |||||||||||||||||||
| MLB Career | — | 118 | 1 | 122 | 535 | 123 | 57 | 11 | 1% | 1.0 | 23.0% | 10.7% | 12.3% | 2.1% | 3.83 | 3.66 | +1.3 | ||
| ▸ 2027 season — projected remainder (no 2027 stats recorded) | |||||||||||||||||||
| 2027 | 32 | MLB | STL | 51 | 0 | 54 | 228 | 58 | 23 | 5 | 0% | 1.1 | 25.3% | 10.1% | 15.3% | 2.3% | 3.94 | 3.89 | +0.4 |
| ▸ Career projection (2028+) — MLB context, MLB playing time (IP × MLB%) | |||||||||||||||||||
| 2028 | 33 | MLB MLE | STL | 40 | 0 | 42 | 175 | 43 | 18 | 5 | 0% | 1.0 | 24.5% | 10.5% | 14.0% | 2.6% | 4.08 | 4.17 | +0.2 |
| 2029 | 34 | MLB MLE | STL | 27 | 0 | 28 | 118 | 28 | 13 | 3 | 0% | 1.0 | 23.6% | 11.0% | 12.6% | 2.9% | 4.32 | 4.47 | +0.0 |
| 2028 | 33 | MLB CTX | STL | 37 | 0 | 39 | 165 | 40 | 17 | 4 | 0% | 1.1 | 24.5% | 10.5% | 14.0% | 2.6% | 4.08 | 4.17 | +0.2 |
| 2029 | 34 | MLB CTX | STL | 24 | 0 | 25 | 106 | 25 | 12 | 3 | 0% | 1.0 | 23.6% | 11.0% | 12.6% | 2.9% | 4.32 | 4.47 | +0.0 |
| ▸ Career totals — MLB only (actual + projected) | |||||||||||||||||||
| Career | — | RAW | 180 | 1 | 187 | 808 | 189 | 86 | 18 | 1% | 1.0 | 23.4% | 10.7% | 12.7% | 2.3% | 3.95 | 3.73 | +1.8 | |
| / 200 IP | — | RAW | 192 | 1 | 200 | 864 | 202 | 92 | 19 | 1% | 1.0 | 23.4% | 10.7% | 12.7% | 2.3% | 3.95 | 3.73 | +1.9 | |
| Career | — | MLE | 314 | 67 | 594 | 2532 | 566 | 296 | 47 | 21% | 1.9 | 22.3% | 11.7% | 10.7% | 1.8% | 3.56 | 3.70 | +1.5 | |
| / 200 IP | — | MLE | 106 | 23 | 200 | 852 | 190 | 100 | 16 | 21% | 1.9 | 22.3% | 11.7% | 10.7% | 1.8% | 3.56 | 3.70 | +1.6 | |
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 AAAMemphis Redbirds · 19 IPFIP 1.77 → 2.27 (+0.49)K% 37.2% → 32.0%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 37.21% | — | ×0.860 | 32.00% |
| BB% (unintentional) /BF | 9.30% | — | ×0.900 | 8.37% |
| HR / BF /BF | 1.16% | ÷0.869 | ×1.100 | 1.47% |
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 74).
Result: FIP 1.77 → 2.27, 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 AAAMemphis Redbirds · 13 IPFIP 2.86 → 2.94 (+0.08)K% 17.3% → 14.9%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 17.31% | — | ×0.860 | 14.88% |
| BB% (unintentional) /BF | 9.62% | — | ×0.900 | 8.65% |
| HR / BF /BF | 0.00% | ÷1.020 | ×1.100 | 0.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 104).
Result: FIP 2.86 → 2.94, 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 AAATacoma Rainiers · 55 IPFIP 2.06 → 2.32 (+0.26)K% 37.7% → 32.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 37.72% | — | ×0.860 | 32.44% |
| BB% (unintentional) /BF | 13.16% | — | ×0.900 | 11.84% |
| HR / BF /BF | 0.88% | ÷1.157 | ×1.100 | 0.83% |
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 131).
Result: FIP 2.06 → 2.32, 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 AAATacoma Rainiers · 40 IPFIP 4.41 → 4.70 (+0.29)K% 24.0% → 21.1%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 23.98% | — | ×0.880 | 21.10% |
| BB% (unintentional) /BF | 15.31% | — | ×1.050 | 16.07% |
| HR / BF /BF | 2.55% | ÷1.144 | ×1.100 | 2.45% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, 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 129).
Result: FIP 4.41 → 4.70, 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).
2021 AAALouisville Bats · 113 IPFIP 4.20 → 4.54 (+0.34)K% 24.7% → 21.7%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.69% | — | ×0.880 | 21.73% |
| BB% (unintentional) /BF | 11.02% | — | ×1.050 | 11.57% |
| HR / BF /BF | 3.27% | ÷1.088 | ×1.100 | 3.30% |
Factors used: pitcher AAA level factors — K ×0.88, BB ×1.05, 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 118).
Result: FIP 4.20 → 4.54, 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).
2019 AAMontgomery Biscuits · 69 IPFIP 3.03 → 3.77 (+0.74)K% 24.2% → 19.6%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 24.24% | — | ×0.810 | 19.64% |
| BB% (unintentional) /BF | 9.76% | — | ×1.100 | 10.74% |
| HR / BF /BF | 1.35% | ÷0.920 | ×1.200 | 1.76% |
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 84).
Result: FIP 3.03 → 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).
2019 A+Charlotte Stone Crabs · 34 IPFIP 3.13 → 4.14 (+1.01)K% 26.5% → 20.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 26.52% | — | ×0.770 | 20.42% |
| BB% (unintentional) /BF | 11.36% | — | ×1.150 | 13.07% |
| HR / BF /BF | 1.52% | ÷0.939 | ×1.250 | 2.02% |
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 88).
Result: FIP 3.13 → 4.14, 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).
2018 ABowling Green Hot Rods · 48 IPFIP 2.42 → 3.68 (+1.27)K% 35.7% → 26.4%
| Component | Raw | Park ÷ | Level factor × | = MLE |
|---|---|---|---|---|
| K% /BF | 35.68% | — | ×0.740 | 26.40% |
| BB% (unintentional) /BF | 11.35% | — | ×1.180 | 13.39% |
| HR / BF /BF | 1.62% | ÷1.037 | ×1.300 | 2.03% |
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 107).
Result: FIP 2.42 → 3.68, 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.2 | 50 | 23.8% | 11.1% | 0.89 | 3.95 |
| José Cisnero ('24) | 1.4 | 46 | 24.0% | 11.3% | 1.01 | 4.16 |
| Fernando Rodriguez Jr. ('16) | 1.2 | 58 | 24.6% | 11.1% | 0.93 | 4.35 |
| Chaz Roe ('21) | 1.1 | 43 | 26.4% | 11.1% | 0.79 | 3.89 |
| Ray Searage ('81-'90, 4 WAR*) | 1.4 | 41 | 21.0%* | 10.8%* | 0.84* | 3.70* |
| Dave Geisel ('78-'85, 2 WAR*) | 1.0 | 42 | 23.5%* | 10.6%* | 0.84* | 4.12* |
| Ed Vosberg ('86-'02, 1 WAR*) | 1.2 | 47 | 21.0%* | 9.6%* | 0.86* | 4.06* |