Quick post on this fine Tuesday. I had the idea to develop a stat that gives pitchers credit for developing extremely weak contact. Other people have done this, to be sure. This isn’t a novel idea by me, and it’s not going to be the most useful thing in the world, either. But look, it’s February 11th, and we’re all hurting for baseball.
You could replicate this pretty closely by simply taking the xwOBA allowed for pitchers last year. The team at Baseball Savant has their stat xERA, which does just that. xERA (expected ERA) is simply xwOBA allowed converted to look like an ERA. Since hitters control what happens on contact much more than pitchers do, it’s a less predictive stat than our old friends K-BB%, xFIP, and SIERA.
I hope you appreciate my honesty here. I am willing to tell you ahead of time that the thing I’m about to do isn’t all that useful for you. And now that I’ve said it, I feel confident enough to go do it.
The thinking behind this can be shown in a video:
This is a fantastic pitch from Bryan Woo. It’s a brilliant four-seamer in a perfect location. It generates a swing, and there’s almost no chance of that swing turning into anything good for the hitter. The best he can hope for is to foul it off. In this case, he pops out harmlessly into foul ground to the third baseman.
And yet, Woo gets no credit here in (my version) of Strike%. So this “Optimal Outcome Rate (OO%)” statistic takes the strike rate and includes these weakly hit balls as well. I define weakly hit by any batted ball with an expected batting average of .200. Another way to say that would be a batted ball with less than a 20% chance of going for a hit.
And look - apparently, I can embed data wrapper tables right into Substack. That’s exciting. Here is the full data for pitchers who threw at least 1,500 pitches last year:
You can see that Bryan Woo is the poster boy here, even though we don’t do posters anymore. He generated the fifth-best xERA in the league.
Top 10 in xERA, 2024
Paul Skenes 2.53
Blake Snell 2.57
Tyler Glasnow 2.65
Tarik Skubal 2.72
Bryan Woo 2.72
Justin Steele 2.74
Zack Wheeler 2.80
Chris Sale 2.80
Garrett Crochet 2.85
Joe Ryan 2.87
Woo is the standout here, for sure. He did not have a high strikeout rate last year (21%), but he wasted very few pitches (the lowest ball rate in the league at 29%), and hitters could not do much with his pitches even when they were getting the bat on it.
Bryan Woo SLG Allowed by Pitch
4-Seam: .355
Sinker: .315
Slider: .529
Change: .373
Sweeper: .100
The other name that stands out here is Joey Estes. He had a horrible strikeout rate (17%), so that confuses things a ton. How do you end up in the top ten here when you hardly struck anybody out? Much like Woo, he filled up the strike zone. He threw 56% of his pitches in the strike zone. That was the fourth-highest in the league (Woo, Steele, Mikolas). That gave him a very low 31% Ball%.
That’s how he winds up here. He struck out just 17% of hitters and walked 5% of them. That means that 78% of the batters he faced put a ball in play. That is not a recipe for success, especially as an extreme fly ball pitcher (he was third in the league with a 35% FB% behind Rodon and Ober).
It did turn into a decent WHIP (1.23) for Estes, and he did have some very nice outings when he got some BABIP luck. He threw a complete game shutout on July 3rd and had six outings where he gave up one earned run or fewer.
Overall, though, Estes being here shows you the weakness of the stat. Is he better than he showed last year? I think so. Is he someone you should want on your fantasy teams? No!
I also generated OO% at the individual pitch level. It’s important to keep the context in mind, so here’s the table of average OO% by pitch type from 2024.
4-Seamer: 57.3%
Sinker: 56.0%
Cutter: 55.5%
Slider: 54.8%
Sweeper: 54.0%
Curveball: 52.5%
Splitter: 50.2%
Changeup: 49.8%
The best way to use the below data is to search for a pitcher's name, and then you’ll get all of their results on any pitch they threw at least 300 times.
I believe you can also download the data with that “Get the data” button. Let me know if this is a preferable way of sharing data out than the Google Sheets I’ve been doing; it’s nice to have found this way to embed data right into these posts. Much more of that coming this year!