Baseball News

Why Does ZiPS Hate The Milwaukee Brewers?

Photos by Jeff Hanisch-Imagn

As the maintainer of the ZiPS prediction system, I answer a lot of questions about how it works and spitting out numbers. One question I get a lot is why the system keeps cutting the Milwaukee Brewers, which it has for the last five seasons and by a significant amount. Although I have talked about this issue quite a bit, mostly in interviews and on social media, answering that question in detail is necessary at this time. Of course, ZiPS isn’t alone in downplaying the Brewers. But as a single systems engineer for almost a quarter of a century, I am responsible for both being as transparent as possible and improving the model as much as I can.

So, how has ZiPS done with the Brewers historically? It turns out that since this program was founded, it is worse than any other major league franchise! Here are the results of ZiPS compared to Reality from 2005. I’ll note that the columns don’t exactly add up, as the ZiPS project spans 162-game seasons (or 60 games in 2020) and there are plenty of times when teams have played 161 or 163 games:

ZiPS Projected Wins vs. Reality, 2005-2025

The team ZiPS Preseason Wins Real Success Miss
The Milwaukee Brewers 1655 1725 -70
Los Angeles Dodgers 1823 1890 -67
New York Yankees 1831 1893 -62
The Houston Astros 1631 1688 -57
Tampa Bay Rays 1686 1717 -31
Cleveland Rangers 1709 1731 -22
Texas Rangers 1621 1642 -21
Louis Cardinals 1764 1782 -18
Miami Marlins 1486 1502 -16
The Atlanta Braves 1734 1747 -13
Philadelphia Phillies 1699 1712 -13
Seattle Mariners 1605 1609 -4
Toronto Blue Jays 1676 1677 -1
Los Angeles Angels 1683 1681 2
Athletics 1625 1623 2
The San Francisco Giants 1665 1660 5
Chicago White Sox 1549 1543 6
The Boston Red Sox 1791 1781 10
Minnesota Twins 1637 1624 13
Baltimore Orioles 1544 1527 17
The Detroit Tigers 1635 1613 22
The Cincinnati Reds 1593 1570 23
The Pittsburgh Pirates 1511 1488 23
Kansas City Royals 1499 1474 25
San Diego Padres 1640 1606 34
The New York Mets 1706 1671 35
The Arizona Diamondbacks 1633 1592 41
The Colorado Rockies 1529 1482 47
Washington Nationals 1624 1576 48
Chicago Cubs 1714 1664 50

One source of error that is very difficult to control is what the team does during the last trading session. Many teams have overworked their preseason projections and added talent during the season; conversely, underperformers have a tendency to sell talent away. That’s a challenge to model, as it involves trying to name players who are not in the organization as part of the team, even though we have little knowledge of who those players will actually be four months in advance. I actually created a model based on a team’s quality, age, salary, recent record, and trade history to get an idea of ​​the likelihood that a team would be a buyer or seller next season. But while it works, its accuracy isn’t at a point where I can include it as a guess.

Historically, the Dodgers and Yankees have been two of the most aggressive buyers in the league, so it’s no surprise to see them on ZiPS’ biggest miss list. But while the Brewers made some big moves during the offseason — the biggest one being arguably the CC Sabathia trade in 2008, which was one of the most successful trades of its kind ever — they’re not on the buying side as often as other franchise teams. So, what’s going on here?

First, here’s an overview of how the team’s projection percentages worked. Ideally, you want 10% of teams to exceed their 90th percentile prediction, 20% of teams to exceed their 80th, and so on:

ZiPS Projected Wins vs. Reality, 2005-2025

Percentile Percentage of Teams Passed
90 of 9.3%
80 of 21.0%
70 of 29.8%
60 of 41.5%
50 of 50.5%
40 of 58.8%
30 of 69.1%
20 78.4%
10 88.9%

ZiPS does a great job at integration. Simply put, the basic function of a prediction system is to know the range of possible outcomes, and be wrong by the right margins the right amount of times. It would be easy to say “Hey, the predictions are working as they should have been put together, and some group will definitely have the worst 30 predictions, whatever,” but that doesn’t mean we shouldn’t investigate these issues and check if there is something systematic the model is missing. Especially in a situation like Milwaukee, where nearly two-thirds of the 21-year margin of error has come in the last five seasons (417 projected wins versus 463 actual wins).

