Slug is in the air. Here's a graphical representation of the difference between a .237 ISO (yellow) with 38 homers and a .323 ISO with 56 homers (blue)
Coming to a Squared Up Explorer near you soon. Luis Arraez squared up a lot of line drives in 2024 and posted his normal high BABIP. Then in 2025 he started striking grounders pure and line drives less so. Not too hard to guess which way his batting average went:
π
Tons of FanGraphs Lab upgrades are out today: I made some UI improvements to PitchingBot Visualizer and Squared Up Explorer, and Sean Dolinar upgraded the Hot Streak tool extensively. More to come soon, too!
www.fangraphs.com/lab/changelog
The new NYT Midi Crossword has me feeling kind of like Zoolander. It needs to be at least two times this size! It's just not enough words
My team's closer. That bum! Always falls apart when it counts (no idea)
He's so weird! (complimentary)
It's from the Future FanGraphs Lab for now. You can tell the real developers haven't gotten their hands on it yet because it's very ugly.
Related: people swing at sliders way off the plate because they think they're getting the cheese up and away:
Fun with data: Mason Miller's fastball VAA goes brrrrrrrrrrrrr as he locates it up in the zone.
They're in the rate stats for the pitchers, because the projections account for that. "Are we doing defense right," "should we account for leverage," and "how does baserunning get added" are three things I'm investigating further at the moment, though not with any great haste
Look at these grown men yelling about how cool FanGraphs playoff odds math is
"No Shelter" is still on my running playlist
Right now that's just 1stdev in each direction to show uncertainty of movement
Just another tool I'm goofing around with in very early stages, but look how perfectly Tarik Skubal's arsenal frames the strike zone when he's locating his fastball at the top of the zone.
Like, I'm with you. But this is embarrassing.
Then don't quote him
lose money on that deal? They might make less money, but that's not the same thing. This cannot be considered serious analysis. "Oh, poor teams, losing money by charging 30 bucks for some carbonated water, processed meat, and potatoes." This is serious economics today? Bring on the robots
In an article today at The Athletic, I saw this quote from Andrew Zimbalist:
"Even though the Cardinals might lose money on it because they're giving away too many hot dogs and french fries."
He's talking about a $29 dollar all you can eat deal. Um, what? How in the world would the Cardinals...
Pardon the mobile screenshot, but look, his swing is just perfect for it
Send this to our mailbag column so we get it in a pretty format. I'm down to answer though
I answered a few questions from the comments of my last $/WAR article, and moved replacement level around just for funsies while I was at it
I'm out skiing today, but I want to highlight this research on the cost of a win in free agency. I think it's both intuitive and useful
No time to chat today, too busy buying dog t shirts
The worst part of making small upgrades is learning that things you think are small are actually impossible. Come up with a new color scheme and calculate league average dynamically? Simplicity itself. Flip the axes of a graph without making it look ridiculous? Hope you have some free time.
This was supposed to be an article showing off the FG Lab, but instead I just spent a while analyzing Logan Webb's weird platoon splits
Huh. Updates. Cool. (www.fangraphs.com/lab/changelog)
That said, with the Lab checked off (for now, we have plenty of new tools in the pipeline) my big project for the year is to dig through the PitchingBot codebase and make new fun/useful stuff, so expect more on this front
Boy, we should probably come up with some kind of PitchingBot Visualizer to investigate this in greater depth π
and performed a count-adjusted version of PitchingBot grading so that 'this individual pitch has a 70 grade' would have meaning. But that's ever so slightly different from adding them all up and dividing by overall average, the real method, since that doesn't have count as a variable anywhere.