Runners blame the weather. The weather deserves it.
Pair fourteen editions of the Boston Marathon with the temperature on the road that morning and the relationship is almost embarrassingly clean. The field's median finish time rises about one minute per °F, with a correlation of r = 0.86. Between a cool 50°F morning and a hot 80°F one sits roughly half an hour of the median runner's day.
between race-day temperature and the field's median finish time, across 14 years of the same race on the same course.
added to the median finish for every additional °F. The slope is the whole finding.
the gap between a 50°F and an 80°F running of the same race, for the runner in the middle of the field.
Boston 2012, the hottest morning in the set and one of the slowest fields. 2004 at 74°F is right behind it.
Start · the question
"It was hot" is the universal excuse and the universal explanation, and it is almost never accompanied by a figure. How much slower, exactly? Enough to explain a bad day, or just enough to feel like it did?
One race run repeatedly is the cleanest way to ask. Boston runs the same course every April with a broadly similar field, so year-to-year changes in the median finish time are mostly weather and not geography. Fourteen editions gives fourteen points, each one a whole field's worth of runners collapsed into a single robust number.
↓ the relationship
correlation between race-morning temperature and the field's median finish.
Each point is an entire Boston field. The fit slopes upward at close to a minute per degree and the scatter around it is small. For a relationship built from real race days rather than a laboratory, that is a tight result.
The practical translation: 50°F to 80°F is about 31 minutes on the median finish. That is the difference between a good day and a day people talk about for years.
↓ year by year
Plotted chronologically the same story shows up as spikes. 2012, at 81°F, and 2004, at 74°F, stand out as both the warmest mornings and among the slowest fields in the set. There is no warming trend hiding in here and no steady drift; the median finish simply tracks whatever the thermometer did that morning.
↓ what this cannot tell you
This is a descriptive relationship across fourteen observations, not a controlled experiment. Field size, qualifying standards and the make-up of the entry list all shifted over these years, and any of them could push the median around independently of the weather.
2013 is excluded from the fit, and it should be. The race was stopped after the bombing, so its finisher set is truncated in a way that has nothing to do with temperature. Leaving it in would have quietly corrupted the slope. It is dropped explicitly rather than silently.
Temperature is also a stand-in for a bundle of things that travel together: humidity, sun, and radiant heat off the road. The one-minute-per-degree figure should be read as the cost of a warm race morning, not of dry-bulb temperature specifically.
With those stated, the effect is large, it points the way sports-science literature says it should, and it is stable enough that no single year drives it.
↓ so what
The useful version of this number is a pre-race one. If the forecast is 15 degrees above what you trained in, the honest expectation is a finish time about fifteen minutes softer, and chasing the original number is how the back half of the race falls apart.
The heat does not take the time from you at the finish. It takes it in the last 10 km, from whoever refused to give it up at the start.
Read alongside the pacing-decay studyFinish · how it was built
fetch_data.py pulls both halves — the results and the historical
weather — and analyze.py produces the figures and the summary
table. Both sources are free and public, and the raw downloads are
git-ignored so the repository stays small.