zStats for Pitchers, June Update

Among the panoply of stats created by Statcast and similar tracking tools in recent years are a whole class of stats sometimes called the “expected stats.” These types of numbers elicit decidedly mixed feelings among fans – especially when they suggest their favorite team’s best player is overachieving – but they serve an important purpose of linking between Statcast data and the events that happen on the field. Events in baseball, whether a single or a homer or strikeout or whatever, happen for reasons, and this type of data allows us to peer a little better into baseball on an elemental level.
While a lucky home run or a seeing-eye single still count on the scoreboard and in the box score, the expected stats assist us in projecting what comes next. Naturally, as the developer of the ZiPS projection tool for the last 20 (!) years, I have a great deal of interest in improving these prognostications. Statcast has its own methodology for estimating expected stats, which you’ll see all over the place with a little x preceding the stats (xBA, xSLG, xwOBA, etc). While these data don’t have the status of magic, they do help us predict the future slightly less inaccurately, even if they weren’t explicitly designed to optimize predictive value. What ZiPS uses is designed to be as predictive as I can make it. I’ve talked a lot about this for both hitters and for pitchers. The expected stats that ZiPS uses are called zStats; I’ll let you guess what the “z” stands for!
It’s important to remember that these aren’t predictions in themselves. ZiPS certainly doesn’t just look at a pitcher’s zSO from the last year and go, “Cool, brah, we’ll just go with that.” But the data contextualize how events come to pass, and are more stable for individual players than the actual stats. That allows the model to shade the projections in one direction or the other. And sometimes it’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 pitcher “underachieves” or “overachieves” in a specific stat, the more ZiPS believes the actual performance rather than the expected one.
One example of the last point is Tyler Anderson. He has a history of greatly underperforming what ZiPS expects, to the extent that ZiPS barely believes the zStats at this point (more on Anderson below). Expected stats give us useful information; they don’t conjure up magic.
What’s also interesting to me is that zHR is quite surprised by this year’s decline in homers. There have been 2,076 home runs hit in 2024 as I type this, yet before making the league-wide adjustment for environment, zHR thinks there “should have been” 2,375 home runs hit, a difference of 299. That’s a massive divergence; zHR has never been off by more than 150 home runs league-wide across a whole season, and it is aware that these home runs were mostly hit in April/May and the summer has yet to come. That does make me wonder about the sudden drop in offense this year. It’s not a methodology change either, as I re-ran 2023 with the current model (with any training data from 2023 removed) and there were 5,822 zHR last year compared to the actual total of 5,868 homers.
Let’s start the pitchers off with the summary data.
Name | FIP | zFIP | zFIP Diff |
---|---|---|---|
Trevor Williams | 2.80 | 4.12 | -1.33 |
Luis L. Ortiz | 3.49 | 4.72 | -1.23 |
Albert Suárez | 2.79 | 3.91 | -1.12 |
Kevin Gausman | 3.39 | 4.35 | -0.95 |
Dylan Cease | 3.03 | 3.98 | -0.95 |
Mitch Spence | 3.17 | 4.09 | -0.92 |
Cristopher Sánchez | 2.58 | 3.46 | -0.88 |
Sean Manaea | 3.79 | 4.62 | -0.83 |
Matt Waldron | 3.26 | 4.06 | -0.80 |
Jon Gray | 2.67 | 3.41 | -0.74 |
Logan Webb | 2.74 | 3.48 | -0.74 |
Cole Irvin | 3.64 | 4.38 | -0.73 |
Victor Vodnik | 3.87 | 4.53 | -0.66 |
Cole Ragans | 2.31 | 2.96 | -0.65 |
Sonny Gray | 2.55 | 3.18 | -0.62 |
Luis Gil | 3.06 | 3.67 | -0.61 |
Freddy Peralta | 3.52 | 4.12 | -0.60 |
Simeon Woods Richardson | 3.54 | 4.14 | -0.59 |
Ranger Suárez | 2.62 | 3.21 | -0.59 |
Name | FIP | zFIP | zFIP Diff |
---|---|---|---|
Kyle Hendricks | 6.37 | 4.06 | 2.31 |
Brayan Bello | 4.64 | 3.17 | 1.47 |
Hunter Brown | 4.86 | 3.40 | 1.46 |
Chase Anderson | 5.59 | 4.25 | 1.34 |
Logan Allen | 5.50 | 4.24 | 1.26 |
Bryce Jarvis | 5.57 | 4.36 | 1.21 |
José Berríos | 4.57 | 3.42 | 1.15 |
Tyler Alexander | 5.28 | 4.16 | 1.12 |
Nathan Eovaldi | 3.47 | 2.49 | 0.97 |
Griffin Canning | 5.14 | 4.19 | 0.96 |
Tobias Myers | 5.04 | 4.09 | 0.96 |
Aaron Civale | 4.61 | 3.69 | 0.92 |
Jared Jones | 3.75 | 2.84 | 0.91 |
Joe Musgrove | 5.34 | 4.45 | 0.89 |
Michael King | 4.16 | 3.27 | 0.89 |
Frankie Montas | 4.67 | 3.80 | 0.86 |
Slade Cecconi | 5.99 | 5.19 | 0.80 |
Justin Verlander | 4.97 | 4.20 | 0.77 |
Kenta Maeda | 5.65 | 4.89 | 0.76 |
Carlos Carrasco | 4.98 | 4.23 | 0.75 |
As you can see, ZiPS is not buying Trevor Williams as an ace. While he’s not getting the benefit of a crazy-low BABIP, he’s also allowed only two homers, for a 0.32 HR/9, which just isn’t something anyone can maintain long term. The Phillies have two starters among the overachievers, but that’s not really bad news, as both Ranger Suárez and Cristopher Sánchez have zFIPs that are still quite solid. ZiPS projects the Phillies to finish the season with the best rotation in the majors, one of the best Philly rotations ever, and one of the best rotations of the Wild Card era. Taijuan Walker is the big outlier here; he has the second-worst zFIP of any pitcher with 150 total batters faced, at 5.50, better than only Michael Soroka at 5.51.
ZiPS really thinks Brayan Bello’s been robbed a bit this year in terms of results, by enough that I’ve picked him up in both my fantasy leagues. While zFIP was a bit concerned about Dylan Cease, it makes up for it by being more positive on some of San Diego’s other pitchers like Joe Musgrove and Michael King.
I’m including the overall leaders here, by request.
Name | zFIP |
---|---|
Tarik Skubal | 2.14 |
Jack Flaherty | 2.21 |
Chris Sale | 2.30 |
Tanner Houck | 2.32 |
Nathan Eovaldi | 2.49 |
Jared Jones | 2.84 |
Yoshinobu Yamamoto | 2.87 |
Garrett Crochet | 2.95 |
Cole Ragans | 2.96 |
Nick Lodolo | 2.97 |
Luke Weaver | 2.98 |
Brandon Pfaadt | 2.98 |
Derek Law | 3.03 |
Tyler Glasnow | 3.08 |
Clarke Schmidt | 3.10 |
George Kirby | 3.11 |
Reese Olson | 3.15 |
Reynaldo López | 3.15 |
Brayan Bello | 3.17 |
Sonny Gray | 3.18 |
Zack Wheeler | 3.21 |
Corbin Burnes | 3.21 |
Ranger Suárez | 3.21 |
Nick Martinez | 3.23 |
Michael King | 3.27 |
Max Fried | 3.31 |
Yusei Kikuchi | 3.32 |
Zack Littell | 3.33 |
Logan Gilbert | 3.33 |
Gavin Stone | 3.35 |
Grayson Rodriguez | 3.37 |
Patrick Sandoval | 3.38 |
Tanner Bibee | 3.38 |
Ben Brown | 3.38 |
Shota Imanaga | 3.38 |
Hunter Brown | 3.40 |
Jon Gray | 3.41 |
José Berríos | 3.42 |
Hayden Wesneski | 3.43 |
Luis Castillo | 3.43 |
Cristopher Sánchez | 3.46 |
Logan Webb | 3.48 |
Ross Stripling | 3.48 |
Ryan Pepiot | 3.50 |
Luis Severino | 3.50 |
Mitch Keller | 3.55 |
Jesús Luzardo | 3.56 |
Zac Gallen | 3.58 |
Framber Valdez | 3.58 |
Yu Darvish | 3.58 |
What interests me the most on this list is that zStats have some faith in a lot of the breakout pitchers this year who, on the surface, you might expect to be overperforming and be subject to significant regression toward the mean. While some of the latter is likely, there’s a lot of meat in the performances. Detroit has the top two starters here; Skubal’s emergence as one of the best pitchers in the game is legitimate, and there’s strong evidence that Jack Flaherty’s revival is more than a fluke. The similar revival of Chris Sale appears real, and zStats supports the breakouts of Tanner Houck, Jared Jones, and Cole Ragans, among others. I was genuinely surprised by Luke Weaver’s performance this year; I think I was too quick to write him off.
Name | HR | zHR | zHR Diff |
---|---|---|---|
Cristopher Sánchez | 1 | 6.0 | -5.0 |
Logan Webb | 4 | 8.5 | -4.5 |
Luis L. Ortiz | 1 | 5.5 | -4.5 |
Kevin Gausman | 8 | 12.1 | -4.1 |
Jon Gray | 3 | 7.0 | -4.0 |
Trevor Williams | 2 | 5.9 | -3.9 |
Cole Irvin | 6 | 9.6 | -3.6 |
Burch Smith | 1 | 4.6 | -3.6 |
JP Sears | 8 | 11.6 | -3.6 |
Cole Ragans | 4 | 7.4 | -3.4 |
Sean Manaea | 6 | 9.4 | -3.4 |
Adrian Houser | 3 | 6.4 | -3.4 |
Adrian Morejon | 0 | 3.2 | -3.2 |
Albert Suárez | 1 | 4.2 | -3.2 |
Joe Mantiply | 0 | 3.2 | -3.2 |
Dylan Cease | 9 | 12.1 | -3.1 |
Mitch Keller | 6 | 9.0 | -3.0 |
Matt Strahm | 0 | 3.0 | -3.0 |
Kenley Jansen | 0 | 3.0 | -3.0 |
Tyler Anderson | 10 | 13.0 | -3.0 |
Name | HR | zHR | zHR Diff |
---|---|---|---|
Hunter Brown | 11 | 4.5 | 6.5 |
Kyle Hendricks | 11 | 5.0 | 6.0 |
Aaron Civale | 14 | 8.3 | 5.7 |
Brayan Bello | 9 | 3.7 | 5.3 |
Pablo López | 14 | 8.8 | 5.2 |
Logan Allen | 14 | 8.9 | 5.1 |
José Berríos | 13 | 8.0 | 5.0 |
Michael King | 13 | 8.7 | 4.3 |
Jack Flaherty | 9 | 4.7 | 4.3 |
Walker Buehler | 8 | 3.9 | 4.1 |
Grant Anderson | 6 | 2.2 | 3.8 |
Quinn Priester | 7 | 3.3 | 3.7 |
Tyler Alexander | 13 | 9.6 | 3.4 |
Brandon Pfaadt | 10 | 6.6 | 3.4 |
Enyel De Los Santos | 8 | 4.7 | 3.3 |
Slade Cecconi | 12 | 8.7 | 3.3 |
Sean Hjelle | 5 | 1.8 | 3.2 |
Chris Devenski | 6 | 2.8 | 3.2 |
Miles Mikolas | 12 | 8.9 | 3.1 |
Greg Weissert | 5 | 1.9 | 3.1 |
Looking at active pitchers since 2015, zStats has underrated 11 pitchers by at least 10 homers total. Three of them — Lance Lynn, Kyle Gibson, and Steven Matz — were signed by the Cardinals in recent years. I’m not sure what that actually means, but it’s at least worth noting. Here you can see why zStats like Hunter Brown so much; he’s actually hard to hit in the air and difficult to hit hard, so there’s at least some reason to think his gopheritis this season might be an outlier, or at least something he could work out as he develops as a pitcher. Hendricks is an interesting case in that he’s still not actually good, but there’s enough here that more patience may be warranted. For a guy allowing a ton of homers, he’s certainly not getting hit very hard.
The pitcher home run charts are the most important for any of the zStats because, unlike most of the other numbers, the zStats don’t just moderately outperform the actual tallies in predictive value, they dominate them. HR/9 is just a bad stat for pitchers and has led to a lot of bad deals for a lot of teams, and a lot of very good ones for the Dodgers! xFIP should not perform as well as it does, it’s just that homer tallies are so bad that you’re literally better off, given the choice, of taking league average for everyone rather than one-year HR/9 statistics. And that’s an absolutely preposterous thing to do when you think about it.
Name | BB | zBB | zBB Diff |
---|---|---|---|
Dylan Cease | 23 | 34.7 | -11.7 |
Pablo López | 17 | 27.1 | -10.1 |
Zach Eflin | 4 | 11.9 | -7.9 |
Jack Flaherty | 10 | 17.3 | -7.3 |
Carlos Rodón | 20 | 27.2 | -7.2 |
Chris Paddack | 14 | 21.1 | -7.1 |
Nick Martinez | 7 | 14.0 | -7.0 |
Slade Cecconi | 9 | 16.0 | -7.0 |
Erick Fedde | 23 | 29.8 | -6.8 |
Shota Imanaga | 11 | 17.5 | -6.5 |
George Kirby | 7 | 13.3 | -6.3 |
Ryan Weathers | 20 | 25.8 | -5.8 |
Daniel Hudson | 3 | 8.8 | -5.8 |
Framber Valdez | 19 | 24.8 | -5.8 |
Freddy Peralta | 26 | 31.7 | -5.7 |
Yohan Ramírez | 9 | 14.6 | -5.6 |
Zac Gallen | 15 | 20.4 | -5.4 |
Seth Lugo | 20 | 25.4 | -5.4 |
Blake Snell | 14 | 19.2 | -5.2 |
Randy Vásquez | 7 | 12.2 | -5.2 |
Name | BB | zBB | zBB Diff |
---|---|---|---|
Adrian Houser | 28 | 18.9 | 9.1 |
James Paxton | 32 | 23.8 | 8.2 |
Bryce Jarvis | 25 | 16.8 | 8.2 |
Charlie Morton | 28 | 20.1 | 7.9 |
Michael Soroka | 35 | 27.7 | 7.3 |
Tyler Anderson | 33 | 26.2 | 6.8 |
Michael King | 34 | 27.4 | 6.6 |
A.J. Puk | 20 | 13.7 | 6.3 |
Garrett Cleavinger | 16 | 9.9 | 6.1 |
Camilo Doval | 19 | 13.0 | 6.0 |
Luis Severino | 27 | 21.0 | 6.0 |
Dakota Hudson | 35 | 29.2 | 5.8 |
Héctor Neris | 19 | 13.2 | 5.8 |
Trevor Rogers | 31 | 25.3 | 5.7 |
Triston McKenzie | 38 | 32.3 | 5.7 |
Spencer Arrighetti | 29 | 23.4 | 5.6 |
Alexis Díaz | 18 | 12.5 | 5.5 |
Michael Lorenzen | 28 | 22.5 | 5.5 |
Elvis Peguero | 13 | 7.6 | 5.4 |
Kyle Finnegan | 10 | 4.9 | 5.1 |
Name | SO | zSO | zSO Diff |
---|---|---|---|
Ranger Suárez | 85 | 61.4 | 23.9 |
Tyler Glasnow | 116 | 95.4 | 21.1 |
Javier Assad | 72 | 53.5 | 18.7 |
Garrett Crochet | 103 | 86.9 | 16.6 |
Freddy Peralta | 92 | 76.2 | 16.2 |
Sonny Gray | 91 | 76.2 | 15.2 |
Aaron Nola | 76 | 62.3 | 14.0 |
Luis Gil | 90 | 76.6 | 13.8 |
Erick Fedde | 77 | 64.3 | 13.0 |
MacKenzie Gore | 81 | 70.1 | 11.2 |
Spencer Turnbull | 50 | 39.4 | 10.8 |
Zack Wheeler | 95 | 85.1 | 10.3 |
Lance Lynn | 63 | 53.2 | 10.1 |
Paul Skenes | 46 | 36.7 | 9.5 |
Fernando Cruz | 54 | 45.2 | 9.0 |
Kyle Bradish | 49 | 40.3 | 8.9 |
Nestor Cortes | 78 | 69.5 | 8.8 |
Nick Pivetta | 55 | 46.4 | 8.8 |
Matt Waldron | 68 | 59.5 | 8.8 |
Kevin Gausman | 69 | 60.6 | 8.7 |
Name | SO | zSO | zSO Diff |
---|---|---|---|
Chase Anderson | 18 | 34.4 | -16.3 |
Tyler Anderson | 53 | 68.6 | -15.3 |
Ian Hamilton | 30 | 45.4 | -15.2 |
Jesús Luzardo | 56 | 70.9 | -14.5 |
Joe Ross | 35 | 47.7 | -12.5 |
Jared Jones | 79 | 91.8 | -12.4 |
Robert Gasser | 16 | 27.7 | -11.6 |
Jason Adam | 25 | 36.3 | -11.2 |
Griffin Canning | 47 | 58.2 | -11.0 |
Jordan Montgomery | 32 | 43.1 | -10.8 |
Ross Stripling | 35 | 45.8 | -10.5 |
Jake Bird | 12 | 22.4 | -10.3 |
JP Sears | 54 | 64.4 | -10.1 |
James McArthur | 24 | 34.2 | -10.0 |
Bailey Falter | 49 | 58.6 | -9.3 |
Reese Olson | 61 | 70.5 | -9.2 |
Logan Gilbert | 84 | 93.3 | -8.9 |
Chris Devenski | 19 | 27.9 | -8.8 |
Nick Sandlin | 30 | 38.9 | -8.7 |
Tanner Rainey | 10 | 18.8 | -8.7 |
Tyler Anderson’s year gets even weirder with these charts. His ERA (2.63) is currently more than a full two runs below his FIP (4.72), but there’s more oddness here when you dig into the numbers. He just missed the zFIP chart (ZiPS thinks his zFIP should be 0.23 runs better) but it’s even more than that. Of active pitchers, Anderson is the pitcher who zSO has most overrated — by 89 strikeouts — since 2015, a gap of more than 20 strikeouts larger than the next guy (Wandy Peralta at -67). His career strikeout rate is absolutely abysmal for a pitcher with a league-average contact rate. The Dodgers got a terrific season out of him in 2022, but not even they could figure out how to bump up his strikeouts.
As with hitters, called-strike rate has little use in modeling strikeouts, while contact numbers are incredibly important. Also similar to hitters, the decision metrics are more meaningful when modeling walks, as is first-pitch strike percentage, which I’ve long used as a leading indicator of walk improvement/decline.
I’ll run down the zStats one more time this season, in late August, and we’ll evaluate again how zStats performed vs. the actual numbers with two more months of data.
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.
Really surprised not to see Ben Lively on the list. He just misses out by his current ZiPS ROS projected FIP (-0.56), but I would have assumed his outlook would have improved over 10 good starts.
I believe you’re confusing zFIP with ZiPS FIP projection.
…whoops xD