Archive for Starting Pitchers

Poll 2025: Which Group of Pitchers Performs Better? A Review

Mandatory Credit: Sam Navarro-Imagn Images

During the All-Star break, I polled you fine readers about starting pitchers and your expectations in the second half. Specifically, the poll pitted the 10 greatest SIERA overperformers against the 10 most significant underperformers. I asked you which group would post a lower second half ERA and which range each group’s ERA would fall into. Let’s now review what happened.

Read the rest of this entry »


The Balance Between Called Strikes and Chase

Sep 15, 2025; Tampa, Florida, USA; Toronto Blue Jays pitcher Brendon Little (54) throws a pitch against the Tampa Bay Rays in the sixth inning at George M. Steinbrenner Field.
Credit: Nathan Ray Seebeck-Imagn Images

In early June, Alex Chamberlain graced us with a FanGraphs article about Brendon Little and a new concept called, “Implied Miss Distance”. Chamberlain, along with Baseball Prospectus writer/researcher Stephen Sutton-Brown, have done some great work utilizing Statcast bat tracking data, giving readers a new perspective on something like a swing and miss. But, back in early July, nearly a month after Chamberlain wrote about Little’s amazing knuckle-curve and it’s ability to make hitters whiff so hard that the outfield flag flutters, hitters stopped chasing the pitch. They were tired of looking silly and would no longer budge, allowing us to imply nothing:

A Rolling Line Chart of Brendon Little's O-Swing% 2025

If it wasn’t for Chamberlain’s article, I wouldn’t have known about Little or his knuckle-curve. But that’s why FanGraphs is the best, and when I recently watched the Blue Jays and their relievers’ deteriorating August WHIP, I heard the broadcasters mention Little’s falling O-Swing, or chase, rate.

If you only focused on Little’s knuckle-curve and the damage hitters have done to it in each month of the season, as you see in the table below, you wouldn’t think twice about the pitch’s performance:

Little’s Knuckle Curve by Month 2025
Month KC Total Pitches KC% wOBA
Mar/Apr 96 218 44.0% .194
May 111 229 48.5% .176
Jun 119 243 49.0% .212
Jul 103 193 53.4% .192
Aug 76 193 39.4% .146
Sep/Oct 51 119 42.9% .257

Among pitchers who have thrown at least 100 knuckle curves in any of the last five seasons, Little’s 2025 wOBA of .188 is a fringe top 20 (25th) out of nearly 200 pitchers. Last season, Little got even closer to the top 20 mark (23rd) with a .186 wOBA on the pitch. But the broadcast never said anything about Little getting hit; they were focused on the lack of chase and, therefore, an increased BB%:

A rolling chart of Brendon Little's Chase%/BB% 2025

The chart above includes all of Little’s pitches. By isolating the O-Swing% to only his knuckle-curve, we can see that this overall drop in hitters’ chasing after Little’s offerings wasn’t solely because of them spitting at that specific pitch:

A rolling chart of Brendon Little's Knuckle-Curve Chase% 2025

Thanks to the incredible addition of the Pitch-Type Split Leaderboard by the FanGraphs web team, we can now view the averages of individual pitches with ease. In 2025, among all pitchers who have thrown at least 10 knuckle curves, the league average O-Swing% currently sits at 35.5%. Little’s mark on the season is 36.5%. Rolling averages are different from season averages, and when Little’s chase rate rolling average dipped, so did the chase rolling average of his two other pitches:

A rolling chart of Brendon Little's Individual Pitch Chase% 2025

Chart 4 – Rolling KC, FC, SI Chase% Comps

The straight red line indicates times when Little stopped throwing his cutter. It’s interesting to see how the line stopped running horizontally around the same time his knuckle-curve was at its worst. Unfortunately, it didn’t fill the chased pitch gap, and that 40-50 game mark fell around early to mid-July when Little’s WHIP went upwards:

Brendon Little’s Monthly Splits (All Pitches)
Month KC% WHIP K-BB%
Mar/Apr 44.3 1.31 26.8
May 48.5 0.98 17.3
Jun 49.0 1.42 15.7
Jul 53.4 1.60 21.3
Aug 39.4 1.65 0.0
Sep/Oct 42.9 1.65 10.0

Hitters weren’t getting boosted wOBA’s from Little’s lack of chase, but the 1.65 WHIP  (5.97 eqiuv. ERA) meant they were hitting his other pitches and walking more. I’ve been rambling on about Little for more than a few paragraphs now, and you’re probably waiting for the point. The point? The point is, pitchers need to adjust when a pitch that used to be chased no longer gets chased. They know that. We know that. Yet, it’s difficult to keep track of on the fan side of things. Pitchers will go about adjusting in all sorts of ways.

In Little’s case, it was really just a blip. If you go back up to the graph showing individual pitch chase rates, you may notice that Little’s usage of the cutter, even if it wasn’t chased, allowed the chase rate on his knuckle-curve to jump back up. Hitters did a great job of laying off Little’s knuckle-curve from around games 30 to 70, but excellence is when a pitcher can adjust in the moment to hitters. That’s robotic. So, let’s!…get!…robotic! For the remainder of this article, I’ll present a detection system that can run daily to capture when a pitcher’s most used fastball and most used secondary are in good or bad rhythm using individual pitch plate discipline metrics. Here’s an example from Little’s 40 to 80 game span:

Categorizing Brendon Little’s Plate Discipline Balance
Game Number Rolling_CStr%_SI Rolling_Chase%_KC Performance
41-50 26.8 23.4 Ok (Adjusting)
51-60 21.1 25.8 Bad
61-73 16.9 21.8 Bad
SI Median CStr% = 24.5%
KC Median Chase% = 26.8%

The table is just a summary of what you see in Chart 4 above, but it’s designed to be placed in an automated system. If chase is up on one pitch and called strike is up on another, that’s good. If both pitches are falling to generate either chase or called strikes, well, that’s bad. Categorizing the balance between his sinker’s called strike rate and his knuckle-curve’s chase rate is as simple as creating rule-based logic:

