Things were frenetic during Wednesday’s slate, with Bob Melvin announcing a change at closer for the San Francisco Giants. Camilo Doval will replace Ryan Walker as we advance based on this year’s performance by each reliever.
Wednesday’s full slate was reduced by one with a postponement in Philadelphia, which will be played as a split doubleheader today. Relievers recorded eight wins and nine saves while suffering five losses in yesterday’s 14 contests. Here are the saves in condensed form:
| Reliever | Save # | Pitches | Strike% | SwStr% | K:BB |
| Carlos Estévez | 15 | 16 | 75 | 18.8 | 1:0 |
| Josh Hader | 14 | 22 | 54.5 | 36.4 | 3:1 |
| Ryan Helsley | 12 | 16 | 93.8 | 12.5 | 0:0 |
| Jeff Hoffman | 12 | 14 | 78.6 | 21.4 | 1:0 |
| Emmanuel Clase | 11 | 10 | 80 | 30 | 1:0 |
| Tommy Kahnle | 7 | 17 | 88.2 | 17.6 | 2:0 |
| Daniel Palencia | 4 | 14 | 71.3 | 21.4 | 2:0 |
| Calvin Faucher | 3 | 8 | 62.5 | 0 | 0:0 |
| Mark Leiter Jr. | 2 | 15 | 60 | 6.7 | 2:1 |
For the save streamers, a light and potentially volatile forecast:
Vulture Save Options for May 29
Doubleheader Suggestions
- Atlanta Braves: Preferred option – Pierce Johnson; YOLO – Scott Blewett
- Philadelphia Phillies: Preferred option – Tanner Banks; YOLO – Carlos Hernández
Vulture Save Stashes for May 30
- Chad Green (TOR): If Hoffman pitches today, it’s back-to-back appearances and three in the last four days.
- Bryan King (HOU): If Hader and Abreu are used today, it’s consecutive contests for each reliever.
Three Takeaways
(1) Camilo’s back: Riding a 19-game scoreless streak since April 12, Camilo Doval has reclaimed the closer role in San Francisco. He has recorded two wins, three saves, and seven holds during the streak, with 18 strikeouts against five walks (21.7 K-BB%), a 0.50 WHIP, and a 66.1 strike percentage. Being aggressive in the strike zone will be a key to continued success. Beneath these results, he has allowed 37 batted ball events and only two barrels with a 29.7 hard-hit percentage. Despite being scoreless, he has a 2.70 SIERA over his last 18 innings, with a 15.6 percent swinging strike rate and a 68.5 contact percentage. If these gains stick, he could post 15-to-20 more saves this season. Although Ryan Walker has improved in recent appearances, Bob Melvin preferred having him available for the highest-leverage moments before the ninth inning, which will likely be his role moving forward.
(2) Scott’s recent struggles: Overreacting to small sample outcomes can be detrimental. Tanner Scott has allowed multiple runs in three of his last five appearances, including yesterday’s loss and a blown save in Cleveland. He has experienced a spike in his batting average on balls in play (BABIP), combined with extended outings where injuries have decimated his leverage ladder. Blips like this test a fantasy manager’s patience, but when looking at the results in separate splits, there are not any glaring differences:

Link: https://datawrapper.dwcdn.net/WOT9A/1/
Things will normalize soon, especially when his right-handed complements at the backend of games return.
(3) Finnegan’s available again: Although there was not a save situation for the Nationals during yesterday’s shutout win in Seattle, Kyle Finnegan would have been available if there was:

