ZiPS zStats for Pitchers at the Midpoint

The emergence of Statcast (and similar types of tracking data) over the last decade-plus has revolutionized many parts of baseball analysis. A big category that didn’t really exist prior was the notion of “expected” stats. Up until then, numbers were all tallies of results, and proto-expected metrics, like Bill James’ Component ERA, were derived from the classical array of stats. But tracking data opened up new opportunities in this area, allowing us to more closely look at home runs and strikeouts, and see the underlying processes and skills that made those results. While the past is always the past, expected stats are useful when talking about the future.
As someone who made the odd decision to work with baseball projections for half his life, I have a vested interest in finding the best use of this kind of information when predicting the future. Like the Statcast estimates (preceded with an x, as in xBA, xSLG, etc.), ZiPS has its own version, very creatively using a z instead. zStats do have some correlation with xStats, but not a perfect one, as ZiPS uses things like spray data, sprint speed, and plate discipline metrics in its estimates.
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 player “underachieves” or “overachieves” in a specific stat, the more ZiPS believes the actual performance rather than the expected one. Call this the Rule of Isaac Paredes, in honor of a player who constantly stymies zHR. In some ways, we’re projecting how cruel regression toward the mean will be.
More information on accuracy and construction can be found here.
As with the hitters, the best place to start is checking in on some of last year’s overachievers and underachievers.
| Name | FIP | zFIP | zFIP Diff | RoS FIP |
|---|---|---|---|---|
| Hoby Milner | 2.03 | 4.18 | 2.15 | 5.30 |
| Michael King | 3.21 | 4.64 | 1.43 | 8.06 |
| Joe Ryan | 3.22 | 4.39 | 1.17 | 4.28 |
| Brenan Hanifee | 3.21 | 4.35 | 1.14 | 3.24 |
| Brent Suter | 3.79 | 4.82 | 1.03 | 5.63 |
| José Buttó | 3.34 | 4.36 | 1.02 | 4.29 |
| Max Fried | 2.75 | 3.73 | 0.98 | 3.40 |
| Nathan Eovaldi | 2.40 | 3.33 | 0.93 | 3.24 |
| Brady Singer | 4.23 | 5.06 | 0.83 | 3.67 |
| Garrett Whitlock | 2.89 | 3.72 | 0.83 | 1.17 |
| Cade Povich | 4.11 | 4.90 | 0.79 | 4.21 |
| Simeon Woods Richardson | 4.32 | 5.08 | 0.76 | 4.68 |
| Hunter Brown | 2.69 | 3.44 | 0.75 | 3.59 |
| Kodai Senga | 3.20 | 3.94 | 0.74 | 5.76 |
| Cole Ragans | 2.41 | 3.15 | 0.74 | 2.67 |
| Ranger Suarez | 2.88 | 3.62 | 0.74 | 3.43 |
| Nick Pivetta | 3.26 | 4.00 | 0.74 | 3.68 |
| MacKenzie Gore | 2.92 | 3.64 | 0.72 | 5.00 |
| Garrett Crochet | 2.54 | 3.25 | 0.71 | 3.23 |
| Chad Patrick | 3.42 | 4.12 | 0.70 | 3.34 |
| Name | FIP | zFIP | zFIP Diff | RoS FIP |
|---|---|---|---|---|
| Bowden Francis | 6.81 | 4.48 | -2.33 | NA |
| Tanner Houck | 6.11 | 3.85 | -2.26 | NA |
| Keider Montero | 5.43 | 3.63 | -1.80 | 4.06 |
| Emerson Hancock | 5.67 | 3.92 | -1.75 | 2.65 |
| Jameson Taillon | 5.16 | 3.66 | -1.50 | 3.31 |
| Walker Buehler | 6.03 | 4.61 | -1.42 | 5.52 |
| Osvaldo Bido | 6.52 | 5.11 | -1.41 | 5.31 |
| Aaron Nola | 5.02 | 3.66 | -1.36 | 4.03 |
| Zach Eflin | 5.72 | 4.54 | -1.18 | 4.85 |
| Jack Kochanowicz | 5.54 | 4.38 | -1.16 | 7.10 |
| Bryse Wilson | 6.44 | 5.32 | -1.12 | 2.14 |
| Bailey Ober | 5.29 | 4.18 | -1.11 | 4.15 |
| Ryan Yarbrough | 4.69 | 3.68 | -1.01 | 6.94 |
| Scott Blewett | 5.26 | 4.25 | -1.01 | 7.64 |
| Abner Uribe | 2.91 | 1.95 | -0.96 | 2.42 |
| Hunter Greene | 3.40 | 2.45 | -0.95 | 3.05 |
| Tyler Phillips | 4.77 | 3.82 | -0.95 | 3.40 |
| Kyle Hendricks | 4.88 | 4.00 | -0.88 | 4.23 |
| José A. Ferrer | 3.36 | 2.52 | -0.84 | 2.43 |
| Ben Brown | 4.09 | 3.26 | -0.83 | 3.88 |
Of the 20 biggest overachievers in zFIP, meaning that the model felt they had a FIP-based performance better than one would expect from the tracking data, 17 saw their FIPs decline in the second half. As a group, they had an actual first-half FIP of 3.12, compared to a zFIP of 4.02. They collectively put up a 3.90 FIP for the rest of the season.
In a fitting inverse from the overachievers, only three of these underachievers failed to improve on their FIP in the second half, though two (Tanner Houck, Bowden Francis) didn’t factor into that since they were knocked out by significant arm injuries. Despite a combined 5.19 FIP in the first half, the pitchers in this group put up a 3.90 first-half zFIP. They had a 4.11 FIP over the rest of the season.
OK, onto the current business.
| Player | FIP | zFIP | zFIP Diff |
|---|---|---|---|
| Joe Ryan | 2.83 | 3.95 | 1.12 |
| Cade Smith | 2.08 | 3.19 | 1.11 |
| Michael Soroka | 2.95 | 3.95 | 1.00 |
| Gordon Graceffo | 4.93 | 5.92 | 0.99 |
| Louis Varland | 1.45 | 2.38 | 0.93 |
| Shane McClanahan | 3.29 | 4.18 | 0.89 |
| Dylan Lee | 1.53 | 2.37 | 0.83 |
| Kyle Leahy | 4.10 | 4.91 | 0.81 |
| Ranger Suarez | 2.63 | 3.41 | 0.79 |
| Emerson Hancock | 3.69 | 4.42 | 0.73 |
| Jack Flaherty | 3.76 | 4.47 | 0.71 |
| Cam Schlittler | 2.58 | 3.29 | 0.71 |
| Jacob Latz | 2.64 | 3.33 | 0.69 |
| Tomoyuki Sugano | 5.34 | 6.02 | 0.68 |
| Noah Cameron | 3.82 | 4.50 | 0.68 |
| Shane Drohan | 3.21 | 3.89 | 0.67 |
| Eric Orze | 3.27 | 3.91 | 0.65 |
| Eduardo Rodriguez | 4.01 | 4.65 | 0.64 |
| Ben Brown | 2.52 | 3.14 | 0.63 |
| MacKenzie Gore | 3.45 | 4.07 | 0.61 |
| Player | FIP | zFIP | zFIP Diff |
|---|---|---|---|
| Jacob Lopez | 6.12 | 4.59 | -1.53 |
| Jeffrey Springs | 5.87 | 4.42 | -1.45 |
| Mike Burrows | 5.65 | 4.39 | -1.27 |
| Brady Singer | 5.86 | 4.63 | -1.23 |
| Robert Gasser | 4.92 | 3.76 | -1.16 |
| Tobias Myers | 4.93 | 3.83 | -1.09 |
| Jameson Taillon | 6.33 | 5.25 | -1.08 |
| Roki Sasaki | 5.55 | 4.49 | -1.06 |
| Kai-Wei Teng | 4.82 | 3.77 | -1.05 |
| Grant Holmes | 5.22 | 4.20 | -1.02 |
| Andrew Painter | 5.53 | 4.53 | -1.00 |
| Eric Lauer | 6.08 | 5.09 | -0.99 |
| Aaron Civale | 5.50 | 4.51 | -0.98 |
| Brad Lord | 4.24 | 3.26 | -0.98 |
| Yohan Ramírez | 4.29 | 3.31 | -0.98 |
| Zack Littell | 6.21 | 5.24 | -0.97 |
| Adrian Morejon | 2.47 | 1.53 | -0.94 |
| Juan Mejia | 3.98 | 3.04 | -0.94 |
| Erick Fedde | 5.38 | 4.46 | -0.92 |
| Nick Lodolo | 5.04 | 4.12 | -0.92 |
Joe Ryan lands at the top of this year’s FIP overachievers list, but you’ll find it has very little impact on his actual projections because he regularly does this. Remember, these are not projections, and the longer a player defies what his tracking stats suggest, the less ZiPS will care about its cupboard of expected stats. While ZiPS isn’t quite buying what we’re seeing from Michael Soroka, I imagine he’d still be happy with his zFIP given most of his previous six seasons have been impacted by injury.
Juan Mejia is perhaps the most interesting of the underachievers, a hard-throwing fastball-slider guy who had quite a bit of success with the Rockies last year. His 3.98 FIP is already way below his 5.79 ERA, so by dropping the FIP even lower, ZiPS is chopping his ERA nearly in half. There’s some real strikeout upside; a hard-throwing reliever with a contact rate under 75% ought to have a double-digit K/9. I’m not making that up — about 80% of relievers with a fastball velocity of at least 96 mph and a contact rate under 75% have a K/9 of at least 10 batters, while only 42% of the rest of relievers do. I also enjoy that ZiPS thinks Adrian Morejon has been even better than his 2.47 FIP.
| Player | HR | zHR | Diff |
|---|---|---|---|
| Joe Ryan | 10 | 17.5 | 7.5 |
| Shane McClanahan | 6 | 12.5 | 6.5 |
| Kyle Leahy | 9 | 14.9 | 5.9 |
| Eduardo Rodriguez | 10 | 15.8 | 5.8 |
| Shane Baz | 9 | 14.2 | 5.2 |
| Alex Lange | 2 | 7.1 | 5.1 |
| Justin Wrobleski | 8 | 13.0 | 5.0 |
| Michael Soroka | 6 | 10.9 | 4.9 |
| Eric Orze | 1 | 5.6 | 4.6 |
| Shane Drohan | 5 | 8.8 | 3.8 |
| MacKenzie Gore | 9 | 12.8 | 3.8 |
| Noah Cameron | 10 | 13.7 | 3.7 |
| Ben Brown | 2 | 5.7 | 3.7 |
| Gordon Graceffo | 4 | 7.6 | 3.6 |
| Jack Flaherty | 8 | 11.5 | 3.5 |
| Seth Lugo | 14 | 17.2 | 3.2 |
| Cole Sulser | 5 | 8.2 | 3.2 |
| Tomoyuki Sugano | 16 | 19.2 | 3.2 |
| Dylan Lee | 1 | 4.1 | 3.1 |
| Michael King | 10 | 13.0 | 3.0 |
| Player | HR | zHR | Diff |
|---|---|---|---|
| Jeffrey Springs | 24 | 15.1 | -8.9 |
| Brady Singer | 20 | 13.7 | -6.3 |
| Miles Mikolas | 20 | 13.8 | -6.2 |
| Mike Burrows | 21 | 14.9 | -6.1 |
| Zack Littell | 22 | 16.1 | -5.9 |
| Jacob Misiorowski | 9 | 3.7 | -5.3 |
| Nathan Eovaldi | 19 | 13.8 | -5.2 |
| Tanner Bibee | 20 | 14.9 | -5.1 |
| Erick Fedde | 15 | 10.0 | -5.0 |
| Shota Imanaga | 21 | 16.1 | -4.9 |
| Ryne Nelson | 18 | 13.3 | -4.7 |
| Aaron Nola | 19 | 14.3 | -4.7 |
| Jacob Lopez | 11 | 6.5 | -4.5 |
| Jameson Taillon | 20 | 15.5 | -4.5 |
| Kodai Senga | 12 | 7.5 | -4.5 |
| Freddy Peralta | 14 | 9.7 | -4.3 |
| Eric Lauer | 18 | 13.7 | -4.3 |
| Roki Sasaki | 17 | 13.0 | -4.0 |
| Brandon Sproat | 14 | 10.0 | -4.0 |
| Andrew Abbott | 16 | 12.0 | -4.0 |
Homers for pitchers are fundamentally a terrible stat. The simplest explanation for this is probably that xFIP actually works, in a sense that even though xFIP isn’t a great stat, homers for pitchers are so volatile that even a crazy assumption — that every pitcher should allow homers at a league-average rate — gives it more predictive value than FIP. So expected stats for homers tend to be highly useful, though still on the volatile side. The most interesting one here is Jacob Misiorowski, as ZiPS thinks that he ought to have the lowest home run rate allowed among starting pitchers, at 1.0%. (Relievers Mason Miller and Adrian Morejon edge the Miz.) Misiorowski wasn’t far off from making the FIP underachiever list, either.
| Player | FIP | zFIP |
|---|---|---|
| Mason Miller | 0.57 | 0.97 |
| Jacob Misiorowski | 2.11 | 1.50 |
| Adrian Morejon | 2.47 | 1.53 |
| Raisel Iglesias | 2.39 | 2.09 |
| Trevor Megill | 1.48 | 2.13 |
| Jhoan Duran | 1.00 | 2.17 |
| Tanner Scott | 2.46 | 2.21 |
| Dylan Lee | 1.53 | 2.37 |
| Louis Varland | 1.45 | 2.38 |
| Abner Uribe | 3.34 | 2.39 |
| Bradgley Rodriguez | 2.72 | 2.42 |
| Grant Taylor | 2.40 | 2.43 |
| Anthony Bender | 2.42 | 2.48 |
ZiPS also holds out more hope for the back of the Reds’ rotation than I do.
| Player | BB | zBB | Diff |
|---|---|---|---|
| Paul Skenes | 23 | 35.4 | 12.4 |
| Tomoyuki Sugano | 23 | 34.8 | 11.8 |
| Chase Burns | 31 | 40.1 | 9.1 |
| Logan Gilbert | 22 | 30.7 | 8.7 |
| Cam Schlittler | 21 | 29.5 | 8.5 |
| Drew Rasmussen | 17 | 25.3 | 8.3 |
| Freddy Peralta | 39 | 47.2 | 8.2 |
| Michael McGreevy | 22 | 30.1 | 8.1 |
| Jacob deGrom | 22 | 30.1 | 8.1 |
| Emerson Hancock | 24 | 31.6 | 7.6 |
| Ryan Weathers | 27 | 34.4 | 7.4 |
| Cristopher Sánchez | 24 | 31.2 | 7.2 |
| Zack Wheeler | 20 | 27.1 | 7.1 |
| Evan Sisk | 13 | 20.0 | 7.0 |
| Brady Singer | 30 | 36.9 | 6.9 |
| Tarik Skubal | 10 | 16.8 | 6.8 |
| Michael Lorenzen | 35 | 41.8 | 6.8 |
| Tanner Bibee | 30 | 36.3 | 6.3 |
| Yoshinobu Yamamoto | 21 | 27.2 | 6.2 |
| Andre Pallante | 27 | 32.7 | 5.7 |
| Player | BB | zBB | Diff |
|---|---|---|---|
| Bubba Chandler | 52 | 39.4 | -12.6 |
| Luis Severino | 31 | 22.8 | -8.2 |
| Richard Lovelady | 21 | 13.2 | -7.8 |
| Brad Lord | 21 | 13.7 | -7.3 |
| Trevor Rogers | 29 | 21.7 | -7.3 |
| Trey Gibson | 25 | 17.8 | -7.2 |
| Sean Burke | 33 | 25.9 | -7.1 |
| Kris Bubic | 26 | 19.3 | -6.7 |
| Yohan Ramírez | 30 | 23.5 | -6.5 |
| Joey Cantillo | 47 | 40.6 | -6.4 |
| DL Hall | 24 | 17.7 | -6.3 |
| Kyle Finnegan | 25 | 18.9 | -6.1 |
| Calvin Faucher | 26 | 19.9 | -6.1 |
| Andrew Abbott | 45 | 39.0 | -6.0 |
| Framber Valdez | 36 | 30.0 | -6.0 |
| Tyler Rogers | 13 | 7.1 | -5.9 |
| David Peterson | 33 | 27.1 | -5.9 |
| Brock Burke | 26 | 20.3 | -5.7 |
| Tommy Nance | 13 | 7.3 | -5.7 |
| Carlos Rodón | 26 | 20.4 | -5.6 |
It’s weird, the zStats for Skenes just haven’t been at his usual level this season, and this was before his recent performance dip. Not that his numbers are terrible here, just that they show him a bit off his Cy Young form from last year. Kiri Oler has more on Skenes.
| Player | SO | zSO | Diff |
|---|---|---|---|
| Paul Skenes | 123 | 102.0 | 21.0 |
| Cam Schlittler | 131 | 110.5 | 20.5 |
| Louis Varland | 66 | 46.6 | 19.4 |
| Zack Wheeler | 98 | 79.5 | 18.5 |
| Emerson Hancock | 92 | 73.7 | 18.3 |
| Dylan Cease | 137 | 119.5 | 17.5 |
| Bryce Miller | 62 | 44.5 | 17.5 |
| Nolan McLean | 118 | 102.5 | 15.5 |
| Ranger Suarez | 97 | 81.5 | 15.5 |
| Parker Messick | 109 | 94.3 | 14.7 |
| MacKenzie Gore | 104 | 89.7 | 14.3 |
| Michael Soroka | 79 | 65.1 | 13.9 |
| Landen Roupp | 104 | 90.3 | 13.7 |
| Joe Ryan | 122 | 108.6 | 13.4 |
| Sonny Gray | 82 | 69.2 | 12.8 |
| Jack Flaherty | 92 | 79.6 | 12.4 |
| Luis Severino | 65 | 53.1 | 11.9 |
| Taj Bradley | 112 | 100.6 | 11.4 |
| Drew Rasmussen | 96 | 84.7 | 11.3 |
| Ryan Rolison | 35 | 24.3 | 10.7 |
| Player | SO | zSO | Diff |
|---|---|---|---|
| Tyler Phillips | 52 | 71.5 | -19.5 |
| Zac Gallen | 61 | 79.0 | -18.0 |
| Tanner Bibee | 84 | 101.7 | -17.7 |
| Joey Cantillo | 96 | 111.0 | -15.0 |
| Sandy Alcantara | 92 | 106.4 | -14.4 |
| Jack Kochanowicz | 47 | 60.5 | -13.5 |
| Tim Herrin | 27 | 39.6 | -12.6 |
| Andre Pallante | 70 | 82.2 | -12.2 |
| George Soriano | 32 | 44.1 | -12.1 |
| Nick Martinez | 61 | 72.9 | -11.9 |
| Trevor Rogers | 65 | 76.7 | -11.7 |
| Simeon Woods Richardson | 31 | 42.5 | -11.5 |
| Scott Barlow | 29 | 40.5 | -11.5 |
| Sam Bachman | 39 | 50.3 | -11.3 |
| Grant Holmes | 71 | 82.1 | -11.1 |
| Mitchell Parker | 34 | 45.1 | -11.1 |
| Merrill Kelly | 53 | 64.1 | -11.1 |
| Brady Singer | 71 | 82.0 | -11.0 |
| Bradgley Rodriguez | 35 | 45.7 | -10.7 |
| Aaron Civale | 54 | 64.5 | -10.5 |
Skenes again pops up at the top of a leaderboard that he shouldn’t want to be on. I should note at this point that a zFIP of 3.40 is still ace territory. ZiPS sees a bit of regression for Cam Schlitter, but like Skenes, if Schlittler pitches to his 3.29 zFIP for the rest of the season, he’d still be an elite starting pitcher.
ZiPS thinks there’s more ceiling for Sandy Alcantara to reach for in his second year back from injury, and though Zac Gallen has still been terrible, there’s at least some hope that he’s not actually a sub-six strikeout pitcher for good. This isn’t the first time that ZiPS hasn’t quite understood why Tim Herrin doesn’t strike out more batters, though it’s not quite at the level of early-career Nathan Eovaldi.