conditions = [
(final_df['Rolling_Chase%']-3 > final_df['smart_median_chase']) & (final_df['Rolling_CStr%']-3 > final_df['smart_median_cstr']),
(final_df['Rolling_Chase%'] <= final_df['smart_median_chase']) & (final_df['Rolling_CStr%'] >= final_df['smart_median_cstr']),
(final_df['Rolling_Chase%']+3 < final_df['smart_median_chase']) & (final_df['Rolling_CStr%']+3 < final_df['smart_median_cstr']), (final_df['Rolling_Chase%'] >= final_df['smart_median_chase']) & (final_df['Rolling_CStr%'] <= final_df['smart_median_cstr'])
]
# Define the corresponding categories
categories = [
'Excellent',
'Ok (Adjusting)',
'Bad',
'Ok (Adjusting)'
]

Using the pitcher’s median values allows the categorization to detect improvements by each individual. I’m using “smart” medians to call the league median if a player has a zero value. That happens when they haven’t generated any chase or called strikes. If we use Brendon Little’s game logs to isolate his performance during those game periods from the table above, we see some pattern in a very small sample:

Brendon Little’s Overall Performance in Small Samples
Game Number WHIP K-BB%
41-50 0.91 32.3%
51-60 2.10 0.0%
61-73 1.33 15.4%

Little was at his best when he was in decent balance. This is the type of tracking that could be useful when streaming pitchers or looking for hot relievers. To test this out on a grander scale, I built a dataset that includes data from the last two months. This keeps the sample limited to more recent performance. Furthermore, I limited the data to only pitchers with more than 60 total pitches thrown in that time. Then, I took each pitcher’s most utilized fastball by pitch percentage and used it to calculate their called strike rate. I did the same with each pitcher’s most utilized offspeed, or non-fastball, pitch and used it to calculate their chase rate. I then calculated each pitch’s 15-game rolling rate, called strike for fastballs and chase for non-fastballs, and labelled their performance balance. Finally, I counted the number of days in which a player has been either good (balanced) or bad (unbalanced) and found the current status of players in both groups:

Players With Excellent Balance
Player Rolling CStr% Rolling Chase% Days of Excellence
Emilio Pagán 14.4 31.7 5
Dennis Santana 32.1 24.3 2
Tanner Scott 14.0 22.3 2
Jared Koenig 32.2 22.0 3
Yerry De los Santos 21.7 20.0 2

Players With Poor Balance
Player Rolling_CStr% Rolling_Chase% Days of Poor Performance
David Robertson 7.7 12.9 -16
Carlos Hernández 0.0 4.0 -2
Trey Yesavage 23.1 16.2 -1
Joe Rock 31.8 18.5 -1
Andrew Hoffmann 12.8 0.0 -2

The results focus on a pitcher’s most recent stretch. For example, Emilio Pagán has had one of his best K-BB% (22.4%) marks of his career this season, and in his last five games, it’s been even better (26.3%). He’s had recent success thanks to his four-seam and splitter working in unison.

Is there more to do? Always. I’ve only compared fastball called strike rates with offspeed chase rates, but all of these plate discipline metrics could be compared for balance. For example, it may be better to have a balanced swinging strike rate and chase rate. But, fundamental to this analysis is the assumption that it’s hard to get anywhere without a fastball and offspeed pitch that work well together. Does it mean anything? Is the balance even predictive of future success? Maybe, maybe not. What it certainly can do, as I believe I’ve exemplified here, is explain a pitcher’s success or lack thereof. If you are interested in doing this analysis on your own without spending hours calling and pinging pybaseball’s API, you can view pitch-specific plate discipline metrics on our new and totally awesome Pitch-Type Splits Leaderboards. Stay balanced, stay cool.


Ottoneu Drip: Last-Minute Pitchers to Add: September 23, 2025

Credit: Charles LeClaire-Imagn Images

The search for pitching help is never ending. Between injuries and ineffectiveness, fantasy players are always on the lookout for pitchers who are performing well who can provide some reinforcements. The final week of the season is upon us. Hitting your innings pitched cap in Ottoneu leagues is one of the most important ways you can maximize your roster to its fullest extent. And because it’s a soft cap, you can stack as many starters as you can on the day you’ll hit the cap, and you’ll receive all the points from those pitchers.

If you’re planning ahead, you might want to think about adding one or two of the following under-rostered pitchers for their start during the final weekend of the season if you can line everything up correctly. Here are 12 starters who are rostered in less than 60% of all Ottoneu leagues who have a good matchup this weekend.

Last-Minute Starters, Last 14 Days
Player Team IP FIP K-BB% Pts/IP Roster% Weekend Opponent
Joey Wentz ATL 9 1.48 22.0% 5.60 10.1% PIT
Kyle Harrison BOS 9 2.59 13.5% 5.93 54.7% DET
Jameson Taillon CHC 17.1 2.80 7.5% 5.77 38.8% STL
Colin Rea CHC 12.1 0.55 34.0% 7.68 26.0% STL
Slade Cecconi CLE 20.2 3.05 14.1% 6.76 48.0% TEX
Kyle Freeland COL 17.1 2.34 12.8% 4.87 5.5% @SFG
AJ Blubaugh HOU 10.1 1.40 27.8% 8.41 8.9% @LAA
Chad Patrick MIL 10.2 2.77 23.3% 5.57 48.9% CIN
Walker Buehler PHI 8.2 3.15 8.1% 5.18 22.6% MIN
Mike Burrows PIT 12.1 1.20 26.0% 6.80 30.6% @ATL
Kai-Wei Teng SFG 7 4.86 25.8% 4.67 6.1% COL
Trevor McDonald SFG 8 2.90 5.9% 4.73 0.0% COL

Atlanta might have one of the easiest matchups this weekend as they host the punchless Pirates. Joey Wentz has been serviceable while eating up innings on Atlanta’s injury depleted pitching staff. He isn’t pitching deep into games but over his last two starts, he’s run a 4.0 strikeout-to-walk ratio with 12 Ks in nine innings.

Now that Payton Tolle has been shifted to the bullpen for the remainder of the season, Kyle Harrison has taken his place in the starting rotation. He looked excellent in his first start with Boston on Saturday, pitching six innings of one-run ball against the Rays while striking out five. His scheduled start this weekend comes against a struggling and desperate Tigers ballclub.

