The midseason is a good point to catch up on one’s mistakes, to see where reality has crushed your predictions. We’re nearly half a year from the most recent iteration of the ZiPS Top 100 Prospects, and with a flurry of trades likely to happen in the next week, it seems to be time to check in on how the algorithms which have seized my life and crushed all traces of humanity ZiPS projection system is doing in the prospnostications for 2025.
For each of the top 100 prospects, I’m including a chart of their 2025 minor league translations and how their 2026-2030 WAR has changed since February. Last year was my first midseason review of the prospect list, and some of my charts just made things confusing, so I’m making them less dense/opaque this time around, in the hopes of communicating the data better. The translations and projections are through Monday’s games. As a quick reminder, ZiPS ranks prospects by the average of their 20th-percentile and 80th-percentile career WAR projections, and explicitly leaves out players for which it has nothing to bring to the table, so no high school hitters or pitchers without professional experience.
ZiPS is naturally a bit down on Carson Williams given his struggles offensively this year, but he still has the glove, and a 102 wRC+ in Triple-A for an excellent defensive shortstop isn’t so bad that it would send him tumbling down the ranks. If February ZiPS had known about the first half of the 2025 season, it would have had Roman Anthony hurdle over Williams, Roki Sasaki, and Samuel Basallo to be the no. 1 prospect in baseball. Unlike Williams, Basallo has been very good, it’s just that Anthony has been even better. Read the rest of this entry »
We’re now two weeks from the trade deadline, and so far, not much has happened since the mid-June Rafael Devers trade. At least, that is, if you’re not the world’s biggest fan of Adam Frazier, just acquired by the Kansas City Royals. Unless we have the most boring deadline season ever, there’s a lot more to come as this is every organization’s last, best chance to improve their teams for the homestretch and the playoffs. So, who has the most to gain by being a buyer?
We could just say “teams near the playoffs” and peace out, but given I have access to a projection system that comes with a season simulation attached, that would be kind of lazy. So to get some hard numbers on the possible benefits beyond just saying Good Player Make Wins Go Brrr, I ran the rest-of-season simulation 60 times — adding one win to each team once, and then two wins to each team once — and hit the red run button. (I actually have one.) Yes, that means even the White Sox and Rockies get the opportunity to add wins, though you can judge whether this is being complete or being cruel.
In the chart below, which gives the results for all 30 teams, “+1” and “+2” represent the scenarios in which we added either one or two wins to that team’s bottom line. The table ought to be sortable, unless I messed it up, which is a thing that does happen. (Editor’s Note: Dan did not mess this up. Happy sorting!) Read the rest of this entry »
To say the last two-plus years haven’t gone the way Sandy Alcantara had hoped would be a massive understatement. Coming off winning the NL Cy Young award in 2022, his numbers dipped the following season, and he was shut down that September with a flexor strain that required Tommy John surgery in October. He returned this spring with his velocity and movement intact, but his performance to start to the season was rough; he ended April with an 8.31 ERA. The buzz about the Marlins trading Alcantara, a seemingly inevitable outcome for a franchise that is run like a glorified farm affiliate to the rest of baseball, died down temporarily. Sure, things have gone better for the ace recently, but his ERA is still inflated at 7.01, albeit with a relatively sunny 4.55 FIP. Has he done enough to fetch a high price if the Marlins trade him in the coming weeks?
My colleague Michael Baumann wrote about Alcantara back at the start of May, focusing on the righty’s poor April. One of the most concerning aspects of that dreadful start was his 14% walk rate, or 5.9 free passes per nine innings. It wasn’t so much an issue of control — Alcantara’s zone percentage was similar to past seasons — but one of command. You can see the contrast between Alcantara’s best seasons and April in botCmd (PitchingBot) and Location+ (Stuff+).
There’s never a good time to lose a starting pitcher, but doing so when you’ve lost six of your last seven games and have relinquished first place in your division is an especially unwelcome happenstance. This is what the New York Yankees are currently experiencing, as Clarke Schmidt, who was placed on the injured list due to forearm tightness after an early exit from his Thursday start, will likely undergo Tommy John surgery. With a 3.32 ERA, 3.90 FIP, and 1.2 WAR in 14 starts, Schmidt appeared to be headed towards his best season in the majors, but short of a miracle, he’ll now be out until well into the 2026 season at least. Coming just as the offense appeared to be recovering from its June swoon, the Yankees’ trade deadline to-do list may have just gotten a bit longer.
Six weeks ago, the Yankees were in a strong, though not insurmountable, position at the top of the AL East. No fan should start making travel plans based on a seven-game divisional lead in late May, but it’s about as strong a position as a team can hope to have in a good division. In his May 28 start, Schmidt threw six shutout innings en route to a 1-0 victory over the Angels, giving the Yankees that a seven-game lead (their seasonal high-water mark) and a 35-20 overall record. Since then, the Yankees have gone 14-21, losing 11 games in the standings relative to the current first-place team, the Blue Jays.
The disappearance of the offense was a big part of the Yankees’ slump, at least until the last week or so. On the whole, the offense dropped to a .718 OPS in June after posting an .812 OPS through the end of May, a mark that was second only to the Dodgers. Half of the team’s plate appearances in June were made by players with a wRC+ under 90 for the month, including key early-season performers Paul Goldschmidt and Ben Rice, as well as a returning Giancarlo Stanton. The pitching remained solid despite the team’s 13-14 month, with the rotation combining for a 3.19 ERA and a slightly less exciting 3.79 FIP. Read the rest of this entry »
David Rodriguez Munoz/USA TODAY NETWORK via Imagn Images
We’ve now passed the mathematical halfway point of the 2025 season, which serves as a good time to check in on the ZiPS projected standings and analyze the ways in which reality has torn the preseason prognostications to shreds. While our depth charts utilize the ZiPS projections in the daily standings, this full ZiPS run utilizes the most robust methodology that I can assemble without pulling out what’s left of my increasingly dwindling supply of hair.
The ZiPS projected standings are the product of a million seasonal simulations. In order to get a better estimate of the upside and downside of the team, ZiPS takes an important additional step in simulating the roster itself before it ever considers a single game on the schedule. For example, in most of the New York Yankees’ simulations, Aaron Judge continues destroying pitchers on his merry way to what ZiPS projects will be an 11-WAR season, playing somewhere between 80% and 95% of the remaining games. Sometimes he regresses less from his current 13-WAR pace; other times, he drops off the pace a little bit more. Sometimes he’s dinged up a bit and misses time, and once in a while, he misses the rest of the season due to a serious injury. After an injury simulation, ZiPS fills in the depth charts in each sim based on who is available. When Judge is injured, the Yankees roster strength is typically made with more Jasson Domínguez, sometimes more Everson Pereira or Bryan De La Cruz, maybe some Spencer Jones, or as in simulation no. 111,535, a whole lot of Brennen Davis and Duke Ellis somehow. There’s a lot of PC power (I made an upgrade in May!) and a distressing amount of linear algebra involved.
Once ZiPS has a simulated distribution of a team’s roster strength, it then simulates the results of the rest of the season a million times. (Here I’ll note that a million simulations was not enough to get the Rockies into the playoffs.)
Below are the updated ZiPS projected standings through the games played on July 2. We’ll start our look with the AL East:
ZiPS Median Projected Standings – AL East (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
New York Yankees
91
71
—
.562
61.0%
31.1%
92.1%
11.7%
95.6
86.9
Tampa Bay Rays
87
75
4
.537
19.0%
50.5%
69.5%
3.2%
90.8
82.3
Toronto Blue Jays
86
76
5
.531
17.7%
48.0%
65.7%
2.6%
90.5
81.6
Boston Red Sox
81
81
10
.500
1.7%
17.7%
19.4%
0.7%
84.1
75.6
Baltimore Orioles
77
85
14
.475
0.5%
8.3%
8.8%
0.5%
81.6
72.9
The Yankees offense slowed down considerably in June, which if you believe parts of Reddit, is somehow due to too much analytics. The more likely cause is that the Yankees are extremely reliant on Judge playing like a demigod, and when he has an ordinary month — a 157 wRC+ qualifies by his standards — the lineup has trouble absorbing what were down stretches for other key parts of the offense. ZiPS still sees the Yankees as the AL East team with the fewest potential problems over the next three months, even if it doesn’t think that Max Fried and Carlos Rodón will keep up their blistering pace.
The Blue Jays’ improvements this year should serve as a reminder (though they probably won’t), that people are too wedded to recent terrible/great performances. Coming off a 74-88 season in 2024, the Jays didn’t do a whole lot to really change the nature of their team, and the biggest thing they did do — signing Anthony Santander — hasn’t worked out yet. Sometimes gravity takes care of things!
The Rays have done their usual excellent patchwork job, but ZiPS isn’t really sold on the lineup maintaining wRC+ of 109 over the rest of the season. The computer is optimistic about Boston’s pitching staff, but the divisional math is getting difficult, and this is a team that didn’t really aggressively chase the playoffs when similarly situated in the race the last few years. ZiPS still thinks the O’s are a good team, albeit one with serious rotation issues, but they’ve banked so many losses that it’s getting hard to say that their current long shot odds are enough to keep 2025 a going concern.
Turning to the AL Central:
ZiPS Median Projected Standings – AL Central (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
Detroit Tigers
93
69
—
.574
91.6%
5.5%
97.1%
7.3%
97.4
88.8
Cleveland Guardians
81
81
12
.500
4.6%
25.6%
30.3%
1.7%
85.8
77.2
Minnesota Twins
80
82
13
.494
3.1%
19.8%
22.9%
1.1%
84.7
76.0
Kansas City Royals
78
84
15
.481
0.8%
7.0%
7.8%
0.3%
81.2
72.7
Chicago White Sox
53
109
40
.327
0.0%
0.0%
0.0%
0.0%
56.9
48.6
The Tigers have pretty much ended this race, and with an excellent rotation headed by the best pitcher in baseball right now, Tarik Skubal, this is an extremely dangerous playoff team. Detroit’s projected final win total has increased more than any other team in the baseball, jumping from 81 wins to 93.
ZiPS still sees the Guardians and Twins as legitimate playoff contenders, though it doesn’t have a great deal of enthusiasm for their rosters. I don’t expect either team to be particularly aggressive at the trade deadline.
Jac Caglianone has struggled in the majors so far, and while I fully expect him to overcome his growing pains, it also means that he hasn’t done much to resuscitate an abysmal offense. Kansas City’s pitching has been excellent, but it’s simply not enough. The White Sox are projected to finish with a 12-win improvement compared to 2024! That’s… something, I guess. Somehow, the pitching has been approximately league average, and if they can actually finish the season that way, maybe pitching coach Ethan Katz deserves the Cy Young award.
Looking to the AL West:
ZiPS Median Projected Standings – AL West (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
Houston Astros
94
68
—
.580
88.1%
9.8%
97.9%
12.9%
98.8
89.9
Seattle Mariners
85
77
9
.525
9.7%
50.2%
59.9%
3.4%
89.5
80.9
Texas Rangers
81
81
13
.500
2.1%
23.9%
26.1%
1.0%
85.2
76.5
Los Angeles Angels
74
88
20
.457
0.1%
2.5%
2.6%
0.0%
78.4
69.6
Oakland A’s
70
92
24
.432
0.0%
0.1%
0.1%
0.0%
72.9
64.3
The Astros’ penchant for middling starts showed itself again this year, but as has been the case in the past, no other AL West team took the opportunity to build up a big cushion in the division. A seven-game lead at this point of the season isn’t an insurmountable one, but most teams with that kind of lead end up finishing with it. That’s especially the case when the team holding the comfortable lead is also likely the “true” best team in the division. The Astros are no juggernaut, but they can ride Hunter Brown and Framber Valdez, and the offense has been better than it had any right to be given the de facto loss of Yordan Alvarez and the de jure one of Kyle Tucker.
The Mariners have been surprising in that their offense has been a lot better than their pitching, and while ZiPS sees that flipping to a degree, they have enough holes that they still look like a .530-.540 team; that won’t be enough in most situations unless the Astros collapse. ZiPS is projecting a lot more Jacob deGrom innings these days than it was in March, but the holes in the lineup and at the back end of the rotation and bullpen leave Texas projected as merely a second-tier Wild Card contender.
Despite a near .500 record, ZiPS is still bearish on the Los Angeles Angels. Elsewhere, ZiPS thought the A’s had a pitching problem, and that’s basically what has transpired; the team’s early contention was a mirage.
Shifting to the National League, staring with the East:
ZiPS Median Projected Standings – NL East (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
Philadelphia Phillies
93
69
—
.574
65.1%
27.5%
92.6%
9.8%
96.9
88.4
New York Mets
90
72
3
.556
34.0%
46.8%
80.8%
6.3%
94.0
85.5
Atlanta Braves
79
83
14
.488
0.9%
9.1%
10.0%
0.5%
83.4
74.6
Miami Marlins
71
91
22
.438
0.0%
0.2%
0.2%
0.0%
75.3
66.5
Washington Nationals
69
93
24
.426
0.0%
0.1%
0.1%
0.0%
73.7
65.1
The Phillies have been tested by Aaron Nola’s poor start and subsequent injury, but this was always a compelling unit and they’ve carried on without serious trouble. They do need to score more runs to keep holding off the Mets, and Bryce Harper’s injury highlighted the fact that he, Kyle Schwarber, and Trea Turner have been holding up the lineup.
The Mets have cobbled together an impressive rotation seemingly from spare parts, and ZiPS is actually fairly confident they’ll be fine after a rather gloomy June. ZiPS sees the Mets as being as strong as the Phillies, but the Phillies get a projected edge by virtue of an easier schedule (ZiPS says .497 vs. .505 for the Mets) and the two-game “head start” on the second half.
ZiPS still thinks Atlanta is a very competent team, but even if you assume that there aren’t more nasty pitching injury surprises waiting and that there’s nothing fundamentally broken about Ozzie Albies or Michael Harris II, the team has a 39-46 record, and is at the point where they have to consider short-term retooling.
The computer thinks the Nationals are better than the Marlins, but are now too far behind to be a factor in the playoff race.
Moving to the NL Central:
ZiPS Median Projected Standings – NL Central (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
Chicago Cubs
92
70
—
.568
62.5%
27.0%
89.5%
6.9%
96.1
87.4
Milwaukee Brewers
88
74
4
.543
27.1%
43.2%
70.3%
4.2%
92.5
83.7
St. Louis Cardinals
84
78
8
.519
7.4%
28.8%
36.3%
1.3%
88.2
79.6
Cincinnati Reds
82
80
10
.506
3.0%
16.3%
19.3%
0.5%
85.6
76.7
Pittsburgh Pirates
73
89
19
.451
0.0%
0.7%
0.7%
0.0%
77.3
68.7
ZiPS was a massive believer in the Cubs in the preseason, being head-over-transistors in love with the team’s offense and defense, and not absolutely hating the pitching staff. That’s about how the team has played, so the projections naturally haven’t changed too much. ZiPS also saw the Brewers as the biggest danger to the Cubs, and again, it hasn’t moved off that position.
St. Louis and Cincinnati are both above .500, but the computer still sees the Cards as too broadly mediocre and the Reds as having too many positions that have been chasms for either to be a divisional threat without some things going their way. Both are plausible Wild Card teams.
The projections are actually bullish on the Pirates scoring more runs in the second half, with much of the lineup underperforming their peripheral numbers, but it’s largely in the category of “too little, too late.”
Lastly, let’s look at the NL West:
ZiPS Median Projected Standings – NL West (Through July 2)
Team
W
L
GB
Pct
Div%
WC%
Playoff%
WS Win%
80th
20th
Los Angeles Dodgers
99
63
—
.611
95.9%
3.9%
99.7%
19.6%
103.7
95.1
San Diego Padres
86
76
13
.531
3.1%
51.4%
54.5%
3.2%
90.6
81.5
San Francisco Giants
82
80
17
.506
0.6%
22.7%
23.3%
0.6%
86.4
77.6
Arizona Diamondbacks
82
80
17
.506
0.5%
22.3%
22.8%
0.9%
86.2
77.7
Colorado Rockies
49
113
50
.302
0.0%
0.0%
0.0%
0.0%
53.6
45.1
ZiPS was always skeptical of the notion that the Dodgers ought to be projected for a crazy number of wins, with the preseason projections thinking that the biggest benefit to come from the team’s offseason was protecting itself from injury downside. I don’t always agree with my creation, but I did in this case. That’s sort of how things have played out; the injuries hit the pitching as hard as they usually have, but the high-end offensive talent has compensated, and team is on a 102-win pace. I’ll note that this ZiPS run was a late-night one, and does give a pretty big hit to Max Muncy’s playing time after the grisly injury he sustained in yesterday’s game. In reality, the Dodgers have a large enough lead that his exact timetable shouldn’t change the projections significantly.
The Padres have been solid and are a first-tier Wild Card candidate, but they’ve probably fallen too far behind to scare the Dodgers. It doesn’t help that they’ve gotten basically no offense out of left field and designated hitter this year. The Giants are hitting their projections after falling short the last few years, but they have a similar problem to the Padres and have gotten sub-.700 OPS performances at prime offensive positions (first base, right field, and DH).
The Diamondbacks have disappointed, in large part due to a number of serious injuries, and the team, seeing the writing on the wall, has been hinting about being short-term sellers this summer. If they aren’t, however, ZiPS still thinks that they’re good enough to end up with a Wild Card spot without anything ridiculous happening.
For their part, the Rockies can be content with the fact that they’re one of the 30 best teams in the majors.
Dan Szymborski: It’s time for a Szymborski chat The man is sarcastic and fat He’ll zing with a smirk and plug his own work and pretend that ZiPS WAR is a fact
12:02
Guest: Do we need a better way of calculating free agent contracts? Devers contract may be underwater but I would rather pay devers 8 240 (what’s rest on his contract) than vlad 14 500 or whatever insane number Kyle Ticker is going to get. Seems like a Devers would be the cheapest way to get talent / WAR on your team
12:03
Dan Szymborski: It’s complicated philosophically!
12:03
Dan Szymborski: And we tend to go through cycles. There’s a period where teams spend a lot and then there’s regret and everyone starts getting stingy for a year or two
12:04
Endy Chavez: Is Brandon Nimmo intentionally trading walks for home runs? Should he trade back?
12:05
Dan Szymborski: Honestly, his swing rate bump is fairly small, I’m not sure sure how conscious a decision is made
Kareem Elgazzar/The Enquirer/USA TODAY NETWORK via Imagn Images
Love ’em or hate ’em, the class of “expected” stats has utility when we’re talking about predicting the future. The data certainly inspire mixed feelings among fans, but they perform an important task of linking the things that Statcast and similar non-traditional metrics say to performance on the field. A hard-hit rate of X% or a launch angle of Y degrees doesn’t really mean anything by itself, without the context of what’s happens in baseball games.
I’ve been doing projections now for nearly half (!) my life, so outside of my normal curiosity, I have a vested interest in using this kind of information productively in projections. Like the Statcast estimates (preceded with an “x,” as in xBA, xSLG, etc.), ZiPS has its own version, very creatively using a “z” instead.
It’s important to remember these aren’t predictions in themselves. ZiPS certainly doesn’t just look at a pitcher’s zSO from the last year and say, “Cool, brah, we’ll just go with that.” But the data contextualize how events come to pass, and are more stable than the actual stats are for individual players. That allows the model to shade the projections in one direction or the other. Sometimes that’s extremely important, as in the case of home runs allowed for pitchers. Of the fielding-neutral stats, home runs are easily the most volatile, and home run estimators for pitchers are much more predictive of future home runs allowed than are actual home runs allowed are. Also, the longer a pitcher “underachieves” or “overachieves” in a specific stat, the more ZiPS believes in the actual performance rather than the expected one. More information on accuracy and construction can be found here. Read the rest of this entry »
Love ’em or hate ’em, the class of “expected” stats has utility when we’re talking about predicting the future. The data certainly have mixed feelings among fans, but they perform an important task of linking the things that Statcast and similar non-traditional metrics say to performance on the field. A hard-hit rate of X% or a launch angle of Y degrees doesn’t really mean anything by itself, without the context of what’s happens in baseball games.
I’ve been doing projections now for nearly half (!) my life, so outside of my normal curiosity, I have a vested interest in using this kind of information productively in projections. Like the Statcast estimates (preceded with an x, as in xBA, xSLG, etc.), ZiPS has its own version, very creatively using a z instead.
It’s important to remember these aren’t predictions in themselves. ZiPS certainly doesn’t just look at a pitcher’s zSO from the last year and say, “Cool, brah, we’ll just go with that.” But the data contextualize how events come to pass, and are more stable than the actual stats are for individual players. That allows the model to shade the projections in one direction or the other. Sometimes that’s extremely important, such as in the case of homers allowed for pitchers. Of the fielding-neutral stats, homers are easily the most volatile, and home run estimators for pitchers are much more predictive of future homers than are actual homers allowed. Also, the longer a hitter “underachieves” or “overachieves” in a specific stat, the more ZiPS believes the actual performance rather than the expected one. More information on accuracy and construction can be found here. Read the rest of this entry »
James: Half of the Astros current rotation is basically guys picked up off the scrap heap. Is their performance sustainable and do any of them have middle rotation potential going forward?
12:02
Dan Szymborski: This is something the Astros are really good at, though. And really, most of the rotation is just averageish, which is sustainable. Brown and Valdez being good really carries the group and there’s no reason to be suspicious
12:02
Galen: If the Twins decide to sell pieces off. What would you expect the market for Buxton and/or Correa to be? Buxton would have to wave his no trade, but I think he might if they are out of the WC race at the deadline.
12:04
Dan Szymborski: I’d expect Buxton, if actually tradeable, would fetch a good price. Correa’s been kind of meh, so I don’t think the Twins would get a nice return if they’re not eating money
12:04
Dansby Swansong: Dan, what are the major issues with the expected lockout after the 2026 season?