You are not a FanGraphs Member

It appears that you are not yet a FanGraphs Member (or signed in). We’re not mad, just disappointed.

We get it. You want to read this article. But before we let you get back to it, we’d like to point out a few good reasons why you should become a Member.

1. Free Viewing! We will not mistake you for this ad, or any other.

2. Unlimited topics! Non-Members only get to read 10 free articles per month. Members are never cut off.

3. Dark mode and classic mode!

4. Custom player page dashboards! Choose the player cards you want, the way you want.

5. One-click data export! Use our predictions and leaderboards for your personal projects.

6. Remove images from the home page! (Honestly, this doesn’t sound that good to us, but other people wanted it, and we like to give our Members what they want.)

7. More Steam guesses! We have offer, percentage, and context neutral predictions available only to members.

8. Get the FanGraphs Walk-Off, a custom year-end review! Find out how you used FanGraphs this year, and how that compares to other Members. Don’t fall prey to FOMO.

9. Weekly mailbag column, for Members only.

10. Help support FanGraphs and all of our staff! Our members give us valuable resources to improve the site and bring new features!

We hope you will consider Membership today, for yourself or as a gift! And we realize that this has been a very long marketing article, so we’ve removed all other ads from this article. We didn’t want to overdo it.

The ZiPS target standings have two parts: the ratings themselves and the ratings of who ends up getting playing time. To get an idea of ​​how much of ZiPS’ misses are errors in modeling versus errors in playing time, I often re-plot a team’s wins using each player’s actual playing time after the season ends. Re-examining the 2021-2025 Brewers using their preseason projections but the players’ actual playing time makes the issue much clearer:

Brewers ZiPS Wins vs. Reality

A year PS Preseason ZiPS for Real Time Gaming Real Success
2021 83 93 95
2022 88 94 86
2023 84 87 92
2024 78 87 93
2025 84 90 97

Knowing each player’s actual playing time doesn’t eliminate mistakes, but it does reduce 46 wins to 12. In other words, ZiPS doesn’t do a bad job of guessing; Dan Szymborski did a poor job of predicting which players will end up getting playing time for the Brewers! Injuries are sometimes the reason for the discrepancy in playing time, but it often leads to teams underperforming their projections as regulars miss time. It’s not just the Brewers overthey did, they did while not being very good at avoiding injury; they’ve actually lost more wins than the average team due to IL stints over the past five years.

Instead, what seems to be happening is that the Brewers have been incredibly successful in giving more playing time to players who exceed their ratings. For example, there were 62 hitters who had seasons with at least 200 plate appearances for the Brewers from 2021 to 2025. As a team, ZiPS only underperformed by 1.5 wRC+ points in the combine (104.7 actual vs. 103.2 expected). But of the 33 hitters who exceeded their projected wRC+, 28 in them they found the appearance of more plates than I expected as my basic. The same is true for pitchers, especially relievers. Now, there’s a natural tendency for teams to give more playing time to big hitters and less to guys who don’t, but the Brewers have been more successful at this than the rest of the league. From 2021 to 2025, 81% of their eligible players who performed better than their expected wRC+ or ERA+ received more playing time than I expected as a baseline. To put that into context, the league-wide rate was below 61%, and no other team was above 70%.

So, how do I fix the Brewers’ projections? That’s a small problem I’m still working on. This offseason, I’ve tried to be aggressive in my thoughts on who will get playing time for Milwaukee based on the quality of their projections. As a result, ZiPS predicts that the team will win 85. Naturally, the Brewers are at a 99.7 win rate as of Wednesday morning. I may need to project more accurately the actual front offices; if the Brewers are better than anyone else at evaluating their talent with the knowledge they only have access to, it’s not something I can directly fix. Unless, of course, the Brewers decided to give me all their internal data, which seems unlikely. Or if I say, I caught Dan Turkenkopf in a big net and locked him in my tool shed until he spilled the beans. As much as I like to develop assumptions, I don’t think my employer would appreciate it if I did so by committing a corporate crime, so I’ll have to keep trying. Being wrong is how we develop predictive models, and let’s just say the Milwaukee Brewers continue to give me plenty of learning opportunities.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button