The Cardinals have posted a .289 wOBA over the last 14 days, 22nd in baseball. They’re pretty punchless with both Willson Contreras and Masyn Winn sidelined for the rest of the season. Colin Rea and Jameson Taillon have had their ups and downs this year but the matchup looks good enough to think about streaming them for their final starts of the season.

Like the rest of the Guardians pitching staff, Slade Cecconi has been excellent over the last few weeks. He’s allowed just two runs in 20.2 innings across his previous three starts with a 3.0 strikeout-to-walk ratio. Cleveland will be fighting for a chance to sneak into the playoffs this weekend and the Rangers offense hasn’t been very good in September.

The Giants-Rockies series in San Francisco this weekend looks like it’s ripe for plenty of pitching points. Neither team has been very good offensively and the ballpark is a haven for pitchers. For Colorado, Kyle Freeland is probably the one starter worth looking at unless you want to risk starting Germán Márquez. For San Francisco, the options are two rookies in Kai-Wei Teng and Trevor McDonald. Neither has an impressive track record, but the matchup might be too juicy to pass up.

AJ Blubaugh has bounced between the rotation and the bullpen for the Astros down the stretch but he’ll likely get an opportunity to start against the Angels this weekend. He hasn’t allowed a run since a four inning bulk relief appearance back on August 23, a stretch of 17 scoreless innings. During this scoreless streak, he’s posted a very impressive 7.5 strikeout-to-walk ratio and has allowed just five hits.

Chad Patrick was a critical piece of the Brewers starting rotation earlier this year while they dealt with numerous injuries on their pitching staff. Once the team got healthy, Patrick was relegated to the minor leagues, but the injury bug has struck again and he’s now back with the team providing solid innings out of the rotation and the bullpen. Since being recalled in mid-August, he’s provided a 3.72 FIP in 21 innings while posting a very good 3.4 strikeout-to-walk ratio.

Walker Buehler’s season has been a disaster but he’s at least looked serviceable with the Phillies since joining the club in September. You’ve really got to trust that Philadelphia identified and fixed whatever issues were plaguing him in Boston. At least the matchup against the Twins doesn’t look too bad.

Mike Burrows has been a frequent recommendation in this column this year. After some struggles in July and early August, he’s been absolutely fantastic down the stretch. Across his last six outings — two four starts and two bulk relief outings — he’s posted a 1.60 FIP and allowed five runs in 21.1 innings. His strikeout-to-walk ratio during this stretch has been an absolutely fantastic 6.0. He’s been piggybacked with another one of Pittsburgh’s young pitchers in each of his last three starts so he’s not getting very deep into games, but the high quality of his innings means he’s racking up the points in September.


Ottoneu Starting Pitching Planner: September 22–28

Credit: Geoff Burke-Imagn Images

Welcome to the final Ottoneu Starting Pitching Planner of the season. Based on the Roster Resource Probables Grid, I’ve organized every starter slated to start next week into four categories: start, maybe, risky, and sit. The first and last category are pretty self-explanatory. Starters who fall into the “maybe” category are guys you could start if you need to keep up with the innings pitched pace in points leagues or need to hit your games started cap in head-to-head leagues; they’re good bets to turn in a decent start, but you shouldn’t automatically insert them into your lineup. If you’ve fallen behind on the innings pitched pace or you’re really starving for starts in a head-to-head matchup, you could turn to a “risky” starter or two.

I’ve also calculated a “Matchup Score” for each series using a straight combination of opponent’s home/away wOBA, opponent wOBA over the last 14 days, and the park factor for the ballpark the teams are playing in. It’s indexed so that 100 is average and anything above that is a favorable matchup and anything below is unfavorable. That matchup rating informs some of the sit/start recommendations I’m making, though the quality of the pitcher definitely takes precedence. I should also note that I’ve updated the way I’m calculating the park factors for the two new minor league stadiums that the Athletics and Rays are playing in this year; I’m taking the one-year park factors from Statcast and regressing them towards neutral, with the one-year factors increasing in weight as more games are played in those stadiums (those series are still marked in yellow below).

