Formulating a Hitter xK% Metric

Since I develop my own player forecasts, I am always looking for better ways to use the advanced metrics to project the more basic ones. You may remember the quest Chad Young and I engaged in earlier this year to predict HR/FB ratio using batted ball distance. That didn’t go as far as I had hoped, but it did highlight the value of the batted ball distance data. When I started doing the research for my Contact% articles last week, I figured there might be a combination of plate discipline metrics, including Contact%, that does a good job of estimating a hitter’s strikeout percentage. I was right. Of course, this is nothing earth shattering, as Jeff Zimmerman reminded me that he looked at that very same concept late last season, which clearly had already escaped my brain. Since I had the data and regressions done, I decided to do a version 2.0 of formulating a hitter’s expected K%.

Initially, I used a smaller data set than Jeff. But if I was going to duplicate his work, it would have been much more useful if I used the same data set so I can compare my results to his. So I did, collecting all hitters with at least 200 plate appearances from 2002 to 2012, which gave me a total of 3,796 player seasons. My initial thought was that a hitter’s strikeout rate would depend largely on his Contact% and the rate of pitches he saw inside the strike zone, indicated by Zone%. I then tested a host of different combinations that made logical sense to me (if anyone knows how to tell Excel to automatically test every single regression combination from a series of variables, PLEASE share!) until I found the best one, as follows:

xK% = 1.095 – (Z-Swing% * 0.250) – (Contact% * 0.888) – (Zone% * 0.076)

xK

I wasn’t sure whether it was even worth posting a version 2.0 given that Jeff’s R-squared was at 0.79, so this was only a slight improvement. However, it has one less variable, plus, it includes Zone%. However, my initial assumption was that Zone% would have a positive correlation with K%. A hitter who sees more strikes will strike out more often seems like an obvious concept. However, this equation, and the others that I generated, all had Zone% with a negative value. I wonder if that is because a hitter who sees fewer pitches in the zone is liable to chase more pitches out of the zone, which are harder to make contact with. That’s the only explanation I can think of, but it does seem to make sense.

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won't bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it.

On the other hand, the negative value for Z-Swing% makes complete sense. If you’re getting thrown strikes and not swinging at them, they will be called strikes, and the hitter is more likely to get called out looking. The strong negative correlation with Contact% is self explanatory. I tried breaking Contact% up into Z-Contact% and O-Contact% instead of the umbrella term, but it led to a worse R-squared (and more terms! gasp!).

There was also an interesting comment on Jeff’s article by slash12, known around here for his work on an xBABIP formula. He noted that he looked at an equation for estimating a hitter’s strikeout rate in the past, but did not find it to be a good predictor and players who beat the model seemed to consistently do so. Unfortunately, this is going to happen with any estimator metric we derive with outliers always screwing up our dreams of the metric working for every player. There is always going to be other factors involved that either don’t show up in our specific stats, all stats, including those not available here, or they do show up, but we just haven’t figured out exactly where to look.

Given that plate discipline metrics stabilize sooner than results-based statistics like strikeout rate, it is still worth using an xK% formula this early in the season. As usual, I will follow up on this with the names of hitters striking out more and less often than the xK% formula estimates.





Mike Podhorzer is the founder of ProjectingX IQ, an advanced fantasy baseball analytics platform that transforms projection data and in-season performance signals into actionable intelligence. He is the 2015 Fantasy Sports Writers Association Baseball Writer of the Year and three-time Tout Wars champion. He is the author of the eBook Projecting X 2.0: How to Forecast Baseball Player Performance, which teaches you how to project players yourself. Follow Mike on X@MikePodhorzer and contact him via email.

26 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ruki Motomiya
13 years ago

For some reason, I read hitter as Hitler.

Never read FanGraph article titles at 5:32 AM, kids.

Dan GreerMember since 2018
13 years ago
Reply to  Ruki Motomiya

Now if it were a Notgraphs article penned by Dayn Perry, you’d have more than likely read it correctly.

RotoholicMember since 2016
13 years ago

I’ve found pretty good success with using a simple multiplier for each player based on weighted data from the 3 prior seasons. It’s basically just saying “we know that this guy is usually x% better or worse than his K%/SIERA/etc but we don’t know why, so we’ll just use this multiplier”. It’s not very scientific I don’t think. But it works, and helps negate the fact that the reason each player is consistently better or worse than certain metrics is different for each player. Of course the biggest issue with doing something like this is that you need to have a couple seasons worth of data. I suppose you could do a PECOTA type thing where you just use multipliers for players that historically have been similar to the rookie in question.

BY the way, I’m also very interested in finding out an answer to your request of “how to tell Excel to automatically test every single regression combination from a series of variables”. That would save a lot of time, and I’ve often wondered about it.

