ZiPS Midseason Movers and Shakers: Pitchers

One of the things I try to emphasize when I talk about projections is that they’re not numbers written in stone, but an array of estimates that’s always moving. Each individual plate appearance or inning pitched, while not a needle-mover on its own, adds to our knowledge of a player and very gently changes his career trajectory. Forecasting a player isn’t all that different from forecasting a hurricane, but thankfully, players cause a lot less mayhem. Except maybe Len Koenecke.
It’s been three months since the start of the season, and we have a lot of new information about players. Since we’re approaching the halfway point of the season, and the fact that I’m getting a few dozen chat questions a week about which players have seen their projections change the most, I thought this would be an appropriate time to do an in-season ZiPS run with the full-fat model that is too compute-intensive to run every day. To keep the list relevant to 2026 MLB goings-on, I narrowed it to players who either have played in the majors this year or are one of the 1,232 prospects on The Board. So my apologies to players such as Peyton Alford, who has seen his 2027 ERA+ projection jump from 88 to 110.
I’ve also separated starters from relievers, with pitchers projected to start in at least a third of their appearances landing with the starters. Since relievers tend to be more volatile than starting pitchers, I wanted to make sure the latter were represented. After all, a bump of 10 points of ERA+ in 180 innings is more impactful for a team than 15 points of ERA+ in 60 relief innings!
| Player | Preseason 2027 ERA+ | Up to Date 2027 ERA+ | Diff | Preseason 2027 WAR | Up to Date 2027 WAR | Diff |
|---|---|---|---|---|---|---|
| Shohei Ohtani | 113.8 | 137.6 | 23.8 | 1.64 | 2.68 | 1.03 |
| Cristopher Sánchez | 132.3 | 154.1 | 21.8 | 3.78 | 5.72 | 1.95 |
| Julian Garcia | 77.1 | 96.3 | 19.2 | -0.08 | 0.29 | 0.37 |
| Jacob Misiorowski | 110.7 | 129.1 | 18.4 | 1.76 | 3.35 | 1.59 |
| Patrick Corbin | 70.4 | 86.7 | 16.4 | -0.84 | 0.40 | 1.24 |
| Didier Fuentes | 102.4 | 117.9 | 15.5 | 1.42 | 1.73 | 0.30 |
| River Ryan | 92.2 | 106.8 | 14.6 | 0.70 | 1.20 | 0.50 |
| Joe Whitman | 90.7 | 105.1 | 14.4 | 0.82 | 1.62 | 0.80 |
| Jake Bennett | 92.4 | 106.7 | 14.3 | 0.79 | 1.42 | 0.64 |
| Davis Martin | 92.9 | 105.7 | 12.8 | 1.22 | 2.41 | 1.20 |
| Cam Schlittler | 104.7 | 116.7 | 12.1 | 1.76 | 2.91 | 1.15 |
| Brett Sears | 88.8 | 100.6 | 11.8 | 0.65 | 1.18 | 0.52 |
| Chris Sale | 121.4 | 133.0 | 11.6 | 2.25 | 3.25 | 1.01 |
| Derek Diamond | 92.1 | 103.4 | 11.3 | 0.71 | 0.93 | 0.23 |
| Karson Milbrandt | 91.6 | 102.3 | 10.7 | 0.83 | 1.52 | 0.69 |
| Mitch Bratt | 110.4 | 121.0 | 10.6 | 1.87 | 2.18 | 0.32 |
| Blas Castaño | 85.0 | 95.2 | 10.2 | 0.52 | 0.79 | 0.27 |
| Jackson Kent | 87.0 | 97.2 | 10.1 | 0.83 | 1.37 | 0.55 |
| Payton Tolle | 107.2 | 116.0 | 8.7 | 1.64 | 2.53 | 0.89 |
| Tyler Glasnow | 109.9 | 118.5 | 8.6 | 1.64 | 1.96 | 0.32 |
| C.J. Culpepper | 95.4 | 103.9 | 8.5 | 0.97 | 1.16 | 0.19 |
| Jonathan Pintaro | 100.4 | 108.6 | 8.2 | 0.99 | 1.03 | 0.03 |
| Stephen Kolek | 98.8 | 106.9 | 8.1 | 1.20 | 1.81 | 0.61 |
| Casey Mize | 101.8 | 109.3 | 7.6 | 1.48 | 2.01 | 0.53 |
| Antonio Senzatela | 83.2 | 90.7 | 7.5 | 0.22 | 0.58 | 0.36 |
| Ben Brown | 103.8 | 111.3 | 7.5 | 1.14 | 1.63 | 0.49 |
| Jacob deGrom | 104.8 | 112.3 | 7.4 | 1.77 | 2.40 | 0.63 |
| Carlos Carrasco | 71.2 | 78.3 | 7.1 | -0.63 | -0.07 | 0.57 |
| Gage Jump | 103.2 | 110.2 | 7.0 | 1.65 | 2.16 | 0.51 |
| Kyle Hurt | 93.4 | 100.4 | 7.0 | 0.62 | 0.56 | -0.06 |
I appreciate how willing ZiPS is to adhere to the rule that anytime you have a positive chart of anything, Shohei Ohtani will be on it somewhere. It certainly assuages the pain that he’s not going to form the 60/60 Club, didn’t suddenly become a Gold Glove shortstop, and didn’t show up throwing left-handed with a 100-mph fastball this spring so that he could be his own relief pitcher and throw all complete games in 2026. His strikeout rate is down a bit, but the contact rate isn’t, so ZiPS is expecting it to pop up a bit in the coming months. Cristopher Sánchez already had one of the best projections of any starting pitcher, but he wasn’t exactly going to get worse with a big chunk of his season featuring a very long scoreless streak, was he? I’m wondering if the Phillies might have saved a full $200 million or so when they extended him before the season.
ZiPS clearly isn’t as excited about Julian Garcia as it is for some of the other pitchers on this list. However, ZiPS originally thought he would be a replacement-level pitcher in 2027, while it now thinks he’ll be in the range of league average next year, a pretty impressive bump in its own right. The Reds called him up on Monday, so he’ll get a chance to show that his sudden improvement at age 31, just a year from being in indy ball, is for real. Jacob Misiorowski exceeded his expectations last year, and this time around, he’s almost unhittable while chopping his walk rate in half. Patrick Corbin surprisingly makes the list, but still only gets a fifth starter’s projection.
Didier Fuentes has shined in Atlanta since being moved to the bullpen, and I’m a little surprised that he hasn’t gotten more attention given how well the Braves are playing this season. River Ryan appears to be healthy this year, and don’t be fooled by the relatively high 4.46 ERA in the Pacific Coast League; he has a 2.89 FIP, and we can’t fault him for his .369 BABIP. Karson Millbrandt ought to move pretty far up the ZiPS prospects list in 2027, though he still has some command issues to iron out. Cam Schlittler is relatively low on this list not because he hasn’t been terrific, but because ZiPS wasn’t all that skeptical of him to begin with.
| Player | Preseason 2027 ERA+ | Up to Date 2027 ERA+ | Diff | Preseason 2027 WAR | Up to Date 2027 WAR | Diff |
|---|---|---|---|---|---|---|
| Alek Manoah | 89.2 | 67.2 | -21.9 | 0.82 | -0.48 | -1.31 |
| Luis Morales | 100.8 | 84.9 | -16.0 | 1.49 | 0.39 | -1.10 |
| Garrett Crochet | 142.6 | 126.9 | -15.7 | 4.21 | 3.28 | -0.93 |
| Doug Nikhazy | 96.5 | 80.9 | -15.5 | 0.92 | 0.01 | -0.92 |
| Eric Lauer | 97.5 | 82.0 | -15.5 | 0.80 | 0.16 | -0.64 |
| Valente Bellozo | 94.7 | 79.9 | -14.8 | 0.68 | 0.00 | -0.68 |
| Chris Paddack | 89.4 | 74.8 | -14.6 | 0.75 | -0.23 | -0.98 |
| Jordan Wicks | 103.3 | 89.2 | -14.2 | 1.13 | 0.41 | -0.72 |
| Kohl Drake | 104.8 | 90.9 | -13.9 | 1.33 | 0.62 | -0.72 |
| Jacob Lopez | 103.3 | 89.6 | -13.7 | 1.46 | 0.74 | -0.72 |
| Carson Palmquist | 94.7 | 81.2 | -13.5 | 0.78 | 0.14 | -0.64 |
| Mike Burrows | 108.8 | 95.8 | -13.0 | 1.64 | 1.37 | -0.27 |
| Simeon Woods Richardson | 107.1 | 94.5 | -12.6 | 1.85 | 0.94 | -0.91 |
| Reynaldo López | 115.6 | 103.7 | -11.9 | 1.78 | 1.20 | -0.58 |
| Cristian Javier | 97.7 | 86.0 | -11.7 | 1.04 | 0.35 | -0.69 |
| Max Scherzer | 94.8 | 83.2 | -11.6 | 0.69 | 0.13 | -0.56 |
| Luis Perales | 99.7 | 88.1 | -11.6 | 1.16 | 0.71 | -0.45 |
| Jean Cabrera | 90.4 | 79.1 | -11.4 | 0.80 | 0.07 | -0.73 |
| Ryan Weiss | 99.5 | 88.2 | -11.3 | 1.50 | 0.61 | -0.89 |
| Kodai Senga | 107.5 | 97.4 | -10.1 | 1.72 | 1.29 | -0.43 |
| Zebby Matthews | 111.3 | 101.7 | -9.7 | 1.88 | 1.72 | -0.16 |
| Alejandro Hidalgo | 88.4 | 79.4 | -9.0 | 0.60 | -0.06 | -0.67 |
| Luis Gil | 92.0 | 83.1 | -8.9 | 0.75 | 0.21 | -0.54 |
| Tink Hence | 99.4 | 90.6 | -8.8 | 1.16 | 0.39 | -0.77 |
| Carlos Rodriguez | 96.6 | 87.8 | -8.7 | 0.85 | 0.29 | -0.57 |
| Joey Estes | 88.5 | 79.8 | -8.7 | 0.68 | 0.20 | -0.48 |
| Tatsuya Imai | 107.5 | 98.9 | -8.7 | 1.89 | 1.24 | -0.64 |
| Ben Kudrna | 91.7 | 83.1 | -8.6 | 0.69 | 0.16 | -0.53 |
| Connor Noland | 95.1 | 86.7 | -8.5 | 1.03 | 0.43 | -0.60 |
| Yoniel Curet | 84.0 | 75.6 | -8.4 | 0.28 | -0.21 | -0.49 |
ZiPS is calling a time of death on Alek Manoah’s second wind. He’s only needed 24 1/3 innings to land at the top here, which goes to show just how dreadful those innings have been. It’s true that pitchers can be weird sometimes, but he’s going to have to show a lot to get back on someone’s 40-man roster anytime soon. Luis Morales has allowed a ludicrous number of free passes, in both the majors and minors, a continuation of an abysmal spring. So many walks, in fact, that I wonder if he’s missing a ligament from his elbow and nobody’s discovered the theft yet.
Garrett Crochet was more hittable than usual this year, and ZiPS is aware of his shoulder injury, so it’s being a bit more conservative with him. It doesn’t take a lot of setbacks for a projection system to dial things back on a pitcher projected with a 140 ERA+. I’m quite sad to see Kodai Senga and his ghost fork here, and to see Max Scherzer in what might be a rather ho-hum last hurrah. And Tink Hence may need to change his name to Tink Eventually.
| Player | Preseason 2027 ERA+ | Up to Date 2027 ERA+ | Diff | Preseason 2027 WAR | Up to Date 2027 WAR | Diff |
|---|---|---|---|---|---|---|
| Yaqui Rivera | 88.0 | 123.3 | 35.3 | -0.13 | 1.16 | 1.29 |
| Mason Miller | 174.4 | 208.0 | 33.6 | 1.74 | 1.90 | 0.17 |
| Micah Ashman | 109.8 | 138.7 | 28.9 | 0.49 | 1.01 | 0.53 |
| Grant Taylor | 116.7 | 140.7 | 23.9 | 1.21 | 1.68 | 0.47 |
| Alexander Alberto | 84.1 | 107.2 | 23.1 | -0.13 | 0.37 | 0.50 |
| Cade Smith | 153.0 | 175.7 | 22.7 | 1.54 | 1.74 | 0.21 |
| Erik Sabrowski | 111.3 | 133.7 | 22.4 | 0.42 | 0.70 | 0.28 |
| Burch Smith | 76.1 | 98.5 | 22.4 | -0.39 | 0.10 | 0.49 |
| Brock Stewart | 100.5 | 120.9 | 20.4 | 0.07 | 0.25 | 0.18 |
| Robert Suarez | 104.4 | 124.7 | 20.3 | 0.41 | 0.69 | 0.28 |
| Tyron Guerrero | 83.0 | 102.8 | 19.8 | -0.20 | 0.25 | 0.45 |
| Franco Aleman | 108.9 | 128.0 | 19.1 | 0.35 | 0.69 | 0.35 |
| Sean Newcomb | 96.9 | 114.8 | 17.9 | 0.44 | 1.02 | 0.58 |
| Juan Morillo | 105.5 | 123.2 | 17.7 | 0.21 | 0.54 | 0.33 |
| Aroldis Chapman | 126.3 | 143.3 | 17.0 | 0.83 | 0.94 | 0.11 |
| Tejay Antone | 72.9 | 89.8 | 17.0 | -0.25 | 0.01 | 0.26 |
| Dylan Lee | 116.4 | 133.4 | 17.0 | 0.62 | 0.88 | 0.26 |
| Bradgley Rodriguez | 109.8 | 125.6 | 15.8 | 0.42 | 1.00 | 0.58 |
| Chris Devenski | 89.4 | 104.7 | 15.4 | 0.04 | 0.30 | 0.26 |
| Kevin Ginkel | 110.0 | 124.8 | 14.8 | 0.37 | 0.61 | 0.24 |
| Joe Mantiply | 93.0 | 107.5 | 14.5 | -0.03 | 0.19 | 0.22 |
| Cam Booser | 92.8 | 107.3 | 14.5 | -0.04 | 0.38 | 0.42 |
| Brooks Kriske | 86.1 | 100.2 | 14.1 | -0.20 | 0.23 | 0.43 |
| Louis Varland | 117.0 | 131.1 | 14.1 | 1.65 | 1.96 | 0.31 |
| William Kempner | 88.0 | 101.8 | 13.8 | -0.13 | 0.28 | 0.42 |
| Jakob Junis | 96.9 | 110.6 | 13.7 | 0.23 | 0.52 | 0.29 |
| Tommy Kahnle | 88.1 | 101.6 | 13.5 | -0.16 | 0.23 | 0.39 |
| Tanner Scott | 121.8 | 135.3 | 13.5 | 0.88 | 1.10 | 0.22 |
| Josh Fleming | 91.8 | 105.3 | 13.5 | 0.10 | 0.93 | 0.83 |
| Raisel Iglesias | 110.5 | 123.9 | 13.4 | 0.45 | 0.73 | 0.27 |
It’s kind of funny to see Mason Miller at the top of this list given that he already had the second-best ZiPS ERA+ projection in baseball coming into the season, behind only Jhoan Duran. Miller’s been so good that despite a 0.79 ERA he’s actually underperforming his FIP by almost half a run (0.37). He’s become more of a groundball pitcher than he was in the past, so if someone eventually hits a homer off of him this season, they should pay big bucks to get that one back from a fan.
This hasn’t been a good season for the Orioles, but they do have two of the three relievers on this list. Yaqui Rivera only ranked 53rd on our top prospects list this year — on the Orioles’ list, that is, not the league-wide Top 100 — thanks to some command issues. He has pared down the walks a bit, thrown a lot more first-pitch strikes, and dominated at both Double-A and Triple-A. Micah Ashman’s stuff is far from amazing, but he has better command than Rivera, and a guy striking out 15 batters per nine is going to keep getting promoted until he stops doing that.
ZiPS already thought Grant Taylor was going to be good, but it was still uncertain given his short professional history. Now, though, he’s provided another three months of evidence that he’s really damn good. He’s the best White Sox reliever, and maybe even the best White Sox pitcher. Meanwhile, Alexander Alberto has been so good in the high minors that I wonder if the White Sox regret letting the Rule 5 pick get back to the Rays.
| Player | Preseason 2027 ERA+ | Up to Date 2027 ERA+ | Diff | Preseason 2027 WAR | Up to Date 2027 WAR | Diff |
|---|---|---|---|---|---|---|
| Bryan Abreu | 150.8 | 117.0 | -33.7 | 1.50 | 0.70 | -0.80 |
| Ronan Kopp | 96.6 | 75.2 | -21.4 | 0.05 | -0.53 | -0.58 |
| Griffin Jax | 141.3 | 122.5 | -18.7 | 1.40 | 1.37 | -0.03 |
| Peyton Pallette | 105.2 | 86.8 | -18.5 | 0.64 | 0.15 | -0.48 |
| Garrett Hawkins | 103.1 | 85.9 | -17.2 | 0.47 | -0.10 | -0.57 |
| Chris Martin | 107.1 | 90.0 | -17.1 | 0.24 | -0.10 | -0.34 |
| Yondrei Rojas | 105.2 | 89.2 | -16.0 | 0.16 | -0.12 | -0.27 |
| Edwin Díaz | 135.3 | 119.3 | -15.9 | 1.04 | 0.51 | -0.53 |
| Hunter Bigge | 99.4 | 83.8 | -15.6 | 0.09 | -0.22 | -0.31 |
| Andre Granillo | 97.5 | 82.0 | -15.6 | 0.12 | -0.38 | -0.50 |
| Joe Ross | 94.2 | 79.4 | -14.9 | 0.22 | -0.46 | -0.68 |
| Pete Fairbanks | 126.9 | 112.2 | -14.6 | 0.94 | 0.57 | -0.37 |
| Luke Little | 107.3 | 93.2 | -14.1 | 0.37 | -0.10 | -0.47 |
| Aaron Bummer | 107.0 | 92.9 | -14.1 | 0.32 | -0.09 | -0.41 |
| Cody Laweryson | 106.1 | 92.1 | -14.0 | 0.39 | 0.06 | -0.33 |
| Gregory Santos | 118.6 | 105.3 | -13.3 | 0.53 | 0.26 | -0.27 |
| Matt Strahm | 117.1 | 104.1 | -13.0 | 0.67 | 0.32 | -0.34 |
| Scott Barlow | 101.1 | 88.2 | -12.9 | 0.29 | -0.07 | -0.37 |
| Tony Santillan | 100.3 | 87.9 | -12.4 | 0.21 | -0.23 | -0.44 |
| Yaramil Hiraldo | 95.9 | 83.7 | -12.2 | 0.16 | -0.13 | -0.29 |
| Zach Agnos | 100.0 | 87.9 | -12.1 | 0.17 | -0.04 | -0.22 |
| Justin Lawrence | 104.7 | 92.6 | -12.0 | 0.25 | -0.08 | -0.34 |
| Andrés Muñoz | 136.0 | 123.9 | -12.0 | 1.50 | 0.84 | -0.66 |
| PJ Poulin | 101.3 | 89.4 | -11.9 | 0.36 | 0.20 | -0.16 |
| Danny Coulombe | 113.7 | 101.9 | -11.8 | 0.44 | 0.24 | -0.20 |
| Cameron Foster | 100.2 | 88.6 | -11.6 | 0.50 | 0.10 | -0.39 |
| Steven Matz | 101.1 | 89.9 | -11.2 | 0.61 | 0.53 | -0.08 |
| Carson Hobbs | 96.8 | 85.6 | -11.2 | 0.02 | -0.29 | -0.30 |
| José Alvarado | 125.6 | 114.4 | -11.2 | 0.72 | 0.49 | -0.23 |
| Victor Vodnik | 113.3 | 102.1 | -11.2 | 0.53 | 0.19 | -0.34 |
It’s hard to say exactly what’s going on with Bryan Abreu. He’s been somewhat better after an absolutely disastrous April, but he was placed on the restricted list a few days ago, so he may have something more important on his mind than baseball.
Not a lot was expected from Ronan Kopp, but 30 walks in 27 innings in the minors will ruin most projections.
Griffin Jax is an example of the Rays’ imagination. He was struggling in relief in April, and like teams never do, their reaction to a struggling reliever was to stretch him out to multi-inning appearances and try him in the rotation. And it’s mostly worked out. The team has kept his pitch counts low, but he’s coming off three consecutive five-inning starts and is pitching quite decently. He’s still taken a hit to his projection this year given that he was projected for a 141 ERA+ entering 2026.
Like Jax, Edwin Díaz’s projection was so good entering the season that it didn’t take a lot to knock it down several pegs. Hopefully, it’s because the projection system is being too pessimistic about his performance before the surgery to remove loose bodies in his elbow and not the start of a true decline. I was a little surprised to see the magnitude of the drop in projection, but I think the algorithms are panicking a little about the sudden loss in velocity and huge jump in contact rate, two numbers which are pretty meaningful in small sample sizes.
Let me know in the comments what you think about the format for this piece. I toy with a couple different ones when I run this update every year, and I’d definitely like to know if there’s something you’d like to see that you’re not currently. Getting translations themselves integrated into the site is still on my to do list, and there may be some extra time for me to fix everything up this offseason…
Dan Szymborski is a senior writer for FanGraphs and the developer of the ZiPS projection system. He was a writer for ESPN.com from 2010-2018, a regular guest on a number of radio shows and podcasts, and a voting BBWAA member. He also maintains a terrible Twitter account at @DSzymborski.
Alek Manoah 🙁
I am more than a little surprised that ZiPS projected him for positive WAR. I would have imagined that a projection system would just give him a zero and call it a day. Maybe 0.1 or 0.2.
Usually when someone goes from good in year zero to :
unable to hit the strike zone at all (and thus below replacement level) in year one, to
only throwing about 60 innings (mostly in the minors) and giving up a 10%+ barrel rate when in the majors in year two, to
struggling through a full year in the minors in year 3, not even getting to the majors because he’s not pitching well
The last thing I am thinking is “this guy is going to be meaningfully above replacement level”
Since you asked for feedback on format, I’d love to see player team added to the tables. Perhaps I’m outing myself as being less than a HARD CORE fan, but there are lots of player names I don’t recognize immediately.
Saying that also makes me wonder if there’s a team version of this that would make sense for a 3rd post in the series, answering the question: “Based on what we’ve learned so far this year, which team’s 2027 outlook has improved the most?”
It’s about time to demand Los Doyers to Free River Ryan.
Could see the Cubs buying, similar to the Busch trade.
I think they are probably managing his workload until after the all star break, maybe until after the trade deadline.
I would think that Lauer and Wrobleski are going to be in swingman roles if both Snell and Glasnow are healthy and also no other starter gets hurt, but I would also think Ryan would be ahead of them if they think his arm will stay attached (big if there).
Corbin is surprising. He hasn’t been any better this year than last year, and his xFIP has been pretty consistent for about 7 years now. Is it the two years of decent ERAs? Or something else?
And for what a punching bag that contract was, it’s pretty cool to see him still out there chugging along, eating innings.
I’m surprised to not see Kyle Harrison in the improvers table. Is ZiPS not a believer?
I am guessing that with his thoroughly pedestrian track record prior to this year that it will take two full years of this before ZiPS is on board. Usually guys do not get better at everything in one offseason.
But the eye test and peripherals and Statcast numbers sure seem to suggest he is about 20-25% better than league average, which would make him one of the top 25 or 30 starters in MLB.
It does seem odd he did not make the list. Preseason he was projected for a 4.26 era and a 4.18 fip. We’re seeing some regression now but he’s shown a lot to date to assume he’s significantly improved.
What regression? He was forced to make a start in those ridiculous games played in Las Vegas. That is the only blip on his near perfect game log.
I am sympathetic to ZiPS not believing that Misiorowski is a true talent 8+ win pitcher going forward because I still have to remind myself that what he has already done this year actually happened. ZiPS is probably thinking someone fed it made up data.
Len Koenecke has to be one of the most strange stories from a league full of them
I’m a bit surprised Kyle Harrison didn’t make the risers list but maybe he needs to sustain his current form a bit longer for ZiPS to come around on him.
Help me understand why Simeon Woods Richardson keeps getting starts in the league.
Maybe because from 2024 to 2025 he threw 245 innings of league average pitching?