September 22–28
Team Series 1 Matchup Series 2 Matchup Start Maybe Risky Sit
ARI LAD (71) @SDP (98) Brandon Pfaadt (x2), Ryne Nelson, Zac Gallen Eduardo Rodriguez Nabil Crismatt
ATH HOU (51) KCR (66) J.T. Ginn, Luis Severino, Luis Morales Mason Barnett (x2), Jeffrey Springs
ATL WSN (112) PIT (157) Chris Sale (x2), Hurston Waldrep, Spencer Strider Bryce Elder, Joey Wentz
BAL TBR (143) @NYY (63) Tyler Wells, Trevor Rogers, Kyle Bradish Dean Kremer, Cade Povich Tomoyuki Sugano
BOS @TOR (83) DET (108) Garrett Crochet Lucas Giolito (x2), Connelly Early Brayan Bello, Kyle Harrison
CHC NYM (100) STL (161) Cade Horton (x2), Matthew Boyd Shota Imanaga Colin Rea, Jameson Taillon
CHW @NYY (63) @WSN (145) Shane Smith (@WSN) Smith (@NYY), Sean Burke Martín Pérez, Davis Martin, Yoendrys Gómez
CIN PIT (126) @MIL (68) Hunter Greene, Nick Lodolo Brady Singer (vPIT), Andrew Abbott Singer (@MIL) Zack Littell
CLE DET (131) TEX (116) Gavin Williams, Tanner Bibee, Parker Messick Joey Cantillo Logan Allen로건, Slade Cecconi
COL @SEA (100) @SFG (167) Kyle Freeland McCade Brown (x2), Tanner Gordon, Bradley Blalock, Germán Márquez
DET @CLE (131) @BOS (69) Jack Flaherty (@CLE), Tarik Skubal Flaherty (@BOS) Charlie Morton, Casey Mize Keider Montero
HOU @ATH (20) @LAA (107) Hunter Brown Framber Valdez, Cristian Javier (@LAA) Javier (@ATH), Jason Alexander AJ Blubaugh
KCR @LAA (107) @ATH (20) Cole Ragans (@LAA) Stephen Kolek, Michael Wacha, Ragans (@ATH) Michael Lorenzen, Noah Cameron
LAA KCR (76) HOU (61) José Soriano, Yusei Kikuchi Caden Dana, Sam Aldegheri, Mitch Farris, Kyle Hendricks
LAD @ARI (65) @SEA (100) Shohei Ohtani, Blake Snell, Yoshinobu Yamamoto, Tyler Glasnow Clayton Kershaw, Emmet Sheehan
MIA @PHI (29) NYM (80) Sandy Alcantara, Eury Pérez Ryan Weathers (x2), Janson Junk Adam Mazur
MIL @SDP (98) CIN (117) Freddy Peralta, Brandon Woodruff, Jacob Misiorowski Quinn Priester, Chad Patrick, Robert Gasser
MIN @TEX (121) @PHI (29) Pablo López Joe Ryan Zebby Matthews, Taj Bradley, Bailey Ober Simeon Woods Richardson
NYM @CHC (87) @MIA (97) Brandon Sproat, Nolan McLean David Peterson (x2), Jonah Tong, Clay Holmes
NYY CHW (125) BAL (134) Max Fried, Carlos Rodón, Cam Schlittler Luis Gil (x2), Will Warren
PHI MIA (70) MIN (79) Ranger Suárez, Cristopher Sánchez, Jesús Luzardo Walker Buehler, Taijuan Walker, Aaron Nola
PIT @CIN (81) @ATL (95) Paul Skenes Braxton Ashcraft, Mitch Keller, Bubba Chandler, Mike Burrows Johan Oviedo
SDP MIL (59) ARI (70) Nick Pivetta (x2), Dylan Cease, Michael King Yu Darvish Randy Vásquez
SEA COL (178) LAD (83) Luis Castillo, Bryan Woo, George Kirby, Logan Gilbert Bryce Miller (x2)
SFG STL (169) COL (182) Logan Webb, Robbie Ray Justin Verlander (x2) Kai-Wei Teng Carson Whisenhunt (?)
STL @SFG (167) @CHC (87) Sonny Gray Michael McGreevy (x2) Andre Pallante, Miles Mikolas, Matthew Liberatore
TBR @BAL (128) @TOR (83) Ian Seymour (x2), Drew Rasmussen, Ryan Pepiot Shane Baz, Adrian Houser
TEX MIN (80) @CLE (131) Merrill Kelly 켈리 (x2), Jacob deGrom, Jack Leiter Tyler Mahle Patrick Corbin
TOR BOS (92) TBR (130) Kevin Gausman, Shane Bieber Max Scherzer, Trey Yesavage José Berríos, Chris Bassitt
WSN @ATL (95) CHW (139) MacKenzie Gore Brad Lord, Cade Cavalli Jake Irvin (x2), Andrew Alvarez, Mitchell Parker

Ottoneu Starting Pitching Planner: September 15–21

Credit: James A. Pittman-Imagn Images

Welcome back to the Ottoneu Starting Pitching Planner. Based on the Roster Resource Probables Grid, I’ve organized every starter slated to start next week into four categories: start, maybe, risky, and sit. The first and last category are pretty self-explanatory. Starters who fall into the “maybe” category are guys you could start if you need to keep up with the innings pitched pace in points leagues or need to hit your games started cap in head-to-head leagues; they’re good bets to turn in a decent start, but you shouldn’t automatically insert them into your lineup. If you’ve fallen behind on the innings pitched pace or you’re really starving for starts in a head-to-head matchup, you could turn to a “risky” starter or two.

I’ve also calculated a “Matchup Score” for each series using a straight combination of opponent’s home/away wOBA, opponent wOBA over the last 14 days, and the park factor for the ballpark the teams are playing in. It’s indexed so that 100 is average and anything above that is a favorable matchup and anything below is unfavorable. That matchup rating informs some of the sit/start recommendations I’m making, though the quality of the pitcher definitely takes precedence. I should also note that I’ve updated the way I’m calculating the park factors for the two new minor league stadiums that the Athletics and Rays are playing in this year; I’m taking the one-year park factors from Statcast and regressing them towards neutral, with the one-year factors increasing in weight as more games are played in those stadiums (those series are still marked in yellow below).