He had been unavailable with shoulder fatigue and has not pitched since May 22.
Here are the leverage events of interest from Wednesday.
Closer CliffsNotes
Boston Red Sox – Entering with a one-run lead at the bottom of the tenth, Justin Slaten allowed Sal Frelick’s lead-off infield single, putting runners at the corners, followed by Isaac Collins’ fielder’s choice groundball and an error, scoring the “place” runner, tying the game. With runners at second and third, Caleb Durbin produced a walk-off sacrifice fly, resulting in Slaten’s fourth loss and second blown save.
- Aroldis Chapman worked around Christian Yelich’s infield single and recorded a strikeout in a scoreless ninth. He threw 18 pitches (13 strikes – 72.2 Strike%) and produced three whiffs (16.7 SwStr%).
- Hunter Dobbins logged three innings, allowing three hits, two earned runs, and three walks while striking out one during his first blown save.
Hierarchy Remains: Aroldis Chapman | Justin Slaten | Justin Wilson
Chicago Cubs –Nailing down his fourth save, Daniel Palencia fired a clean top of the ninth and recorded two strikeouts during a one-run win over the Rockies. He threw 14 pitches (71.4 Strike%) and produced three whiffs (21.4 SwStr%).

He’s converted a save in each of his last four outings, all scoreless, with five strikeouts while allowing one hit.
- Brad Keller notched his eighth hold, yielding a hit and striking out one in a scoreless appearance.
- Ryan Brasier worked a scoreless seventh, giving up a hit and earning his first hold.
Hierarchy Remains: Daniel Palencia | Brad Keller | Drew Pomeranz
Cleveland Guardians – Shutting the door on his 11th save, Emmanuel Clase fired a clean top of the ninth and recorded one strikeout, finishing the come-from-behind win over the Dodgers. He faced the 6-7-8 lineup pocket, throwing 10 pitches (80 Strike%) with three whiffs (30 SwStr%).

- Matt Festa collected his first win, giving up a hit during a scoreless top of the eighth, ahead of his team’s five-run rally at the bottom of the inning.
- Tim Herrin issued a walk and recorded two outs, permitting an inherited runner to score during the seventh.
- Andrew Walters allowed a hit and an earned run while striking out two across a combined inning.
- Cade Smith gave up a hit, an earned run, and a walk while striking one in his 1.1 innings.
Hierarchy Remains: Emmanuel Clase | Cade Smith | Hunter Gaddis
Detroit Tigers – Taking over with no outs and runners on second and third at the top of the eighth, Tommy Kahnle stranded them by inducing a shallow flyout, recording a strikeout, and then producing an inning-ending groundout. He returned for the ninth and retired the side, securing his seventh save. He retired all six batters, two via strikeout, on 17 pitches (15 strikes – 88.2 Strike%) with three whiffs (17.6 SwStr%).

He has posted a save in two of his last four appearances.
- John Brebbia gets credit for his second hold, retiring a batter in the seventh, then allowing a runner to reach on catcher’s interference at the top of the eighth, followed by a single, prompting his removal.
- Tyler Holton tossed a scoreless combined inning, giving up a hit and a walk while striking out one for his sixth hold.
- Brenan Hanifee collected his third win, throwing a combined scoreless frame between the fifth and sixth inning, yielding a hit and striking out one.
Hierarchy Remains: *Will Vest | *Tommy Kahnle | Tyler Holton
*= closer-by-committee with a preferred save share (Vest)
Houston Astros – Securing his 14th save, Josh Hader worked around a one-out walk, recording all three outs via strikeout while preserving a two-run win over The Athletics. He threw 22 pitches (12 strikes – 54.5 Strike%) and generated eight whiffs (36.4 SwStr%).

He is on a five-game scoreless streak and has been scoreless in eight of nine appearances in May, converting all six save chances with a 0.778 WHIP and 15 strikeouts versus three walks (33.4 K-BB%) through nine innings.
- Bryan Abreu notched his 14th hold with a scoreless eighth, walking and striking out one.
- Shawn Dubin collected his second win, tossing a scoreless seventh, yielding a hit, and striking out two.
Hierarchy Remains: Josh Hader | Bryan Abreu | Bryan King
Kansas City Royals – Preserving a one-run margin, Carlos Estévez took over at the top of the eighth with a runner on first and two outs. He notched his 15th save, retiring all four batters, one via strikeout, throwing 16 pitches (75 Strike%) with three whiffs (18.8 SwStr%).

