A Lukewarm Take on Ice-Cold Bats

Batters swing slower in the cold, but I’m not sure that it matters.
Bat speed goes down when it’s cold, and it goes up when it’s hot. This is something that’s both literally true and curiously linear. We can see in the plot below that bat speed climbs bit by bit as temperature rises from chilly to toasty:

My first thought is this makes sense. It’s reasonable to assume batters don’t swing as fast when their muscles are stiff and their hands are numb. I’ve been cold before, and yeah, it’s difficult to perform tasks requiring fine motor skills.
My second thought is I’m skeptical. Notice the scale of the plot. All that movement amounts to about 0.6 mph from the coldest games to the warmest games. Lots of things other than temperature could be driving this relationship. Bat speed goes down with velocity. Velocity goes up with relievers. Relievers enter games late. Temperature goes down at night. You can see how this could get tricky.
Let’s build a model.
The Data
I tested bat speed for all competitive swings in 2024. Why 2024? That happened to be the year I purchased a bunch of data from Open Weather for my project on light at T-Mobile Park. I simply don’t have other data. Consider this a limitation.
Open Weather data is recorded hourly, which is important. Temperature tends to change throughout a game, from 10-degree drops at night to 10-degree gains during the day. The game-time temperatures provided by MLB don’t capture this. For example, here’s how T-Mobile Park changed between the first and last recorded temperatures of a game:

I limited the data to four-seam fastballs thrown in the zone. Again, bat speed is strongly correlated with velocity and location, and for the sake of testing causality, I want a reliable, consistent sample. We can see how four-seem velocity affects bat speed in the plot below. Note that the difference in bat speed between 92 mph and 95 mph is about the same as the difference across the entire range of temperatures.

I also omitted domes and any venue with a roof that’s closed most of the time. That means no Tropicana Field, Daikin Park, Globe Life Field, loanDepot Park, or Chase Field. I did include T-Mobile Park, American Family Field, and Rogers Centre, but only when their roofs were open.
Finally, I included players with at least 100 swings under these parameters. This gives us an even 250 players with 41,623 combined swings.
Cool. Or maybe hot.
The Model
To test all this data, I built a simple linear mixed model.
The most important thing in this model is the random effect for the batter. This creates the assumption that each batter has a personalized range of bat speeds, isolating the effect of the other variables. There’s also a random effect for the venue, though I didn’t find venues mattered beyond their weather.
For the fixed effects, I tried a bunch of different variables and landed on:
• Game-state: Inning, leverage category, and, most importantly, the number of strikes
• Schedule: Month and day or night game
• Pitch: Release speed and location relative to the batter’s handedness
• Weather: Wind speed, humidity, and, of course, temperature
Essentially, what this model does is say, if Batter A was put in the same exact same situation against the exact same pitch, how fast would they swing at 65 degrees Fahrenheit versus 75 degrees.
The Results
I found bat speed increased 0.0197 mph per degree Fahrenheit. Or rather, for every 10 degrees temperature rose, batters swung about 0.2 mph faster. I found this to be statistically significant with a p-value less than .001. I also found this to be a nearly linear relationship.
The r^2 for this model — how much of bat speed can be explained by these variables — was about 42.0%. That’s quite strong given the complexity of bat speed on any given swing. This isn’t too important for what we’re after here, but it’s a sign we’re on the right track.
Now, the marginal r^2 — how much of bat speed can be explained by the fixed effects alone — was just 7.8%. In other words, temperature, release speed, game-state, leverage, etc. had very little influence over bat speed. The batter was mostly in control.
One useful illustration is to estimate bat speed for each swing without the effect of temperature, and then plot the actual bat speed against temperature.