September 15–21
Team Series 1 Matchup Series 2 Matchup Start Maybe Risky Sit
ARI SFG (72) PHI (89) Zac Gallen (x2), Brandon Pfaadt, Ryne Nelson Eduardo Rodriguez, Nabil Crismatt
ATH @BOS (60) @PIT (158) Luis Severino, Luis Morales J.T. Ginn, Jeffrey Springs (@PIT) Springs (@BOS), Mason Barnett
ATL @WSN (138) @DET (79) Chris Sale, Hurston Waldrep Spencer Strider (x2) Bryce Elder, Joey Wentz Dane Dunning (?)
BAL @CHW (108) NYY (104) Kyle Bradish (x2), Trevor Rogers Tyler Wells Cade Povich, Dean Kremer, Tomoyuki Sugano
BOS ATH (45) @TBR (55) Garrett Crochet Lucas Giolito Connelly Early (x2), Brayan Bello, Payton Tolle
CHC @PIT (158) @CIN (63) Cade Horton (x2), Matthew Boyd Shota Imanaga Jameson Taillon (x2), Colin Rea
CHW BAL (120) SDP (101) Sean Burke (x2), Shane Smith, Martín Pérez Davis Martin, Yoendrys Gómez
CIN @STL (166) CHC (37) Andrew Abbott (@STL), Hunter Greene Brady Singer, Nick Lodolo, Abbott (vCHC) Zack Littell (x2)
CLE @DET (79) @MIN (99) Gavin Williams, Tanner Bibee Joey Cantillo, Logan Allen로건, Parker Messick, John Means (?), Slade Cecconi
COL MIA (72) LAA (108) Kyle Freeland (x2), McCade Brown, Tanner Gordon, Antonio Senzatela, Germán Márquez
DET CLE (163) ATL (163) Jack Flaherty, Tarik Skubal Casey Mize (x2), Charlie Morton Sawyer Gipson-Long
HOU TEX (140) SEA (51) Hunter Brown, Framber Valdez Cristian Javier Jason Alexander (vTEX) Alexander (vSEA), AJ Blubaugh
KCR SEA (44) TOR (61) Michael Wacha (x2) Stephen Kolek, Michael Lorenzen, Ryan Bergert, Noah Cameron
LAA @MIL (75) @COL (77) José Soriano, Yusei Kikuchi Kyle Hendricks (x2), Mitch Farris, Caden Dana
LAD PHI (73) SFG (56) Shohei Ohtani (x2), Blake Snell, Yoshinobu Yamamoto, Tyler Glasnow Emmet Sheehan, Clayton Kershaw
MIA @COL (77) @TEX (151) Sandy Alcantara Eury Pérez (x2), Ryan Weathers, Janson Junk Adam Mazur
MIL LAA (130) @STL (166) Freddy Peralta (x2), Brandon Woodruff, Jacob Misiorowski Jose Quintana, Quinn Priester
MIN NYY (87) CLE (145) Pablo López, Joe Ryan Simeon Woods Richardson (x2), Zebby Matthews, Taj Bradley, Bailey Ober
NYM SDP (133) WSN (119) Clay Holmes, David Peterson, Nolan McLean Sean Manaea, Jonah Tong, Brandon Sproat
NYY @MIN (99) @BAL (118) Carlos Rodón (x2), Max Fried Cam Schlittler (x2), Will Warren Luis Gil
PHI @LAD (85) @ARI (115) Ranger Suárez, Cristopher Sánchez Jesús Luzardo Taijuan Walker, Aaron Nola Walker Buehler
PIT CHC (74) ATH (62) Paul Skenes (x2) Mitch Keller Johan Oviedo, Bubba Chandler, Mike Burrows
SDP @NYM (71) @CHW (108) Nick Pivetta Michael King (x2), Dylan Cease Yu Darvish Randy Vásquez
SEA @KCR (162) @HOU (126) Logan Gilbert (x2), Bryan Woo, George Kirby Bryce Miller, Luis Castillo
SFG @ARI (115) @LAD (85) Logan Webb Justin Verlander, Robbie Ray Carson Whisenhunt (x2), Carson Seymour (x2)
STL CIN (142) MIL (75) Sonny Gray Michael McGreevy Matthew Liberatore (x2), Andre Pallante, Miles Mikolas
TBR TOR (33) BOS (50) Drew Rasmussen Ryan Pepiot (x2) Ian Seymour (x2), Shane Baz, Adrian Houser
TEX @HOU (126) MIA (96) Jacob deGrom Jack Leiter (x2), Merrill Kelly 켈리 Tyler Mahle (?) Patrick Corbin
TOR @TBR (55) @KCR (162) Kevin Gausman (x2), Shane Bieber José Berríos (x2), Chris Bassitt, Max Scherzer
WSN ATL (147) @NYM (71) MacKenzie Gore, Brad Lord Cade Cavalli Mitchell Parker (x2), Jake Irvin, Andrew Alvarez

OOPSY’s Top 60 Prospects, Final 2025 Update

Brett Davis-Imagn Images

With the season nearly complete, this article takes a final look at OOPSY’s projections-based top 60 prospects in an effort to give readers a jump start on the offseason.

Read the rest of this entry »


Pitcher Playing Time Changes: September 5, 2025

Jim Rassol – Imagn Images

Happy Friday, and welcome to the first Pitcher Playing Time Changes rundown of September! As always, there’s a lot to go over, with the injury hits continuing to come and teams like the Mets making significant rotation changes.

Change in Projected % of Team’s Remaining GS, 8/29 to 9/5
Name Team Old PT New PT PT Change Reason
Andrew Alvarez WSN 1% 14% 13% Welcome to MLB!
Sawyer Gipson-Long DET 2% 15% 13% Back from IL
Kai-Wei Teng SFG 4% 13% 9% Took Whisenhunt’s spot
Valente Bellozo MIA 1% 10% 9% Moving to rotation
Caden Dana LAA 8% 16% 8% Took Anderson’s spot
Luis Severino ATH 10% 18% 8% Back from IL
Pablo López MIN 11% 17% 6% Back from IL
Jason Alexander HOU 11% 16% 5% Keeping rotation spot with Arrighetti out
Adam Mazur MIA 8% 13% 5% Up from AAA
Carson Seymour SFG 6% 11% 5% Holding onto rotation spot
Brandon Sproat NYM 1% 6% 5% Making MLB debut Sunday
Luis Garcia HOU 8% 13% 5% Back from IL
Mike Burrows PIT 18% 13% -5% Back inbullpen hybrid/piggyback role
Roki Sasaki LAD 6% 0% -6% Still struggling on rehab, probably won’t have a spot
Jack Kochanowicz LAA 10% 3% -7% Optioned to AAA
Carson Whisenhunt SFG 14% 5% -9% Back strain
Kodai Senga NYM 18% 8% -10% Getting skipped, could be optioned to AAA
Mick Abel MIN 13% 2% -11% Optioned to AAA
MacKenzie Gore WSN 19% 6% -13% Shoulder inflammation
Spencer Arrighetti HOU 14% 0% -14% Elbow inflammation probably ends regular season
Chris Paddack DET 17% 2% -15% Moved to bullpen
Aaron Civale CHC 19% 3% -16% In bullpen after waiver claim
Edward Cabrera MIA 18% 0% -18% Elbow sprain almost certainly ends year
Tyler Anderson LAA 19% 0% -19% Probably done for year with oblique strain

 

 