He owns a seven-game scoreless streak and has converted his last 10 save chances since April 24 with 13 strikeouts against one walk (23.5 K-BB%) and a 0.902 WHIP across 13.1 innings.
- John Schreiber gave up a hit and recorded a strikeout during two-thirds of the eighth for his fifth hold.
- Angel Zerpa allowed two hits and an earned run across two-thirds combined, getting credit for his second hold.
Hierarchy Remains: Carlos Estévez | Lucas Erceg | John Schreiber
Los Angeles Dodgers – Called upon at the bottom of the seventh with a runner on and two outs, Tanner Scott produced an inning-ending strikeout. However, things turned when he returned for the eighth, though the box score does not tell the whole story. After allowing consecutive infield singles, including one during which Max Muncy stumbled, Scott issued Daniel Schneemann a walk, loading the bases. He recorded a strikeout against Austin Hedges but an opposite-field single against the shift, scoring the game-tying runs, prompting his removal from the contest. He threw 26 pitches (69.2 Strike%) and generated a season-high nine whiffs (34.6 SwStr%) but was tagged with his first loss and fifth blown save, with four earned runs on his final line. Sometimes, the BAbip overlords are not on your side. In the chart below, the exit velocities are in red, and the xBA for each event are in the last column:

- Alex Vesia took over with two runners on and one out, giving up a three-run home run by Angel Martínez, scoring both inherited runners.
Hierarchy Remains: Tanner Scott | Ben Casparius | Alex Vesia
Miami Marlins – Preserving a two-run lead, Calvin Faucher retired the side against the top of San Diego’s lineup on eight pitches (62.5 Strike%) without a whiff for his third save.

This represents his first save since April 22. He had allowed seven earned runs across his three previous appearances.
- Ronny Henriquez issued Luis Arraez a lead-off walk at the bottom of the seventh and gave up Gavin Sheets’ game-tying two-run home run, resulting in his second blown save. Henriquez returned for the eighth, retiring the side and collecting his third win. He finished his two innings with a hit, two earned runs, and a walk while striking out three, throwing 29 pitches (16 strikes – 55.2 Strike%) with three whiffs.
- Anthony Bender worked a clean sixth.
- Jesús Tinoco gave up a hit during a scoreless fifth.
Hierarchy Remains: *Ronny Henriquez | *Calvin Faucher | *Anthony Bender
*= closer-by-committee
Milwaukee Brewers – For a second straight day, the Brewers won via walk-off; this time, it benefited Tyler Alexander, collecting his third win despite giving up Trevor Story’s lead-off single, followed by a fielder’s choice groundout, scoring the “place” runner.
- Jared Koenig navigated around a hit and two walks with an inning-ending strikeout of Nick Sogard, keeping the game tied during the ninth.
- Abner Uribe fired a scoreless eighth, hitting a batter and striking out two on 18 pitches (55.6 Strike%) with one whiff. He has been scoreless through 13 of 14 appearances this month, with 20 strikeouts against six walks (25.9 K-BB%) and a 1.095 WHIP in 13.2 innings.
- Nick Mears gave up Wilyer Abreu’s solo home run and recorded two strikeouts over two innings.
Hierarchy Remains: Trevor Megill | Abner Uribe | Jared Koenig
New York Yankees – Filling in capably while letting his teammates get extra rest, Mark Leiter Jr. worked a scoreless top of the ninth, issuing a walk and striking out two for his second save, preserving a combined shutout of the Angels and converting his second save. He threw 15 pitches (60 Strike%) and induced one whiff.
- Tim Hill stranded a runner and retired his only batter at the bottom of the eighth, securing his fourth hold.
- Ian Hamilton logged 1.2 scoreless frames, yielding a hit and striking out two for his second hold.
Hierarchy Remains: Luke Weaver | Devin Williams | Jonathan Loáisiga
St. Louis Cardinals – Working around a lead-off single and a two-out hit, Ryan Helsley secured his 12th save with a game-ending groundout by Ryan O’Hearn. Helsley threw 16 pitches (93.8 Strike%) and induced two whiffs (12.5 SwStr%).

