I Had an Idea About Bat Tracking Data

Sam Navarro-Imagn Images

I was in Hawaii this past weekend, taking a nice vacation to wind down from the end of the baseball season, when I found myself thinking about intercept points. Weird? Overly baseball obsessed? Maybe. But in my defense, a kid at the pool kept swinging at a Wiffle ball almost hilariously late, spraying it “foul” every time. “Oh look, the next Luis Arraez,” I thought, before going back to my umbrella-adorned drink. But that stuck with me, and when I got home, a database query leapt out of my head fully formed, like Athena after Zeus’ headache.

Where is the optimal place to make contact with the ball? It depends on who’s swinging. Statcast measures every single swing’s contact point relative to a hitter’s center of mass, and that data clearly shows that there are many ways to succeed. That’s always stymied me as I’ve looked into swing path data. But that small child gave me an idea when he got off the best swing I’d seen all day, a Wiffle ball line drive that would have been a screamer down the left field foul line (he was batting lefty). Because his normal swing was so late, his best contact was ever so slightly less late. What if I bucketed hitters based on their own swings to look for swing timing clues?

I took every batter who produced 300 or more batted balls (foul balls or balls in play) in 2025. For each of those hitters, I took aggregate statistics for all of their results, then also split their batted balls into three groups: deepest contact point, middle contact point, and farthest forward contact point. You can think of it as late, on time, and early, adjusted for that player’s swing. The later you start your swing, the more you “let it travel,” the deeper your contact point relative to your center of mass. The earlier you start, the more you “get out in front,” the farther forward you make contact.

Without this normalization of data, I couldn’t make heads or tails of contact point data. But after defining every swing relative to a player’s own average, things made more sense. I measured wOBA, xwOBA, exit velocity, hard-hit rate, and launch angle (just in case) for each bucket of swings, relative to each player’s overall production. I then weighted each hitter by how many times they made contact (I left out swings and misses, which seem like a different category to me), and the aggregate data made a lot of sense:

Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep 0.005 -0.027 -2.12 33.20% 16.7
Middle 0.039 0.062 2.95 51.90% 19.1
Forward -0.043 -0.039 -0.83 35.90% 15.6
Source: Baseball Savant
Contact points relative to center of mass, bucketed

Let’s walk through this table to make sure everything tracks. Later swings, ones with the deepest contact points, produce batted balls that are slower than a given hitter’s average. That makes sense, because there’s a mountain of evidence that swings speed up as they lengthen. The actual results are basically average, though. My interpretation is that this bucket is full of mishits and flukes, the kinds of batted balls that fool defenders. Last-minute stabs, grounders that are far outside a hitter’s normal spray pattern, general weirdness. That’s how you get a wOBA higher than xwOBA; fill it with balls that, for one reason or another, confound the other team’s expectations.

Get to the middle bucket, and we have the best contact. These are the swings where the hitter did exactly what they wanted to do, making contact right around their average point. A 40-point increase in wOBA is enormous, and, well, duh. Hitters do better when they’re on time, and this definition of on time is pretty good, linked as it is to a player’s average swing. In my view, the reason that hitters underperform their xwOBA here is that xwOBA is directionally agnostic, and many of the hardest-hit balls in this group are back up the middle, where the walls are farther away.

Finally, the “out in front” bucket has the worst results. You might wonder how that squares with the launch angle revolution, with the fact that pulled fly balls are all the rage these days. But again, we’re talking about every swing relative to the batter who takes it. The guys who elevate and celebrate? Most of their swings are already out in front, so their “out in front” bucket is when they’re early on the ball, even for them. That’s why you get slower batted balls despite longer swings, and worse results across the board.

Another way of saying the same thing: Contact gets much more variable when a hitter makes contact with the ball far in front of their average contact point. Launch angle standard deviation increases meaningfully. Hard-hit rate declines sharply, more than you’d expect based on the change in average exit velocity alone. Batters hit more popups and more grounders, relative to their overall tendencies.

None of this should be shocking to you. You can probably imagine it if you’ve swung a bat enough times in your life. To turn this into useful data, I thought I’d look at a few players specifically to show how different people’s swings behave differently.

A hitter who does well out in front? Consider Mike Trout:

Mike Trout, Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep -0.062 -0.195 -6.4 24.70% 16
Middle -0.033 0.081 3.4 58.00% 23.6
Forward 0.099 0.130 3 62.60% 24.4
Source: Baseball Savant
Contact points relative to center of mass, bucketed

