Archive for FanGraphs Lab

FanGraphs Lab Updates: Squared-Up Explorer and Hot Streak Tool

We’ve made two major updates to the FanGraphs Lab. Below, you’ll see an overview of the new capabilities. You can also see a list of all of the Lab upgrades and bug fixes, minor and major, here. Sean has been busy elsewhere, too, which you can read about here.

Squared-Up Explorer
The initial iteration of the Squared-Up Explorer used a pre-calculated dataset to handle the extensive transformations that take a raw set of batted ball data and turn it into an interpolated chart. We used that method to get the tool in front of people as quickly as we could, but the long-term goal was always to connect to the main FanGraphs database to allow more years of data, finer slicing, and increased flexibility across the board.

Sean and David Appelman built the necessary tools to handle the data processing in the background, before it ever hits Squared-Up Explorer. That expanded the capabilities of the tool significantly. Sean and Ben then rebuilt the user interface with the new capabilities in mind. Want to see how Kyle Schwarber hit for so much more power in 2025 than he did in 2024? You can compare his swing:

Want to dig into Cal Raleigh’s tendencies from each side of the plate? We’ve got you covered:

Want to look into Michael Harris II’s wild first-half/ second-half splits? It’s as simple as deciding which date ranges you care about. It turns out that your batted ball results will improve if you just square up everything more frequently, and get more balls in the air while you’re at it:

With the new data architecture in place, you can select by batter handedness, pitcher handedness, pitch type, and even time span. Mookie Betts against lefty four-seamers early in the year? Sure thing. Ozzie Albies batting righty against sinkers? You can do that too. You can even compare someone to another player or themselves over a different time period, against a different pitch type, or any permutation of these options.

Slicing up aggregated data into tiny sample sizes like this is definitely going to result in some weird charts. For example, here’s what Aaron Judge did against curveballs in 2025:

With so few observations, extreme values are bound to happen, like the multiple launch angles where Judge squared up every curveball he put into play. When you split things this minutely, be aware that the resulting charts are descriptive but volatile. There aren’t that many batted balls of separation between 2025 and 2024 here, and yet the charts and interpolated lines look quite different:

We mention that merely as a word of caution as you interpret results, not to say that you can’t use the Explorer this way. Batters really do have different swing profiles against different pitch shapes, and it’s fun to investigate that visually. Just take the results with a grain of salt, the same way you would with any small-sample baseball dataset. We’ve added a line to the summary statistic table showing the number of batted balls that make up each graph so that you can see for yourself. For example, Judge’s two years of data cover 17 and 18 curveballs, respectively.

We’ve also added a few other upgrades to complement the newly available data. Hovering over a frequency bubble now displays launch angle, squared-up rate, and relative frequency. The interpolation behavior has been updated to change dynamically with the chart orientation. We’ve also added detail to the legends and descriptors to make it easier to see which split you’re viewing. Try it out – we think you’ll like the upgrades.

Hot Streak Tool Update
We received a huge number of feature requests to upgrade our Hot Streak tool, and Sean bundled many of them into a single large update.

Opponent Information
Each game now displays the opposing team, opposing team’s starting pitcher, and that pitcher’s handedness. In addition, the opposing team’s name is a link to that team’s Hot Streak page:

More Stats
We’ve added wOBA, xwOBA, xSLG, and xBA to the statistics that are available to chart. We’ve also added the ability to display two statistics stacked on top of each other in the same table. Want to see power and contact together? Now you can:

More Context
Even when you’re displaying two statistics at once, valuable data could still be missing. Our solution? A tooltip with a detailed line score for each player and game:

More Sortability
Want to see the most recent games first? You can now choose between oldest-to-newest and newest-to-oldest.

That’s the latest and greatest in the FanGraphs Lab. We hope you’ll enjoy trying out these enhancements. And if these tools aren’t quite your speed, stay tuned. We’ll be addressing team strength and pitch pairings in our next release, and we have a few other ideas percolating.


Waste Not, Walk Not: Tyler Rogers Has A Plan

Jonathan Dyer-Imagn Images

Tyler Rogers makes me happy that I’m a baseball analyst. Not in the same way that Shohei Ohtani does, of course. Not in the same way that Tarik Skubal does, or Bobby Witt Jr., or any other number of superstars. Those guys are great because they do the obviously good baseball things, like running fast and throwing hard and hitting balls far. Rogers looks like an accountant who was hurriedly inserted into the game as a last resort. He also just threw 77 1/3 innings with a 1.98 ERA last season. His career ERA is 2.76 over eight seasons. I don’t know about you, but something about that tickles me endlessly.

Rogers’ superpower is his command. Last year, he walked only seven batters, a 2.3% rate. But that command can be hard to pin down. For instance, take a look at the 26 pitches Rogers threw in three-ball counts:

As you can see from the overlaid PitchingBot command grades, these locations are nothing special. There are too many crushable cookies, too many non-competitive pitches, and not enough action on the fringes of the strike zone. It’s a 42 command grade all in, nothing to write home about. In fact, Rogers walked more batters than league average per three-ball pitches thrown (in a tiny sample, to be clear). When batters got to this point in the count against him, they had a decent chance of reaching first for free. How, then, did he post the second-lowest walk rate in the majors?

To understand that, we’ll have to rewind the count. Walks require three things: a three-ball count, a pitch outside the strike zone, and no swing from the batter. Rogers cuts things off with item number one. Look at how he started batters last year:


Read the rest of this entry »


Logan Webb’s Backwards Sweeper

Neville E. Guard-Imagn Images

I’ve been playing around with the new FanGraphs Lab tools a lot recently. At first, it was bug testing, but it pretty quickly turned into fun. One minute, you’re making sure that sliders show up correctly. Next minute, you’re wondering about Logan Webb’s backwards slider. See, Webb throws a big-bending sweeper instead of a gyro slider, but it doesn’t behave at all how you’d expect: It’s good against lefties and bad against righties.

In 2025, Webb put up 5.5 WAR, a career-high mark and his fifth straight season of four or more wins. He used his sweeper a lot to get there. Webb was one of the most frequent right-on-left sweeper users in the majors, and also one of the best. Measured by run value added per 100 pitches, he was 11th in baseball among all righties who threw even 100 such sweepers – and he threw 400 of them. He was 15th in whiff rate for good measure. He was as effective as Paul Skenes was in this situation while going to the pitch three times as often.

But while he was lights out with the pitch against lefties, it fared quite poorly against righties. He was below average, and by a lot. Ninety-one pitchers threw 100 or more right-right sweepers; Webb finished 75th in run value added (or lost, in this case) per 100 pitches. While the league gets about 25% more whiffs with the platoon advantage, his whiff rate with his sweeper was the same against righties and lefties. This all sounds very strange. But when I dug into it, I got some answers. Read the rest of this entry »