A few things stick out. First, estimated bat speed ticked up with temperature, even without considering it in the model. So my initial assumption — that temperature hides other variables that influence bat speed — appears to hold up. Batters swing slower in the cold, but not always because it’s cold.
We can also see that, yeah, temperature matters. In the cold, bat speed was slower than expected. In the heat, bat speed was faster than expected. In the middle, it was as expected. Again, I think this makes sense.
Perhaps the most interesting finding is a non-finding: The month did not have a statistically significant relationship with bat speed. I wondered if there might be some early-season bias, where bat speed drops because batters are still getting synced up. That’s not what I found.
What I did find, however, was that the month did influence whether a swing was competitive. Or, at least, April influenced whether a swing was competitive. We don’t even need a bunch of fancy math to discover this. Baseball Savant publishes this data in its search function — an early-season quirk hidden in plain sight.
| Month | Competitive Swing % |
|---|---|
| April | 72.7% |
| May | 91.2% |
| June | 91.4% |
| July | 92.1% |
| Aug | 92.1% |
| Sept | 92.2% |
A swing in April 2024 was 25% less likely to be competitive than a swing in any other month. I haven’t explored the why or the how — perhaps a future project — but it’s still kind of neat. This is also why it’s crucial to filter competitive swings when exploring the effects of temperature. Many swings are slower in April because they’re not real, full swings.
The Conclusion
Again, bat speed changed about 0.2 mph per 10 degrees of temperature. That’s… not a lot.
And that’s even less when you consider the range of temperatures over a season. About 80% of pitches in 2024 were thrown between 58 and 82 degrees Fahrenheit (with the that assumption enclosed venues were set at 70 degrees). A player with an average swing of 71.5 mph would be expected to swing about 71.3 mph in a typical cold game and 71.7 mph in a typical hot game. I’m not going to say that doesn’t matter — I honestly don’t know the impact of tenths of mph of bat speed — but it seems unlikely this relationship has a major, global impact on the league over a season.
That said, temperature isn’t evenly distributed within or between stadiums. The average swing at Busch Stadium in July is probably going to be a bit faster than the average swing at T-Mobile Park in April. Teams in cold venues are going to run into a few more outlier games each year that could plausibly suppress bat speed.
Still, this tends to even out. The average temperature for a Cardinals at-bat in 2024 (both home and away) was 73.9 degrees. The average temperature for a Mariners at-bat was 69.3 degrees. That implies a bat speed boost (or penalty) of just 0.1 mph for the teams in the hottest and coldest parks in the league. It’s also worth noting the Mariners, Red Sox, and Giants each finished 2024 in the top 10 by bat speed despite playing in the three coldest parks.
| Venue | April | May | June | July | Aug | Sept | Mean |
|---|---|---|---|---|---|---|---|
| T-Mobile Park | 53.8 | 60.8 | 65.7 | 74.1 | 73.5 | 64.2 | 65.3 |
| Oracle Park | 61.1 | 64.2 | 66.9 | 65.0 | 68.4 | 67.0 | 65.4 |
| Fenway Park | 51.9 | 59.6 | 67.5 | 74.4 | 73.5 | 66.0 | 65.5 |
| Oakland Coliseum | 59.0 | 64.9 | 67.6 | 71.7 | 70.6 | 69.8 | 67.3 |
| Progressive Field | 53.3 | 64.1 | 72.1 | 73.6 | 75.0 | 69.1 | 67.9 |
| Petco Park | 62.8 | 62.5 | 67.3 | 70.8 | 73.0 | 72.8 | 68.2 |
| PNC Park | 55.5 | 66.3 | 72.7 | 76.0 | 75.8 | 68.2 | 69.1 |
| Target Field | 51.0 | 66.8 | 76.0 | 78.5 | 75.7 | 67.4 | 69.2 |
| Guaranteed Rate Field | 54.3 | 65.7 | 73.7 | 77.0 | 76.2 | 71.1 | 69.7 |
| Citi Field | 55.9 | 63.6 | 72.0 | 78.9 | 78.2 | 70.1 | 69.8 |
| Rogers Centre | 69.6 | 67.7 | 68.8 | 74.0 | 71.9 | 66.5 | 69.8 |
| Yankee Stadium | 55.3 | 66.6 | 72.8 | 78.0 | 75.5 | 71.4 | 69.9 |
| Chase Field | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 |
| Globe Life Field | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 |
| Minute Maid Park | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 |
| Tropicana Field | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 |
| loanDepot Park | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 | 70.0 |
| Comerica Park | 58.5 | 67.0 | 74.6 | 77.3 | 74.2 | 69.5 | 70.2 |
| Wrigley Field | 52.2 | 65.2 | 75.8 | 76.4 | 77.7 | 73.6 | 70.2 |
| Dodger Stadium | 62.1 | 65.8 | 71.4 | 76.8 | 76.2 | 75.7 | 71.3 |
| American Family Field | 69.9 | 69.7 | 72.0 | 73.7 | 73.1 | 70.2 | 71.4 |
| Citizens Bank Park | 57.8 | 67.6 | 75.2 | 80.0 | 78.7 | 69.1 | 71.4 |
| Coors Field | 59.4 | 63.2 | 76.2 | 80.7 | 79.7 | 73.9 | 72.2 |
| Great American Ball Park | 57.1 | 70.3 | 75.8 | 79.4 | 77.3 | 74.5 | 72.4 |
| Angel Stadium | 66.6 | 65.8 | 72.0 | 77.2 | 78.3 | 76.3 | 72.7 |
| Oriole Park at Camden Yards | 63.0 | 67.0 | 76.3 | 81.4 | 78.3 | 70.4 | 72.7 |
| Nationals Park | 60.4 | 67.7 | 77.2 | 81.2 | 78.3 | 74.4 | 73.2 |
| Truist Park | 61.5 | 69.8 | 79.1 | 81.0 | 79.4 | 72.5 | 73.9 |
| Kauffman Stadium | 58.5 | 68.5 | 80.2 | 82.0 | 80.0 | 76.2 | 74.2 |
| Busch Stadium | 62.1 | 71.6 | 80.6 | 81.9 | 79.3 | 75.6 | 75.2 |
| League Average | 60.8 | 66.7 | 72.7 | 75.7 | 74.9 | 70.8 | 70.3 |
That’s all to say, yes, temperature likely influences bat speed — just not very much.
The upsell here is this is another example of the environment seeping into every nook and cranny of the game. Stadiums are amorphous, and run environments are asymmetric. The field of play is changing day to day and inning to inning in ways that can subtly shift the nature of “true talent.” The wet blanket here is this appears to be one of the lesser environmental effects. I’m more interested in how air density affects ball flight, or how wind affects pitch movement, or how lighting affects batter vision, or how the schedule affects the sum of the league’s run environment.
So if your favorite player’s bat speed is down 3 mph in the first two weeks of 2026, it’s probably not the weather. If it’s down a tick, the weather very well could be the reason. Or maybe not. After all, the season is still warming up.
Ryan Blake is a contributor for FanGraphs and Lookout Landing.
If batters swing harder at faster pitches…is that why it appears that faster pitches are hit harder? Not because they’re reflecting off the bats but because batters are swinging harder to make contact with them?
The article stated that bat speed decreases with velocity. I don’t know why that is true though.
There’s a strong inverse correlation between bat speed and squaring up the ball. I’m guessing that batters don’t swing as hard at faster pitches to increase their bat control and ability to make solid contact.
And Ben Clemens has looked into this: https://blogs.fangraphs.com/faster-fastballs-produce-worse-swings/
por que no los dos. jpeg