In the last post, I constructed a graph of the run values associated with plate appearances that pass through particular ball and strike counts. This single graph (based on 2015 Retrosheet play-by-play data) represents the average effects. Obviously it would be interesting to see how these pitch count effects vary by pitcher or batter. One nice aspect of the ggplot2 package is that it is a trivial change to produce these panel displays. Keep in mind that a run value of 0 represents an average outcome over all PA’s in a particular season. Good pitchers will tend to have run values that are negative and good batters will have positive run values. The interesting thing is how these average run values change according to the pitch count.

**Pitch Count Effects for Different Pitchers**

When one faces a great pitcher, it is pretty difficult for a batter to face a two-strike count — he is likely to strike out or get a weak swing on the ball. On the other hand, maybe the batter has a chance of a favorable outcome when he has a batter count. So these pitch count effects graphs maybe can tell us more than a ERA or a Whip statistic that averages over all of the different counts that the batter sees.

Let’s first look at the 2015 Cy Young winners Jake Arrieta and Dallas Keuchel.

Arrieta’s graph is pretty remarkable — PA’s that pass through practically all pitch counts have (on average) negative runs value. Keuchel is similar to Arrieta, but batters have more hope for counts that are 3-1 and 3-0. One interesting comment is that Keuchel seems to do better than Arrieta on PA’s that pass through the 0-2 count.

Since I think Clayton Kershaw is a very special pitcher, let’s compare his 2015 season with Madison Bumgarner.

These are more typical displays where the pitcher has the advantage in pitcher-counts and the batter in batter counts. In all counts, it is clear that Kershaw was more effective than Bumgarner. By the way, if one compares the two pitchers for the 0-0 count, this is a comparison of the average performance of the two pitchers.

**Pitch Count Effects for Different Batters**

One can also produce parallel panels that compare the mean run values of several batters during different pitch counts. We know batters have different batting styles and some hitters (I’m thinking of Joey Votto) do remarkably well in two-strike situations. Let’s look at some comparisons.

The 2015 Mike Trout and the 2015 Bryce Harper:

Note that Harper had a positive run value for PA’s that pass through all ball-strike counts, even the two-strike variety. Trout did very well in neutral and batter counts, but had a negative run value for 0-2 and 1-2 counts. From this perspective, Harper had the better batting year.

The 2015 Josh Donaldson and the 2015 Joey Votto:

Remember Donaldson was the 2015 MVP (AL), so his graph is not surprising — it seems similar to the graph for Trout. What is remarkable about Votto is the relatively small spread of mean run values. He might not have the highs of Donaldson and Harper in batter counts, but he is remarkably good in pitcher counts.

Where is “0-2” for Votto? It`d be the most interesting part.

The “0-2” count value is hiding behind the “1-1” count value for Votto.

These graphs are fantastic. Really nice work! One additional twist that might be interesting: could you assign line weights based on the frequency with which pitchers and batters find themselves in different counts? So for instance, Kershaw does relatively poorly when in 3-ball counts. But if his command is such that he’s rarely ever in these counts, the current graph might undersell his overall performance relative to a guy with similar situational performances but less control.

Trevor, that is a good suggestion and I’ll try to incorporate that in future graphs. Thanks.

Brian, this is is really good stuff. Any chance you will post the code. I’d love to use it as an example for generating these types of state chart graphics in R.