Michael Barr
13 years ago
Reply to  Rotoholic

Buy SPSS and use the function “factor analysis”.

Andy
13 years ago
Reply to  Michael Barr

Factor analysis is different. He wants “stepwise regression.” https://www.google.com/search?q=excel+stepwise+regression

Amateur
13 years ago
Reply to  Rotoholic

You can, as Michael suggested, buy SPSS or even Minitab. They do it easily. I don’t think Excel can do this, but maybe it’s possible with VBA.

You could also use R, a programming ‘environment’ popular with data analysts. It’s free and from what I have read, not too difficult to learn (if you have some programming experience).

jfree
13 years ago

Wondering whether First Strike % lends extra value to the prediction. Yes it is an additional variable but it is the one variable that best captures whether the pitcher is able to use what are often the better pitches in his repertoire – esp forcing the batter to potentially chase bad pitches out of the zone.

MightyJimcat
13 years ago

I’m thinking that maybe what the data is showing with Zone% is correlation and not causation. Hitters who see fewer pitches in the zone are hitters that pitchers are afraid to throw to. They’re generally power hitters, and power hitters tend to strike out more.

labe
13 years ago

Awesome. I would love to see an xBB% metric for hitters as well!

dcs
13 years ago

Nice article. How about doing the same with xBB% ?

shapular
13 years ago

Why not use R?

deezy333
13 years ago

Mike,

No Roto Riteup today, so im going to burden you with my unrelated question today.

I was just offered Castro for Bumgarner. I wasn’t high on Castro going into the season and seems to be underperforming across the board. Power is down, walks are down, stolen bases down, and strike outs are up. However he also has Segura, which I am a big fan. Even if the power surge doesn’t continue, the rest of his game looks solid.

Right now I have Rutledge at short. My pithing staff consists of Bumgarner, Zimmerman, Harvey, Peavy, Lester, Miller, Buchholz, Santiago.

I just counter offered with Segura for Buchholz and am waiting to hear back. If he is adamant about keeping Segura, Im thinking Lester or Peavy is the most I would offer for Castro.

What should I do? Thanks, Pod!

deezy333
13 years ago
Reply to  Mike Podhorzer

Thanks for getting back with me. I know you guys are always crazy busy.

I forgot to preface that this a 10 team league, bit either way my pitching is dominating.

Are you concerned with Castro at all and do you think Segura is the real deal? Im a big Rutledge fan and im worried Segura/Castro wouldn’t not be a huge upgrade. However, when you have the chance to trade pitching for hitting at your weakest position, you have to consider it.

Im ok with Rutledge on the bench as he has both 2B and SS eligibility. Currently have Altuve at 2B and Hill on DL.

If you don’t mind, could you rank my pitching staff in order of guys you would trade so I know what direction to move in counter trades.

Thanks so much and I love your work like crack (I don’t actually love crack).

deezy333
13 years ago
Reply to  Mike Podhorzer

Awesome. Thank you so much for the in depth reply.

The only ranking I was having trouble with was Lester/Peavy. I think Peavy is the better pitcher but also more fragile.

Would you trade either/both for Segura?

deezy333
13 years ago
Reply to  Mike Podhorzer

* obviously not both for Segura, just meant would you trade either or just one.

KonoldoMember since 2020
13 years ago

Have you considered looking at interactions in your models? I know they can be complicated and hard to explain but might be worth checking out.

I don’t much about using excel as statistical program for analysis, but it wouldn’t be too difficult to export the data from excel to “R” (a free statistical program) and program that to test all combinations of variables or use some kind of stepwise variable selection algorithm.

Bill
13 years ago
Reply to  Mike Podhorzer

I’ve heard great things about R, but I am stuck in the Excel world myself. However, I have spent many a year nerding out in the program, and could probably guide you through some simulation methods so you can do some testing without taking classes. Let me know if you want me to take a stab at something. I also play in a league with Ben Pasinkoff if you need a reference.

gnomez
13 years ago

As usual, great work! This is just my own preference, but I wish these sorts of studies were in the main Fangraphs section instead of Rotographs. As a non-fantasy player, I tend to only read FG and NG, which means I have a decent chance of overlooking these types of cross-over posts amid the fantasy rankings and “waiver wire” posts.

slash12Member since 2021
13 years ago

I’ve recently been yearning for this equation again, not so much for year to year strikeout surgers, but to build an xK% for small sample sizes where K% hasn’t stabilized yet. I find myself comparing one guy’s swinging strike % to another’s wondering where their K% might end up based on it.

I want to convince fangraphs brass to let us put in our own custom equations for our player pages/leaderboards. Help me out mr. podhorzer! I know you want this too.