Change in Projected % of RP IP, 8/29 to 9/5
Name Team PT Change Reason
Joel Payamps MIL 425% Contract selected
Roansy Contreras COL 317% Claimed from BAL, should get long look
Kyle Harrison BOS 225% Path back to MLB this year is likelier as RP
Tylor Megill NYM 92% Return is likelier to be as RP than SP at this point
Trevor Megill MIL 79% Should return after minimum IL stay
Chris Martin TEX 68% Back from IL
Trey Yesavage TOR 67% Could make playoff roster as RP
Fraser Ellard CHW 49% Back from AAA
Ryan Brasier CHC 47% Starting rehab assignment
Alex Vesia LAD 39% Began rehab assignment
Michael Soroka CHC 36% Throwing 95 in bullpen session, could be relief weapon when healthy
Ryan Thompson ARI 36% Back from IL
Dustin May BOS 33% Moved to bullpen/hybrid role
Alex Cobb DET 33% If he (finally) makes Tigers debut, will be as RP
Chris Murphy BOS 33% Back from AAA
Robert Gasser MIL 32% Moved to bullpen on rehab
Brock Stewart LAD -33% Cortisone injection stalls rehab
Jordan Hicks BOS -35% Shoulder injury
Sam Moll CIN -41% Optioned to AAA
James McArthur KCR -100% Still not on rehab, season looks over
Shelby Miller MIL -100% Likely needs TJ
Yimi García TOR -100% Season-ending elbow surgery
Carson Fulmer LAA -100% Moved to 60-day IL
Jason Adam SDP -100% Season-ending knee injury
Tyler Zuber MIA -100% Moved to 60-day IL
Randy Rodríguez SFG -100% Elbow sprain, recommended for TJ
Beau Brieske DET -100% Shut down for season with elbow injury

Ottoneu Starting Pitching Planner: September 8–14

Credit: Sergio Estrada-Imagn Images

Welcome back to the Ottoneu Starting Pitching Planner. Based on the Roster Resource Probables Grid, I’ve organized every starter slated to start next week into four categories: start, maybe, risky, and sit. The first and last category are pretty self-explanatory. Starters who fall into the “maybe” category are guys you could start if you need to keep up with the innings pitched pace in points leagues or need to hit your games started cap in head-to-head leagues; they’re good bets to turn in a decent start, but you shouldn’t automatically insert them into your lineup. If you’ve fallen behind on the innings pitched pace or you’re really starving for starts in a head-to-head matchup, you could turn to a “risky” starter or two.

I’ve also calculated a “Matchup Score” for each series using a straight combination of opponent’s home/away wOBA, opponent wOBA over the last 14 days, and the park factor for the ballpark the teams are playing in. It’s indexed so that 100 is average and anything above that is a favorable matchup and anything below is unfavorable. That matchup rating informs some of the sit/start recommendations I’m making, though the quality of the pitcher definitely takes precedence. I should also note that I’ve updated the way I’m calculating the park factors for the two new minor league stadiums that the Athletics and Rays are playing in this year; I’m taking the one-year park factors from Statcast and regressing them towards neutral, with the one-year factors increasing in weight as more games are played in those stadiums (those series are still marked in yellow below).

September 8–14
Team Series 1 Matchup Series 2 Matchup Start Maybe Risky Sit
ARI @SFG (110) @MIN (97) Zac Gallen Brandon Pfaadt, Ryne Nelson Nabil Crismatt (x2), Eduardo Rodriguez
ATH BOS (40) CIN (82) Luis Severino, Luis Morales (vCIN) Morales (vBOS), J.T. Ginn Jeffrey Springs, Mason Barnett
ATL CHC (68) HOU (77) Chris Sale Hurston Waldrep, Spencer Strider Joey Wentz (x2) Bryce Elder
BAL PIT (123) @TOR (46) Kyle Bradish, Trevor Rogers Tyler Wells, Cade Povich, Dean Kremer Tomoyuki Sugano
BOS @ATH (61) NYY (30) Garrett Crochet (x2) Payton Tolle Dustin May, Lucas Giolito, Brayan Bello
CHC @ATL (109) TBR (114) Cade Horton, Matthew Boyd Shota Imanaga (x2) Jameson Taillon (?), Colin Rea
CHW TBR (83) @CLE (169) Martín Pérez Yoendrys Gómez (x2), Shane Smith Jonathan Cannon, Davis Martin
CIN @SDP (117) @ATH (61) Nick Lodolo (@SDP), Andrew Abbott Hunter Greene, Lodolo (@ATH) Brady Singer Zack Littell
CLE KCR (122) CHW (122) Gavin Williams, Tanner Bibee, Parker Messick Slade Cecconi (x2), Joey Cantillo, Logan Allen로건
COL @LAD (72) @SDP (117) Chase Dollander (x2), Germán Márquez (x2), Kyle Freeland, McCade Brown, Tanner Gordon
DET @NYY (41) @MIA (136) Tarik Skubal Jack Flaherty, Charlie Morton Casey Mize Sawyer Gipson-Long (x2)
HOU @TOR (46) @ATL (109) Hunter Brown, Framber Valdez Jason Alexander (x2), Cristian Javier, Luis Garcia
KCR @CLE (169) @PHI (50) Michael Wacha Ryan Bergert (@CLE), Noah Cameron (@CLE), Seth Lugo Michael Lorenzen, Bergert (@PHI), Cameron (@PHI)
LAA MIN (92) @SEA (144) Yusei Kikuchi José Soriano Caden Dana (x2), Kyle Hendricks (x2), Mitch Farris
LAD COL (146) @SFG (110) Shohei Ohtani, Blake Snell, Tyler Glasnow, Yoshinobu Yamamoto Clayton Kershaw, Emmet Sheehan
MIA WSN (112) DET (95) Sandy Alcantara Janson Junk (?), Eury Pérez (x2), Ryan Weathers (?) Adam Mazur
MIL @TEX (92) STL (136) Freddy Peralta, Brandon Woodruff, Jacob Misiorowski Jose Quintana (x2), Quinn Priester
MIN @LAA (120) ARI (97) Joe Ryan, Pablo López Simeon Woods Richardson (x2), Zebby Matthews, Bailey Ober
NYM @PHI (50) TEX (93) Nolan McLean, Clay Holmes, David Peterson, Jonah Tong, Sean Manaea (vTEX) Manaea (@PHI), Brandon Sproat
NYY DET (88) @BOS (53) Max Fried Carlos Rodón, Cam Schlittler Will Warren (x2), Luis Gil
PHI NYM (37) KCR (104) Cristopher Sánchez Ranger Suárez, Jesús Luzardo Aaron Nola (x2), Taijuan Walker Walker Buehler (?)
PIT @BAL (93) @WSN (144) Braxton Ashcraft (x2), Paul Skenes Mitch Keller Johan Oviedo, Carmen Mlodzinski
SDP CIN (121) COL (159) Nick Pivetta, Michael King, Dylan Cease Yu Darvish (vCOL) Darvish (vCIN), Nestor Cortes (x2)
SEA STL (164) LAA (151) Bryan Woo (x2), George Kirby (x2), Logan Gilbert Bryce Miller, Luis Castillo
SFG ARI (121) LAD (123) Logan Webb (x2) Robbie Ray, Justin Verlander Carson Whisenhunt Carson Seymour
STL @SEA (144) @MIL (72) Michael McGreevy, Sonny Gray Miles Mikolas (x2), Matthew Liberatore, Andre Pallante
TBR @CHW (107) @CHC (117) Ryan Pepiot, Drew Rasmussen Ian Seymour Adrian Houser (x2), Shane Baz
TEX MIL (47) @NYM (61) Jacob deGrom Jack Leiter, Merrill Kelly 켈리 Jacob Latz (x2), Patrick Corbin
TOR HOU (80) BAL (112) Shane Bieber, Kevin Gausman José Berríos (x2), Max Scherzer, Chris Bassitt
WSN @MIA (136) PIT (110) Cade Cavalli (x2) Brad Lord Mitchell Parker (x2), Jake Irvin, Andrew Alvarez

