New FanGraphs Lab Feature: Count Progression Tool

After taking a few months off from releasing new experimental data visualization options in the FanGraphs Lab, I’m happy to announce that we’re back at it. Meet the Count Progression tool:

With the advent of the ABS challenge system, this year’s league-wide walk rate has been in the news. The first month of the season featured a huge number of walks, and while subsequent months haven’t been quite as extreme, we’re still tracking for the highest full-season walk rate of the 21st century (2020 was weird, naturally). When I was tracking down where those extra walks were coming from back in May, I came up with the idea of looking at each count in isolation to hunt for changing behavior. This tool is an offshoot of that line of research.

Allow me to walk you through the various features. The tool has four tabs: Summary and Decomposition, One Count Over Time, Pitch Outcomes, and Count Flow. Summary and Decomposition uses Markov chains to work out how each count contributes to changing outcomes. Give it a baseline year and the year you’re interested in observing, then tell it what outcome you’re interested in and what count to start from. From there, the tool shows the walk, strikeout, ball in play, and hit by pitch rates from that count forward in both years, as well as the difference between the two:

It also breaks down how much each individual count has contributed to the change in outcomes. For example, the 1.7 percentage point increase in walk rate this year has been primarily driven by batters walking more frequently when they get ahead in the count:

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.

You can perform this analysis for any combination of years, outcomes, and starting counts. If you’re wondering why balls in play have gone down, you can pinpoint which counts are responsible. If you’re wondering why strikeout rates have plateaued, this can help point you in the right direction. In general, I like this view for isolating the counts I’m most interested in investigating.

Next, we’ve got the self-explanatory One Count Over Time. This tab lets you choose a count and observe how the rate of strikes, balls, fouls, and so on have fluctuated over the years. Here are 3-2 counts, for example:

Balls are on the rise, while balls in play declined around a decade ago and have flattened out at a new, lower equilibrium. At the same time, strikes are edging downward. The result is more walks and fewer batted balls.

The Pitch Outcomes tab is essentially the inverse of the One Count Over Time tab; it’s every count instead of just one, but it only compares two years instead of all of them. You can choose between comparing two years and comparing a single year to a range of years. For example, if you’re wondering which counts have moved in the favor of pitchers this year, you can compare 2015-2025 and 2026:

The largest increase in strikes has come in 0-1 counts, and it’s reasonable to think that ABS has had an effect here; the strike zone has historically shrunk in 0-1 and 1-1 counts, but increased consistency means more borderline pitches are being correctly called strikes.

Finally, the tab I like the most is Count Flow, which lets you view the changing rate at which batters reach each count over time, as well as the change in results after that count. The controls are simple. You pick a starting and ending year, pick a view mode, and then hit play or pause. My favorite mode here is “Animate,” which flows through each year sequentially and uses outlines around each cell to show the change in frequency. Red rings denote counts that are being reached more frequently; blue rings denote counts that are coming up less often. The bars in each cell show the frequency of walk/strikeout/hit by pitch/ball in play outcomes after that count, and hovering over them brings up a tooltip with the exact rates. If you’d like to compare two years, the vertical black bars on each stack of count outcomes show the rates in the first year of the selected range. For example, take a look at 3-0 and 3-1 below. It’s clear that in addition to those counts coming up more frequently, they’re resulting in walks more often than they did in 2015:

The other modes give you a little more flexibility to examine specific years and differences. “Sequence” steps through each year slowly and sequentially. “Diff(B-A)” displays the difference between two specific years, and uses a different color palette for the cells to show which have changed the most. It’s a quick and easy way of understanding which counts are happening more often than they used to:

This tool isn’t meant to completely explain shifts in walk and strikeout rates, but I think it’s a great way to help investigate the ways the game is changing.





Ben is a writer at FanGraphs. He can be found on Bluesky @benclemens.

4 Comments
Oldest
Newest Most Voted
sandwiches4everMember since 2019
4 hours ago

I know it’s an incredibly small fraction, but just out of curiosity, how are C interferences classified, since they are a terminal outcome of a PA?

hayz11Member since 2021
3 hours ago

Catcher’s interference is considered an error on the catcher, so I’m assuming it would count as a ball in play at that count.

Last edited 3 hours ago by hayz11
sandwiches4everMember since 2019
3 hours ago
Reply to  Ben Clemens

Logically makes sense; even recently, when it’s been on the rise, it’s not so much so that it’ll materially affect anything.