When Trout is late to the ball, he’s really late. When he’s early, the results are still excellent. In other words, “early” for him looks pretty indistinguishable from on time. My interpretation of this result is that Trout is, for whatever reason, starting his swing late, so that even the swings where he’s in the farthest-forward third are still full of solid contact and good results. Another way of putting it: Too many of his swings are late. Look at how disastrous that first bucket is compared to the average. He should probably try to minimize how many swings look like that, even if it means being out in front more often.

For comparison, take a look at Juan Soto:

Juan Soto, Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep 0.007 -0.078 -2.9 43.30% 20.2
Middle 0.099 0.193 4 73.20% 17.5
Forward -0.096 -0.053 -1.1 48.40% 13
Source: Baseball Savant
Contact points relative to center of mass, bucketed

That’s the distribution of a player who knows exactly how their swing works. The center of his swing distribution, the swings where he’s on time? He’s smoking the ball. When he’s early or late, he’s not as good. But he’s on time a lot. He’s Juan Soto! He’s weaponizing his incredible batting eye with a swing that’s at its best when he’s right on time. That’s what you’d expect from him, right? In case you’re curious, other hitters with a similarly-shaped distribution are Shohei Ohtani, Corey Seager, Nick Kurtz, Ronald Acuña Jr., and Austin Riley – plus Ty France, because baseball is weird sometimes.

I learned something interesting in search of the final profile, the hitters who do more damage than expected when they’re late. That group is where the lift-and-pull outliers live. Here’s Mookie Betts:

Mookie Betts, Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep -0.026 -0.078 2.9 37.40% 20.8
Middle 0.041 0.022 1.4 42.30% 22.2
Forward -0.017 -0.032 -4.3 20.00% 19.9
Source: Baseball Savant
Contact points relative to center of mass, bucketed

And Isaac Paredes:

Isaac Paredes, Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep -0.029 -0.007 1.3 21.40% 24.5
Middle 0.055 0.028 -0.2 39.60% 22.4
Forward -0.03 -0.021 -1.1 29% 23.9
Source: Baseball Savant
Contact points relative to center of mass, bucketed

And Francisco Lindor:

Francisco Lindor, Batted Ball Data, By Relative Contact Point
Contact Point wOBA Diff xwOBA Diff EV Diff HH% Avg LA
Deep 0.068 0.142 1.9 37.90% 17.8
Middle -0.022 0.028 -0.1 49.70% 22.5
Forward -0.052 -0.179 -2.1 39% 16.9
Source: Baseball Savant
Contact points relative to center of mass, bucketed

If Trout is starting his swing too late, these guys are all starting their swings too early. And, yep, that’s exactly what they’re doing! If you hit for power by being out in front, on purpose, as often as possible, your swings that are out in front even by your standards will be way too far forward. Thus, your “best” contact is going to be towards the back, or at least certainly not out front. That is explicitly the tradeoff these guys are making, and they’re doing it on purpose. It’s pretty cool to see it expressed this way, though.

I’m still pretty early in my research here. I’m not sure if this split-in-thirds methodology is the best way of looking at things. There are many alternatives, from other partitioning amounts to a continuous distribution. I’m also not sure which statistics are most useful for this. Should I include bat speed? Does it still need to be normalized by location? If you have any ideas, feel free to chime in, because I’m still debating it myself.

Likewise, I’m not sold on these tables as the best way to visualize things. There’s probably some graphical representation that would be better, but there are almost too many variables to wrap my head around. Another problem: I have no clue how useful this data is from a predictive, systematic standpoint. It’s definitely cool, which is why I’m writing about it, but this isn’t really an end state.

In other words, welcome to the offseason. There are going to be some interesting signings and some interesting trades. The ZiPS team-by-team projections are always required reading. Prospect lists are about to get underway. And Hall of Fame season is perfectly timed for the holidays; see your relatives at home and discuss baseball throughout the ages when you do! But there’s still a lot of space to fill, and I like to fill it with research in progress. If you have suggestions for where I could take this, please let me know. I think it’s pretty cool already, and I also think it can get a lot better. And oh yeah, here’s a look at the data.





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

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
MTfor42Member since 2025
44 minutes ago

This is an interesting way to elucidate where in the strike zone the cylinder bat hits the spherical ball. When watching, we don’t get as much information on the “depth” of where the ball was hit. (In machining, I think it’s the Y axis [x left/right, y forward/back, z up/down). Does Baseball have a set convention for orientation in 3D space?

Maybe looking at this data from the reverse would be helpful? barrels/early contact, barrels/late contact etc. Or maybe by location? Like would a low and away pitch be better to hit early, late, or on time?

I think it was Ted Williams “Art of Hitting” that emphasized an “up the middle” approach. This would give a little wiggle room early and late. The gulf between intent and execution is why they play the game of course.