Ottoneu Starting Pitching Planner: September 1–7

Credit: Mark Hoffman-Imagn Images

Welcome back to the Ottoneu Starting Pitching Planner. Based on the Roster Resource Probables Grid, I’ve organized every starter slated to start next week into four categories: start, maybe, risky, and sit. The first and last category are pretty self-explanatory. Starters who fall into the “maybe” category are guys you could start if you need to keep up with the innings pitched pace in points leagues or need to hit your games started cap in head-to-head leagues; they’re good bets to turn in a decent start, but you shouldn’t automatically insert them into your lineup. If you’ve fallen behind on the innings pitched pace or you’re really starving for starts in a head-to-head matchup, you could turn to a “risky” starter or two.

I’ve also calculated a “Matchup Score” for each series using a straight combination of opponent’s home/away wOBA, opponent wOBA over the last 14 days, and the park factor for the ballpark the teams are playing in. It’s indexed so that 100 is average and anything above that is a favorable matchup and anything below is unfavorable. That matchup rating informs some of the sit/start recommendations I’m making, though the quality of the pitcher definitely takes precedence. I should also note that I’ve updated the way I’m calculating the park factors for the two new minor league stadiums that the Athletics and Rays are playing in this year; I’m taking the one-year park factors from Statcast and regressing them towards neutral, with the one-year factors increasing in weight as more games are played in those stadiums (those series are still marked in yellow below).

September 1–7
Team Series 1 Matchup Series 2 Matchup Start Maybe Risky Sit
ARI TEX (93) BOS (114) Ryne Nelson (x2), Zac Gallen, Brandon Pfaadt Eduardo Rodriguez Nabil Crismatt
ATH @STL (146) @LAA (125) Luis Morales (x2) Luis Severino, Jeffrey Springs, J.T. Ginn Osvaldo Bido
ATL @CHC (151) SEA (75) Spencer Strider, Chris Sale Joey Wentz, Hurston Waldrep Cal Quantrill, Bryce Elder
BAL @SDP (123) LAD (109) Kyle Bradish, Trevor Rogers Tyler Wells (?), Cade Povich, Dean Kremer, Tomoyuki Sugano
BOS CLE (154) @ARI (91) Garrett Crochet Brayan Bello (x2), Payton Tolle, Lucas Giolito Dustin May
CHC ATL (102) WSN (137) Shota Imanaga, Cade Horton, Matthew Boyd Colin Rea (vWSN) Rea (vATL), Javier Assad
CHW @MIN (109) @DET (84) Aaron Civale (x2), Shane Smith, Martín Pérez Davis Martin (x2), Yoendrys Gómez
CIN TOR (26) NYM (21) Hunter Greene (x2), Nick Lodolo, Andrew Abbott Brady Singer Zack Littell
CLE @BOS (86) @TBR (77) Parker Messick (x2), Gavin Williams, Tanner Bibee Logan Allen로건 Slade Cecconi (x2)
COL SFG (68) SDP (84) Chase Dollander, Kyle Freeland, Germán Márquez, McCade Brown, Tanner Gordon
DET NYM (72) CHW (131) Jack Flaherty, Tarik Skubal Charlie Morton (x2) Casey Mize, Chris Paddack
HOU NYY (41) @TEX (96) Framber Valdez, Hunter Brown Luis Garcia (?), Jason Alexander, Cristian Javier, Spencer Arrighetti
KCR LAA (123) MIN (123) Michael Wacha Michael Lorenzen (x2), Noah Cameron Ryan Bergert, Seth Lugo
LAA @KCR (97) ATH (48) Yusei Kikuchi (x2), José Soriano Tyler Anderson, Kyle Hendricks, Caden Dana (?)
LAD @PIT (116) @BAL (123) Shohei Ohtani, Blake Snell, Tyler Glasnow, Yoshinobu Yamamoto Emmet Sheehan, Clayton Kershaw
MIA @WSN (148) PHI (91) Eury Pérez, Edward Cabrera, Sandy Alcantara Ryan Gusto (x2), Adam Mazur
MIL PHI (88) @PIT (116) Jacob Misiorowski (x2), Freddy Peralta, Brandon Woodruff Jose Quintana, Quinn Priester
MIN CHW (113) @KCR (97) Joe Ryan Zebby Matthews, Pablo López (?) Bailey Ober (x2), Simeon Woods Richardson, Mick Abel
NYM @DET (84) @CIN (103) Nolan McLean, David Peterson Sean Manaea (x2), Clay Holmes Tylor Megill (?), Kodai Senga
NYY @HOU (151) TOR (47) Max Fried (x2) Will Warren, Carlos Rodón Cam Schlittler, Luis Gil
PHI @MIL (90) @MIA (147) Ranger Suárez, Cristopher Sánchez, Jesús Luzardo Taijuan Walker (x2), Aaron Nola
PIT LAD (92) MIL (67) Paul Skenes Mitch Keller Mike Burrows (x2), Braxton Ashcraft Johan Oviedo
SDP BAL (151) @COL (79) Dylan Cease (vBAL) Yu Darvish, Nestor Cortes, Nick Pivetta, Cease (@COL) Michael King (?)
SEA @TBR (77) @ATL (82) Bryan Woo, George Kirby, Logan Gilbert Luis Castillo (x2), Bryce Miller
SFG @COL (79) @STL (146) Logan Webb, Justin Verlander Robbie Ray, Keaton Winn (?) Carson Whisenhunt (x2)
STL ATH (90) SFG (118) Sonny Gray (x2) Michael McGreevy Miles Mikolas, Matthew Liberatore, Andre Pallante
TBR SEA (47) CLE (140) Drew Rasmussen, Ryan Pepiot Shane Baz (vCLE) Baz (vSEA), Adrian Houser, Ian Seymour
TEX @ARI (91) HOU (112) Jacob deGrom Merrill Kelly 켈리 Jacob Latz, Jack Leiter Patrick Corbin (x2)
TOR @CIN (103) @NYY (37) Shane Bieber, Kevin Gausman Chris Bassitt, José Berríos, Eric Lauer 라우어, Max Scherzer
WSN MIA (123) @CHC (151) MacKenzie Gore (x2), Brad Lord Cade Cavalli, Mitchell Parker, Jake Irvin

