Bailey Ober or Joe Ryan
Baseball Stats Comparison
See which player would win in a trade View Trade Analyzer
| Joe Ryan SP - MIN | Bailey Ober SP - MIN | |
| 2026 Stats | ||
| Games Played | 15 | 12 |
| Games Started | 15 | 12 |
| Innings Pitched | 82.1 | 66.2 |
| Wins | 4 | 6 |
| Losses | 3 | 3 |
| Saves | 0 | 0 |
| Blown Saves | 0 | 0 |
| Holds | 0 | 0 |
| Hits Allowed | 66 | 63 |
| Earned Runs | 29 | 34 |
| Home Runs Allowed | 8 | 12 |
| Strikeouts | 92 | 46 |
| Walks | 16 | 18 |
| ERA | 3.17 | 4.59 |
| WHIP | 1.00 | 1.22 |
| Joe Ryan SP - MIN | Bailey Ober SP - MIN | |
| 2026 Projections | ||
| Games Played | 29 | 28 |
| Games Started | 29 | 28 |
| Innings Pitched | 165.6 | 155.3 |
| Wins | 11 | 9 |
| Losses | 9 | 9 |
| Saves | 0 | 0 |
| Blown Saves | 0 | 0 |
| Holds | 0 | 0 |
| Hits Allowed | 143 | 150 |
| Earned Runs | 67 | 73 |
| Home Runs Allowed | 25 | 26 |
| Strikeouts | 182 | 141 |
| Walks | 39 | 37 |
| ERA | 3.64 | 4.25 |
| WHIP | 1.09 | 1.21 |
| Joe Ryan SP - MIN | Bailey Ober SP - MIN | |
| News | ||
| Joe Ryan allowed three earned runs on six hits and zero walks while striking out eight over six innings in Friday's 9-8 win over the Cardinals. Matthew Adam Sat, Jun 13th | Twins GM Jeremy Zoll said Bailey Ober will be shut down for 10-14 days. Ari Koslow Mon, Jun 1st | |
| Joe Ryan allowed one earned run on six hits and two walks while striking out five over six innings in Saturday's 3-2 loss to the Royals. Matthew Adam Sun, Jun 7th | The Twins placed Bailey Ober on the 15-day injured list with elbow inflammation. Ari Koslow Sun, May 31st | |
| Joe Ryan allowed four earned runs on eight hits and no walks while striking out nine over six innings in Monday's win over the White Sox. Matthew Adam Tue, Jun 2nd | Bailey Ober allowed seven earned runs on 12 hits and one walk while striking out three over 4.2 innings in Saturday's 10-9 loss to the Pirates. Matthew Adam Sun, May 31st | |
| Joe Ryan allowed two earned runs on five hits and no walks while striking out nine over 7.2 innings in Tuesday's win over the White Sox. Matthew Adam Wed, May 27th | Bailey Ober allowed four earned runs on seven hits and no walks while striking out three over five innings in Sunday's 6-5 win over the Red Sox. Matthew Adam Mon, May 25th | |
| Joe Ryan allowed one earned run on four hits and no walks while striking out nine over six innings in Wednesday's win over the Astros. Matthew Adam Thu, May 21st | Bailey Ober allowed three earned runs on six hits and two walks while striking out one over five innings in Sunday's 5-4 win over the Brewers. Matthew Adam Mon, May 18th | |
| Notes | ||
| Joe Ryan took a clear step forward in 2025, pairing a career-high workload (171 IP) with a 28.2% strikeout rate and his best ERA+ (125), supported by strong underlying indicators like a .218 opponent AVG and elite command (5.7% BB%). His four-seam-heavy profile still carries home run risk, but improved batted-ball suppression and a near-5.0 K/BB ratio helped stabilize his ratios year over year. The 2026 projections continue to view Ryan as a reliable mid-rotation fantasy anchor with above-average strikeouts and solid WHIP, even if he doesn't quite reach ace-level ceilings. At age 30 with a stable role and skills trending positively, Ryan profiles as a dependable SP2 who's safer than his draft cost suggests. Kelly Kirby - FantasyPros | ||
| Joe Ryan SP - MIN | Bailey Ober SP - MIN | |||||
| Date | Opp | Opp Pitcher | VBR | Opp | Opp Pitcher | VBR |
|---|---|---|---|---|---|---|
| Thu, Mar 26th | @ BAL | Trevor Rogers (3-6) | #97 | @ BAL | Trevor Rogers (3-6) | #97 |
| Sat, Mar 28th | @ BAL | Kyle Bradish (3-7) | #44 | @ BAL | Kyle Bradish (3-7) | #44 |
| Sun, Mar 29th | @ BAL | Shane Baz (4-6) | #74 | @ BAL | Shane Baz (4-6) | #74 |
| Mon, Mar 30th | @ KC | Kris Bubic (3-2) | #70 | @ KC | Kris Bubic (3-2) | #70 |
| Wed, Apr 1st | @ KC | Noah Cameron (3-4) | #82 | @ KC | Noah Cameron (3-4) | #82 |
| Thu, Apr 2nd | @ KC | Cole Ragans (1-4) | #43 | @ KC | Cole Ragans (1-4) | #43 |
| Fri, Apr 3rd | vs TB | Joe Boyle (0-1) | #152 | vs TB | Joe Boyle (0-1) | #152 |
| Sat, Apr 4th | vs TB | Steven Matz (4-3) | #184 | vs TB | Steven Matz (4-3) | #184 |
| Sun, Apr 5th | vs TB | Nick Martinez (6-2) | #95 | vs TB | Nick Martinez (6-2) | #95 |
| Mon, Apr 6th | vs DET | Casey Mize (2-3) | #56 | vs DET | Casey Mize (2-3) | #56 |
| Tue, Apr 7th | vs DET | Tarik Skubal (3-2) | #2 | vs DET | Tarik Skubal (3-2) | #2 |
| Wed, Apr 8th | vs DET | Framber Valdez (3-5) | #29 | vs DET | Framber Valdez (3-5) | #29 |
| Thu, Apr 9th | vs DET | Jack Flaherty (1-8) | #65 | vs DET | Jack Flaherty (1-8) | #65 |
| Fri, Apr 10th | @ TOR | Patrick Corbin (2-3) | #270 | @ TOR | Patrick Corbin (2-3) | #270 |
| Sat, Apr 11th | @ TOR | Eric Lauer (2-5) | #257 | @ TOR | Eric Lauer (2-5) | #257 |
| Sun, Apr 12th | @ TOR | Max Scherzer (1-4) | #130 | @ TOR | Max Scherzer (1-4) | #130 |
| Mon, Apr 13th | vs BOS | Garrett Crochet (3-3) | #23 | vs BOS | Garrett Crochet (3-3) | #23 |
| Tue, Apr 14th | vs BOS | Sonny Gray (8-1) | #33 | vs BOS | Sonny Gray (8-1) | #33 |
| Wed, Apr 15th | vs BOS | Connelly Early (5-4) | #91 | vs BOS | Connelly Early (5-4) | #91 |
| Fri, Apr 17th | vs CIN | Brandon Williamson (2-3) | #368 | vs CIN | Brandon Williamson (2-3) | #368 |
| Sat, Apr 18th | vs CIN | Andrew Abbott (4-4) | #99 | vs CIN | Andrew Abbott (4-4) | #99 |
| Sun, Apr 19th | vs CIN | Brady Singer (2-6) | #155 | vs CIN | Brady Singer (2-6) | #155 |
| Tue, Apr 21st | @ NYM | Nolan McLean (3-4) | #38 | @ NYM | Nolan McLean (3-4) | #38 |
| Wed, Apr 22nd | @ NYM | Clay Holmes (4-4) | #163 | @ NYM | Clay Holmes (4-4) | #163 |
| Thu, Apr 23rd | @ NYM | Christian Scott (2-0) | #83 | @ NYM | Christian Scott (2-0) | #83 |
| Fri, Apr 24th | @ TB | Drew Rasmussen (6-2) | #18 | @ TB | Drew Rasmussen (6-2) | #18 |
| Sat, Apr 25th | @ TB | Shane McClanahan (6-4) | #21 | @ TB | Shane McClanahan (6-4) | #21 |
| Sun, Apr 26th | @ TB | Griffin Jax (1-4) | #63 | @ TB | Griffin Jax (1-4) | #63 |
| Mon, Apr 27th | vs SEA | Luis Castillo (2-5) | #45 | vs SEA | Luis Castillo (2-5) | #45 |
| Tue, Apr 28th | vs SEA | Logan Gilbert (4-4) | #15 | vs SEA | Logan Gilbert (4-4) | #15 |
| Wed, Apr 29th | vs SEA | George Kirby (5-6) | #16 | vs SEA | George Kirby (5-6) | #16 |
| Thu, Apr 30th | vs TOR | Kevin Gausman (4-4) | #19 | vs TOR | Kevin Gausman (4-4) | #19 |
| Fri, May 1st | vs TOR | Patrick Corbin (2-3) | #270 | vs TOR | Patrick Corbin (2-3) | #270 |
| Sat, May 2nd | vs TOR | Dylan Cease (3-3) | #9 | vs TOR | Dylan Cease (3-3) | #9 |
| Sun, May 3rd | vs TOR | Trey Yesavage (3-3) | #61 | vs TOR | Trey Yesavage (3-3) | #61 |
| Tue, May 5th | @ WSH | Cade Cavalli (3-4) | #84 | @ WSH | Cade Cavalli (3-4) | #84 |
| Wed, May 6th | @ WSH | Miles Mikolas (1-5) | #237 | @ WSH | Miles Mikolas (1-5) | #237 |
| Thu, May 7th | @ WSH | Jake Irvin (2-4) | #220 | @ WSH | Jake Irvin (2-4) | #220 |
| Fri, May 8th | @ CLE | Parker Messick (6-3) | #53 | @ CLE | Parker Messick (6-3) | #53 |
| Sat, May 9th | @ CLE | Tanner Bibee (2-7) | #41 | @ CLE | Tanner Bibee (2-7) | #41 |
| Sun, May 10th | @ CLE | Gavin Williams (9-3) | #28 | @ CLE | Gavin Williams (9-3) | #28 |
| Tue, May 12th | vs MIA | Eury Perez (3-6) | #115 | vs MIA | Eury Perez (3-6) | #115 |
| Wed, May 13th | vs MIA | Max Meyer (6-0) | #60 | vs MIA | Max Meyer (6-0) | #60 |
| Thu, May 14th | vs MIA | Braxton Garrett (0-1) | #136 | vs MIA | Braxton Garrett (0-1) | #136 |
| Fri, May 15th | vs MIL | Coleman Crow (0-1) | #244 | vs MIL | Coleman Crow (0-1) | #244 |
| Sat, May 16th | vs MIL | Logan Henderson (2-1) | #68 | vs MIL | Logan Henderson (2-1) | #68 |
| Sun, May 17th | vs MIL | Robert Gasser (0-3) | #174 | vs MIL | Robert Gasser (0-3) | #174 |
| Mon, May 18th | vs HOU | Tatsuya Imai (3-3) | #131 | vs HOU | Tatsuya Imai (3-3) | #131 |
| Tue, May 19th | vs HOU | Jason Alexander (1-1) | #344 | vs HOU | Jason Alexander (1-1) | #344 |
| Wed, May 20th | vs HOU | Mike Burrows (3-8) | #147 | vs HOU | Mike Burrows (3-8) | #147 |
| Fri, May 22nd | @ BOS | Payton Tolle (3-3) | #55 | @ BOS | Payton Tolle (3-3) | #55 |
| Sat, May 23rd | @ BOS | Jovani Moran (1-2) | #231 | @ BOS | Jovani Moran (1-2) | #231 |
| Sun, May 24th | @ BOS | Sonny Gray (8-1) | #33 | @ BOS | Sonny Gray (8-1) | #33 |
| Mon, May 25th | @ CWS | Anthony Kay (6-1) | #192 | @ CWS | Anthony Kay (6-1) | #192 |
| Tue, May 26th | @ CWS | Sean Burke (3-3) | #133 | @ CWS | Sean Burke (3-3) | #133 |
| Wed, May 27th | @ CWS | David Sandlin (1-1) | #254 | @ CWS | David Sandlin (1-1) | #254 |
| Thu, May 28th | @ CWS | Davis Martin (9-2) | #69 | @ CWS | Davis Martin (9-2) | #69 |
| Fri, May 29th | @ PIT | Jared Jones (1-0) | #72 | @ PIT | Jared Jones (1-0) | #72 |
| Sat, May 30th | @ PIT | Mitch Keller (5-4) | #93 | @ PIT | Mitch Keller (5-4) | #93 |
| Sun, May 31st | @ PIT | Braxton Ashcraft (5-3) | #39 | @ PIT | Braxton Ashcraft (5-3) | #39 |
| Mon, Jun 1st | vs CWS | David Sandlin (1-1) | #254 | vs CWS | David Sandlin (1-1) | #254 |
| Tue, Jun 2nd | vs CWS | Davis Martin (9-2) | #69 | vs CWS | Davis Martin (9-2) | #69 |
| Wed, Jun 3rd | vs CWS | Erick Fedde (1-5) | #380 | vs CWS | Erick Fedde (1-5) | #380 |
| Thu, Jun 4th | vs KC | Seth Lugo (2-4) | #106 | vs KC | Seth Lugo (2-4) | #106 |
| Fri, Jun 5th | vs KC | Michael Wacha (4-5) | #85 | vs KC | Michael Wacha (4-5) | #85 |
| Sat, Jun 6th | vs KC | Luinder Avila (1-3) | #218 | vs KC | Luinder Avila (1-3) | #218 |
| Sun, Jun 7th | vs KC | Noah Cameron (3-4) | #82 | vs KC | Noah Cameron (3-4) | #82 |
| Tue, Jun 9th | @ DET | Troy Melton (3-0) | #138 | @ DET | Troy Melton (3-0) | #138 |
| Wed, Jun 10th | @ DET | Framber Valdez (3-5) | #29 | @ DET | Framber Valdez (3-5) | #29 |
| Thu, Jun 11th | @ DET | Keider Montero (3-4) | #176 | @ DET | Keider Montero (3-4) | #176 |
| Fri, Jun 12th | vs STL | Kyle Leahy (5-3) | #143 | vs STL | Kyle Leahy (5-3) | #143 |
| Sat, Jun 13th | vs STL | Matthew Liberatore (3-3) | #102 | vs STL | Matthew Liberatore (3-3) | #102 |
| Sun, Jun 14th | vs STL | Michael McGreevy (3-5) | #89 | vs STL | Michael McGreevy (3-5) | #89 |
| Mon, Jun 15th | @ TEX | MacKenzie Gore (4-5) | #54 | @ TEX | MacKenzie Gore (4-5) | #54 |
| Tue, Jun 16th | @ TEX | Kumar Rocker (2-5) | #100 | @ TEX | Kumar Rocker (2-5) | #100 |
| Thu, Jun 18th | @ TEX | Jack Leiter (3-6) | #76 | @ TEX | Jack Leiter (3-6) | #76 |
| Fri, Jun 19th | @ ARI | Michael Soroka (8-3) | #58 | @ ARI | Michael Soroka (8-3) | #58 |
| Sat, Jun 20th | @ ARI | Zac Gallen (3-5) | #79 | @ ARI | Zac Gallen (3-5) | #79 |
| Sun, Jun 21st | @ ARI | Ryne Nelson (2-5) | #96 | @ ARI | Ryne Nelson (2-5) | #96 |
| Mon, Jun 22nd | vs LAD | Eric Lauer (2-5) | #257 | vs LAD | Eric Lauer (2-5) | #257 |
| Tue, Jun 23rd | vs LAD | vs LAD | ||||
| Wed, Jun 24th | vs LAD | vs LAD | ||||
| Fri, Jun 26th | vs COL | vs COL | ||||
| Sat, Jun 27th | vs COL | vs COL | ||||
| Sun, Jun 28th | vs COL | vs COL | ||||
| Mon, Jun 29th | @ HOU | @ HOU | ||||
| Tue, Jun 30th | @ HOU | @ HOU | ||||
| Wed, Jul 1st | @ HOU | @ HOU | ||||
| Fri, Jul 3rd | @ NYY | @ NYY | ||||
| Sat, Jul 4th | @ NYY | @ NYY | ||||
| Sun, Jul 5th | @ NYY | @ NYY | ||||
| Tue, Jul 7th | vs CLE | vs CLE | ||||
| Wed, Jul 8th | vs CLE | vs CLE | ||||
| Thu, Jul 9th | vs CLE | vs CLE | ||||
| Fri, Jul 10th | vs LAA | vs LAA | ||||
| Sat, Jul 11th | vs LAA | vs LAA | ||||
| Sun, Jul 12th | vs LAA | vs LAA | ||||
| Fri, Jul 17th | @ CHC | @ CHC | ||||
| Sat, Jul 18th | @ CHC | @ CHC | ||||
| Sun, Jul 19th | @ CHC | @ CHC | ||||
| Mon, Jul 20th | @ CLE | @ CLE | ||||
| Tue, Jul 21st | @ CLE | @ CLE | ||||
| Wed, Jul 22nd | @ CLE | @ CLE | ||||
| Thu, Jul 23rd | @ CLE | @ CLE | ||||
| Fri, Jul 24th | vs ATH | vs ATH | ||||
| Sat, Jul 25th | vs ATH | vs ATH | ||||
| Sun, Jul 26th | vs ATH | vs ATH | ||||
| Tue, Jul 28th | vs KC | vs KC | ||||
| Wed, Jul 29th | vs KC | vs KC | ||||
| Thu, Jul 30th | vs KC | vs KC | ||||
| Fri, Jul 31st | @ SEA | @ SEA | ||||
| Sat, Aug 1st | @ SEA | @ SEA | ||||
| Sun, Aug 2nd | @ SEA | @ SEA | ||||
| Tue, Aug 4th | @ KC | @ KC | ||||
| Wed, Aug 5th | @ KC | @ KC | ||||
| Thu, Aug 6th | @ KC | @ KC | ||||
| Fri, Aug 7th | @ MIL | @ MIL | ||||
| Sat, Aug 8th | @ MIL | @ MIL | ||||
| Sun, Aug 9th | @ MIL | @ MIL | ||||
| Mon, Aug 10th | vs BAL | vs BAL | ||||
| Tue, Aug 11th | vs BAL | vs BAL | ||||
| Wed, Aug 12th | vs BAL | vs BAL | ||||
| Thu, Aug 13th | vs PHI | vs PHI | ||||
| Sat, Aug 15th | vs PHI | vs PHI | ||||
| Sun, Aug 16th | vs PHI | vs PHI | ||||
| Mon, Aug 17th | vs ATL | vs ATL | ||||
| Tue, Aug 18th | vs ATL | vs ATL | ||||
| Wed, Aug 19th | vs ATL | vs ATL | ||||
| Fri, Aug 21st | @ SD | @ SD | ||||
| Sat, Aug 22nd | @ SD | @ SD | ||||
| Sun, Aug 23rd | @ SD | @ SD | ||||
| Mon, Aug 24th | @ ATH | @ ATH | ||||
| Tue, Aug 25th | @ ATH | @ ATH | ||||
| Wed, Aug 26th | @ ATH | @ ATH | ||||
| Fri, Aug 28th | vs CWS | vs CWS | ||||
| Sat, Aug 29th | vs CWS | vs CWS | ||||
| Sun, Aug 30th | vs CWS | vs CWS | ||||
| Mon, Aug 31st | vs DET | vs DET | ||||
| Tue, Sep 1st | vs DET | vs DET | ||||
| Wed, Sep 2nd | vs DET | vs DET | ||||
| Fri, Sep 4th | @ CWS | @ CWS | ||||
| Sat, Sep 5th | @ CWS | @ CWS | ||||
| Sun, Sep 6th | @ CWS | @ CWS | ||||
| Mon, Sep 7th | @ DET | @ DET | ||||
| Tue, Sep 8th | @ DET | @ DET | ||||
| Wed, Sep 9th | @ DET | @ DET | ||||
| Fri, Sep 11th | vs CLE | vs CLE | ||||
| Sat, Sep 12th | vs CLE | vs CLE | ||||
| Sun, Sep 13th | vs CLE | vs CLE | ||||
| Mon, Sep 14th | vs NYY | vs NYY | ||||
| Tue, Sep 15th | vs NYY | vs NYY | ||||
| Wed, Sep 16th | vs NYY | vs NYY | ||||
| Thu, Sep 17th | @ LAA | @ LAA | ||||
| Fri, Sep 18th | @ LAA | @ LAA | ||||
| Sat, Sep 19th | @ LAA | @ LAA | ||||
| Sun, Sep 20th | @ LAA | @ LAA | ||||
| Mon, Sep 21st | @ SF | @ SF | ||||
| Tue, Sep 22nd | @ SF | @ SF | ||||
| Wed, Sep 23rd | @ SF | @ SF | ||||
| Fri, Sep 25th | vs TEX | vs TEX | ||||
| Sat, Sep 26th | vs TEX | vs TEX | ||||
| Sun, Sep 27th | vs TEX | vs TEX | ||||

