Pitch Type xwOBA on Contact (xwOBAcon)
In 2018, and again earlier this year, I reviewed how different pitch types perform by various measures including swinging strike rate (SwStr%), ground ball rate (GB%), and isolated power (ISO). In the last couple of years I have tried to emphasize heavily the importance of evaluating a pitcher on his component parts — namely, each of his unique pitches, all of which behave differently and can bring resolution to some of pitching’s more enigmatic questions and issues.
If you clicked through those links in the first sentence, you saw how breaking balls and offspeed pitches outperform fastballs by virtually every metric. With the advent of Statcast, we can not only validate my prior work, which relied on PITCHf/x data, but also dig more deeply into how each pitch type behaves according to newfangled Statcast data — namely, how each pitch performs exclusively on balls in play.
This is something I pursued preliminarily using the PITCHf/x data, by measure of ISO, but it doesn’t fully capture total production or damage allowed. Having written about Zack Wheeler the other day and in discussing how the performance of his pitches have ebbed and flowed from 2018 to 2019, I was curious to dig into pitch-specific expected weighted on-base average (xwOBA) on contact (xwOBAcon).
Here’s how every pitch type compares by xwOBA allowed. Keep in mind, xwOBA captures “deserved” total value through not only balls in play but also strikeouts and walks. Year in and year out, fastballs fare worse than the league average, whereas breaking balls and offspeed pitches perform better than average, all to varying degrees.
| Pitch Type | 2015 | 2016 | 2017 | 2018 | 2019 |
|---|---|---|---|---|---|
| Sinker | .344 | .351 | .355 | .343 | .363 |
| Four-Seamer | .338 | .349 | .354 | .347 | .356 |
| Two-Seamer | .342 | .354 | .366 | .351 | .353 |
| Average | .308 | .315 | .321 | .311 | .318 |
| Cutter | .308 | .311 | .305 | .309 | .308 |
| Change-up | .284 | .287 | .301 | .284 | .289 |
| Knuckle Curve | .235 | .241 | .258 | .260 | .273 |
| Curveball | .240 | .248 | .260 | .254 | .266 |
| Slider | .251 | .261 | .261 | .254 | .268 |
| Splitter | .263 | .273 | .268 | .252 | .253 |
Generally the same can be said for actual wOBA, which, given the assumptions that underpin xwOBA, it should. At the league level, xwOBA approximates wOBA, much the same way FIP or xFIP equals ERA when rolled up to the league level. Thus, I will use xwOBA and xwOBAcon exclusively henceforth.
| Pitch Type | 2015 | 2016 | 2017 | 2018 | 2019 |
|---|---|---|---|---|---|
| Sinker | .342 | .351 | .353 | .344 | .366 |
| Four-Seamer | .341 | .350 | .351 | .346 | .357 |
| Two-Seamer | .347 | .351 | .363 | .352 | .355 |
| Average | .312 | .318 | .322 | .315 | .321 |
| Cutter | .309 | .312 | .305 | .312 | .300 |
| Change-up | .291 | .293 | .301 | .292 | .289 |
| Knuckle Curve | .245 | .250 | .264 | .271 | .285 |
| Curveball | .250 | .255 | .266 | .270 | .276 |
| Slider | .262 | .267 | .272 | .263 | .276 |
| Splitter | .269 | .280 | .274 | .252 | .260 |
What occurred to me in looking at Wheeler is the efficacy of breaking balls and offspeed pitches in terms of generating swinging strikes (and, thus, strikeouts) gives those pitches an unfair edge. Maybe “unfair” isn’t the correct word — their superior performance is well-deserved — but perhaps those whiffs mask underlying contact quality that is not necessarily superior to fastballs.
Here is each pitch type’s xwOBAcon by year:
| Pitch Type | 2015 | 2016 | 2017 | 2018 | 2019 |
|---|---|---|---|---|---|
| Four-Seamer | .372 | .385 | .395 | .388 | .409 |
| Sinker | .357 | .368 | .369 | .359 | .377 |
| Knuckle Curve | .338 | .342 | .354 | .368 | .374 |
| Average | .352 | .364 | .373 | .362 | .374 |
| Two-Seamer | .352 | .365 | .377 | .360 | .370 |
| Cutter | .345 | .353 | .359 | .359 | .356 |
| Slider | .332 | .349 | .354 | .343 | .355 |
| Curveball | .334 | .345 | .352 | .345 | .354 |
| Change-up | .332 | .339 | .352 | .330 | .338 |
| Splitter | .334 | .343 | .357 | .339 | .324 |
This table isn’t dramatically different, but you can see the playing field is much more level when isolating performance on balls in play. Whereas xwOBA (and wOBA) were ordered almost identically by pitch type year to year, xwOBAcon bounces around, with, for example, splitters greatly outperforming sliders in one year and underperforming them in another. You can easily substitute any other pair of pitch types into that previous sentence and have it remain valid.
While a couple of observations appear to be truisms (splitters are best, change-ups are 2nd-bast, four-seam fastballs are worst) and there appears to evidence of slight trends, it seems contact quality by pitch type is subject to a lot of noise. In other words, controlling for strikeouts and walks indeed levels the playing field among the pitch types.
Moreover, given the noise related to xwOBAcon, I’m starting to suspect it might be the kind of metric that behaves less reliably than others. In the same vein as our collective caution of trusting a batting average on balls in play (BABIP), home run-to-fly ball rate (HR/FB), or strand rate (LOB%) that’s egregiously high or low, we may need to exercise caution in trusting xwOBAcon marks that are egregiously high or low. We marry ourselves to Statcast’s “x” metrics as being the be-all, end-all validation of performance, yet xwOBA (and, perhaps more so, xwOBAcon) are moving targets in and of themselves.
Take Wheeler, for example. Here are his xwOBAcon marks by year, compared to the league:
| Pitch Type | 2018 | 2019 | ||
|---|---|---|---|---|
| Pitch Type | Wheeler | League | Wheeler | League |
| Four-Seamer | .357 | .388 | .387 | .409 |
| Slider | .280 | .343 | .401 | .355 |
| Two-Seamer | .242 | .360 | .393 | .370 |
| Splitter | .403 | .339 | .324 | .324 |
| Curve | .286 | .345 | .320 | .354 |
I highlighted three specific pitches from Wheeler’s arsenal: his slider, two-seamer, and splitter. In 2018, Wheeler’s slider and two-seamer performed absurdly well (suspiciously so!) relative to the league-average xwOBAcon, while his splitter performed miserably. Fast-forward to 2019, and Wheeler’s slider and two-seamer have regressed beyond the league-average (if the pendulum swings to, it will also swing fro), while his splitter is now performing right at league-average.
Frankly, I think this says a lot. It’s one thing to look at a pitcher’s standalone xwOBA, compare it to his wOBA, and bet on over- or under-performance moving forward. It’s another thing to isolate the contact quality and identify exactly where and how he might be over- or under-performing, especially if contact management is not as much of a skill as we make it out to be. The table above could’ve been enough to determine the magnitude of Wheeler’s regression from his excellent 2018 campaign to this year’s underwhelming 2019 performance. It’s not that Wheeler’s pitches are unable to be better (or worse) than league-average — they certainly can be — just that they probably are unable to be better (or worse) than league-average by such wide margins.
There will be pitchers with offerings that consistently over- or under-perform the league-average xwOBAcon, just as there are pitchers who consistently betray the league-average BABIP, HR/FB, LOB%, etc. Ultimately, each pitcher should be evaluated individually, their trends over time parsed and assessed systematically. But I have a suspicion that year-to-year reliability of xwOBAcon, at only the pitch level but also (especially) at the pitch type level, is fleeting.
To be investigated another day. In the meantime: Throw a splitter, folks.
Two-time FSWA award winner, including 2018 Baseball Writer of the Year, and 8-time award finalist. Featured in the print edition of Baseball Prospectus since 2022 (2026 edition out now). Biased toward a nicely rolled baseball pant.
Great work!
maybe a dumb question, but what’s the difference between a splitter, a sinker and a two seamer?
Despite the “split finger fastball” name, a splitter operates more like a change up, because it’s wedged between your fingers and breaks down in the zone. Its efficacy comes from it looking just like a fastball but falling off the table.
I have no clue how sinkers and 2 seamers are being differentiated here. Most pitchers seem to swear by them being the same pitch. I assume it’s just differentiating between them by movement – both are thrown with the same grip but a different spin axis. A 2-seamer would then move horizontally towards the arm side, while a sinker would move more downward.
I still think it’s an artificial difference. We don’t differentiate between 12-6 curves and sweeping curves here, so why do we differentiate between sinkers and 2-seamers?
The short answer is: this is how Statcast categorizes things. I’m too lazy to consolidate.
However, you might enjoy this Twitter DM I received from Eno Sarris (which I don’t know if he cares if I share it): “I think it’s a mistake to break out splitters, sinkers, and knuckle curves from changeups, two seamers, and curve balls.” Haha!
By Statcast, splitters are definitely a grip+velo thing. Knuckle-curve vs regular curve is exclusively grip (maybe spin rate too). As for sinkers vs two-seamers… can I be honest and tell you I have no idea why or how they’re differentiated either? I always considered them synonymous.
Can you elaborate how you calculate wOBA for each pitch type? My understanding is that wOBA is a function of plate appearance outcomes (BB, K, 1B, 2B, etc). But if you take fastballs for example, you will also have many data points that do not have one of those outcomes (i.e. balls 1 thru 3, strikes 1 and 2, and foul balls). For your wOBA by pitch type table, are you only looking at pitches that ended a plate appearance?
Good question! Yes, wOBA (and xwOBA, for that matter) is calculated on pitches that end PAs. xwOBAcon is the same but without K/BB/HBP.
If you wanted to find total value for all pitches, that’s where Pitch Values would come in handy. Fastballs generally perform better by PVal than wOBA because they are thrown more often in counts with low swing rates (0-0, 3-0), which, by generating a strike, inherently generates value.
But, short answer: yes, what you said!
Interesting, thanks for the clarification! I was hoping there was some consensus way of accounting for the non-PA-ending pitches in wOBA and xwOBA, but I didn’t have a clear idea of how that would be done. I’ll have to dig into linear weights a little more at some point, but I’ve been putting it off for a while. Just understanding what affects certain outcomes is difficult enough, let alone determining values to place on changing the count!
Way late on this, but I’d be interested to know the league wide usage rates on these pitches. I’d wager not that many guys throw a splitter.