If you only track one advanced pitching metric, track CSW%. It is simple to calculate, it stabilizes faster than almost any other rate stat, and it tells you something strikeout totals cannot: whether a pitch is actually good, independent of what the hitter or the defense did with it.
What CSW% actually measures
CSW% stands for Called Strikes plus Whiffs, divided by total pitches thrown. It is the share of a pitcher’s pitches that produced a strike without the hitter putting the ball in play — either the batter watched it go by for a strike, or swung and missed entirely.
The formula is deliberately blunt:
CSW% = (Called Strikes + Swinging Strikes) ÷ Total Pitches
That is the whole thing. No park factors, no defensive adjustments, no sequencing assumptions — which is exactly why it is useful. A called strike means the pitch beat the hitter’s decision-making. A whiff means it beat their bat. Both are wins for the pitcher that owe nothing to luck or the seven fielders behind him.
Why not just use strikeout rate?
Strikeout rate is an outcome stat, and outcomes are noisy at the amateur level. A pitcher can dominate for five innings and end up with four strikeouts because hitters kept fouling off two-strike pitches, or because a borderline call went the other way in a big count. Strikeouts also require a full plate appearance to accumulate, so a single start gives you a tiny sample.
CSW% samples every pitch instead of every plate appearance. A 75-pitch outing gives you 75 data points rather than 20-odd batters faced, which means the number starts meaning something much sooner. It also separates cleanly by pitch type: you can look at a slider’s CSW% on its own and know whether that specific pitch is missing bats, which strikeout rate can never tell you.
Roughly what is a good CSW%?
At the major-league level, average CSW% sits right around 28–30%, and anything consistently above the low 30s is genuinely excellent — that is the range elite starters live in. Those figures are well documented across public MLB data.
Amateur benchmarks are fuzzier, and you should be skeptical of anyone quoting a precise threshold for high school or college. Umpire strike zones vary enormously by level and region, and swing decisions are far less disciplined, both of which move CSW% around for reasons that have nothing to do with pitch quality. The practical approach is to build your own baseline:
- Calculate CSW% for every pitcher on your staff across a few outings.
- Use your own staff average as the reference line — that automatically controls for your league’s zone and competition.
- Track each pitcher against himself over time. A slider that climbs from 22% to 30% CSW is improving, regardless of what the "right" number is supposed to be.
Comparing a pitcher to his own past self and to his teammates is more honest than comparing him to a benchmark table built on a different level of baseball.
Reading CSW% by pitch type
The real value shows up when you split CSW% by pitch. Two patterns are worth knowing:
- A fastball usually earns CSW% through called strikes — it lives in the zone and beats hitters who take.
- A breaking ball or changeup usually earns it through whiffs — it works off the zone and beats hitters who swing.
So a fastball with a high whiff share is a genuinely elite fastball, and a breaking ball racking up called strikes may mean it is being thrown too much in the zone — effective now, but hittable against better competition. The split tells you how a pitch is winning, not just that it is.
One important caveat
CSW% does not know anything about command in the sense of hitting spots, and it does not care about contact quality. A pitcher can post a strong CSW% and still get hit hard when the ball is put in play. Pair it with a contact-quality look — exit velocity against, hard-hit rate — before drawing conclusions about a full arsenal.
PitchFilthy calculates CSW% automatically for every pitcher and every pitch type from your Trackman, Yakkertech, or Rapsodo file — no spreadsheet formulas required.
See the pitching report →