He has been scoreless in eight of his ten appearances in May with 11 strikeouts versus three walks (17.7 K-BB%) and a 1.40 WHIP across ten innings while converting all eight save opportunities.
- JoJo Romero retired the side and recorded a strikeout at the bottom of the eighth for his ninth hold.
- Phil Maton tossed a clean seventh, striking out two en route to his tenth hold.
- John King collected his second win after a clean seventh with two strikeouts.
- Kyle Leahy gave up a hit and two walks while striking out one in a scoreless fifth.
Updated Hierarchy: Ryan Helsley | Phil Maton | JoJo Romero
Toronto Blue Jays – Capping his team’s rally at the top of the ninth and a combined shutout, Jeff Hoffman retired the side and recorded one strikeout while posting his 12th save. He threw 14 pitches (11 strikes – 78.6 Strike%) and produced three whiffs (21.4 SwStr%) against Texas’ 2-3-4 lineup pocket.

He has finished his last two save opportunities with eyes on better results in June.
- Brendon Little collected his third win, retiring both batters at the bottom of the eighth via strikeout.
- Braydon Fisher worked 1.1 scoreless innings, walking one and striking out two.
Hierarchy Remains: Jeff Hoffman | Yariel Rodríguez | Chad Green
Quick Hits
- Arizona Diamondbacks: Appearing during a lopsided loss, Shelby Miller retired the side and recorded a strikeout against the Pirates’ 4-5-6 lineup pocket, throwing 13 pitches (9 strikes – 69.2 Strike%) with four whiffs (30.8 SwStr%). He had not pitched since May 20.
- Chicago White Sox: In order of appearance, Brandon Eisert entered at the bottom of the fourth and stranded his only inherited runner. He collected his second win, retiring all four batters, one via strikeout against the Mets. Mike Vasil logged three scoreless frames, yielding two hits and a walk while striking out five for his first hold.
- Colorado Rockies: Back from the injured list, Victor Vodnik tossed a scoreless bottom of the eighth despite issuing a walk. He threw 18 pitches (50 Strike%) and induced two whiffs (11.1 SwStr%).
- Los Angeles Angels: Making his first appearance since 2023, Robert Stephenson fired a clean top of the sixth and recorded two strikeouts against the Yankees’ 6-7-8 lineup pocket, throwing 12 pitches (75 Strike%) with six whiffs (50 SwStr%).

- San Diego Padres: With a runner on third and one out, Jason Adam took over at the top of the seventh against the Marlins. He uncorked a wild pitch, scoring the inherited runner and breaking the tie, allowing three consecutive hits without a run during two-thirds of an inning. He returned for the eighth and hit a batter, then a hitter reached on a fielder’s choice before being removed. Adam was tagged with his first loss, yielding three hits and two unearned runs.
- Texas Rangers: Blinking first during a scoreless tie, Jacob Webb allowed two hits at the top of the ninth, including Bo Bichette’s pinch-hit two-run home run, resulting in his third loss. Robert Garcia faced Toronto’s 2-3-4-5 hitters at the top of the eighth, giving up a hit and striking out two on 17 pitches (11 strikes – 64.7 Strike%) and generating five whiffs (29.4 SwStr%).
- The Athletics: During the bottom of the seventh, Justin Sterner suffered his first loss and third blown save. He allowed four hits, including Zach Dezenzo’s solo home run, three earned runs, and a walk while recording two outs.
Closer Monkey Emails for 2025
This year, the daily emails will change. Those interested in daily free updates with links should subscribe to our page at Substack. Subscribers to the former site will not transfer over; readers must register using the new link.
Premium subscribers can still use this link for daily, ad-free content or submit a $25 payment via Venmo to @gjewett9.
Thanks for being part of the Closer Monkey community. Stay safe, and be well.
Statistical Credits:




