Pitcher Playing Time Changes: August 29, 2025

Dale Zanine – Imagn Images

Happy Friday, and welcome to the last Pitcher Playing Time Changes of August! We’re running out of time on the regular season, which means a lot of pitchers are running out of time to return from injuries. Others, however, like Chris Sale, will come back and at least get the consolation prize of ending the year healthy and having pitched in MLB games.

Change in Projected % of Team’s Remaining GS, 8/22 to 8/29
Name Team Old PT New PT PT Change Reason
Luis Morales ATH 1% 16% 15% Excelling in rotation
Osvaldo Bido ATH 1% 12% 11% Moved to rotation
Tanner Gordon COL 6% 17% 11% Took Senzatela’s rotation spot
Tyler Wells BAL 2% 11% 9% Returning from IL on Tuesday
Chris Sale ATL 12% 19% 7% Back from IL on Saturday
Ian Seymour TBR 3% 10% 7% Took Boyle’s rotation spot
Kumar Rocker TEX 6% 12% 6% Helping to cover for Eovaldi
Jacob Latz TEX 1% 7% 6% Helping to cover for Eovaldi
Nick Lodolo CIN 11% 17% 6% Back from IL
Ryan Weathers MIA 5% 10% 5% Nearing return from IL
Germán Márquez COL 13% 18% 5% Back from IL
Javier Assad CHC 4% 9% 5% Taking Taillon’s spot
Mick Abel MIN 8% 13% 5% Recalled from AAA
Lance McCullers Jr. HOU 15% 10% -5% Temporary moved to bullpen
Tylor Megill NYM 7% 2% -5% Fit in rotation when healthy is unclear
Joey Estes ATH 8% 3% -5% Herniated disc
Cal Quantrill ATL 16% 11% -5% Could lose spot to Sale after rough performance
Ryan Gusto MIA 13% 7% -6% Could lose spot to Weathers when he returns
Victor Mederos LAA 8% 1% -7% Shoulder inflammation
Jameson Taillon CHC 18% 11% -7% Groin strain, should be minimum IL stay
Joe Boyle TBR 15% 6% -9% Optioned to minors
Brandon Young BAL 11% 0% -11% Moved to 60-day IL, done for year
Walker Buehler BOS 14% 2% -12% Moved to bullpen
Jack Perkins ATH 16% 3% -13% Shoulder strain
Antonio Senzatela COL 17% 2% -15% Moved to bullpen
Austin Gomber COL 19% 0% -19% DFA’d
Nathan Eovaldi TEX 19% 0% -19% Rotator cuff strain, done for year
Jacob Lopez ATH 19% 0% -19% Flexor strain, probably done for year

 

% Change in Projected RP IP, 8/22 to 8/29
Name Team PT Change Reason
Alek Manoah TOR 333% Bullpen might be the only spot for him when off IL
Kevin Herget NYM 213% Recalled from AAA
Emerson Hancock SEA 200% Recalled from AAA, in bullpen for first time
Chayce McDermott BAL 183% Moved to bullpen in AAA, has impressed
Walker Buehler BOS 100% Moved to bullpen
Brian Van Belle TBR 86% Recalled from AAA
Dauri Moreta PIT 63% Recalled from AAA
Justin Bruihl TOR 37% Recalled from AAA
Yimi García TOR -31% Running out of time to get healthy
Richard Fitts BOS -32% Nerve irritation
Jordan Romano PHI -32% Finger inflammation
Nick Sandlin TOR -33% Running out of time to get healthy
Kyle Harrison BOS -33% Hasn’t impressed enough in AAA
Brant Hurter DET -42% Optioned to AAA
Osvaldo Bido ATH -43% Moved to rotation
Alex Vesia LAD -45% Oblique strain
Ryan Brasier CHC -47% Groin strain
Drew Rasmussen TBR -47% Should stick in rotation despite innings limit
Grant Anderson MIL -49% Ankle tendinitis
Bennett Sousa HOU -49% Elbow inflammation
John Rooney HOU -52% Elbow inflammation
Trevor Megill MIL -56% Mild flexor strain
Graham Ashcraft CIN -57% Forearm strain
Jack Perkins ATH -64% Should stick in rotation
Reed Garrett NYM -74% Elbow inflammation
Randy Rodríguez SFG -78% Elbow sprain
Jonathan Loáisiga NYY -100% Done for year but won’t require surgery
Joe Ross PHI -100% Released
Andrew Heaney PIT -100% DFA’d
Frankie Montas NYM -100% UCL surgery