NFL · Historical analysis
The Weather Penalty
What 7,276 NFL games say about how much weather actually moves the scoreboard — and which conditions matter enough to forecast.
The baseline
A roof is worth three and a half points
Before any single weather variable, the largest split in the data is simply whether the sky was open.
That 3.56-point gap is the ceiling on everything below. Weather can only ever claw back some part of it, and every figure on this page is measured against the exposed baseline of 43.37 — never against the dome number, which reflects roster and venue effects as much as the roof itself.
Single variables
One variable at a time
Each bar is a band's scoring average measured against the 43.37 exposed baseline. The centre line is the baseline; left is scoring suppressed, right is scoring above it. All three charts share one scale.
Sustained wind
Temperature
Observed precipitation
Rain is the biggest single effect, and it was invisible until now. A tenth to half an inch of rain in the game window costs about 1.6× what a 20+ mph wind costs. nflverse carries no precipitation at all — this row exists only because the ASOS archive was joined in.
Temperature on its own does essentially nothing. Every band from below freezing to 70 °F+ sits within four tenths of a point of the baseline. A sub-freezing game scores 43.20; a 70 °F+ game scores 43.01. Cold weather's reputation is not visible in the scoring — at least not on its own.
Interactions
Where it compounds
Single variables understate the problem. Cells are shaded by distance from the 43.37 baseline — deeper orange for suppressed scoring, deeper blue for above it — on one scale shared by all three tables.
Cold does nothing alone and a great deal alongside wind. In calm conditions a cold game actually scores highest of the three — 45.1. At 15 mph+ the same cold games collapse to 38.6, while warm games at the same wind only reach down to 42.0. Cold roughly triples wind's penalty rather than adding a penalty of its own.
Once it really rains, wind adds little. With 0.10 inch or more of rain, calm games score 38.4 on 115 games and 15 mph+ games 39.1 on 33. Dry, the same wind costs real points: 45.0 calm against 40.9 at 15 mph+. Rain is the bigger effect, and the windy-and-wet cell is small.
Rain costs more in warm weather than in the cold. Cold games with 0.10 inch or more of rain score 40.1, 3.9 below cold dry games at 44.0 — while warm wet games fall to 36.9 from 44.1, a drop of 7.2. This is the thinnest cell on the page and the one most likely to move; treat it as a lead, not a conclusion.
Gust
Two populations, not one variable
A null gust in an ASOS report does not mean the gust reading is missing. The gust group is only encoded when the peak exceeds the sustained wind by a set margin, so a blank means nothing gusty enough to report. Merging the two into a single "peak wind" number was tried, and it produced a table where 20–27 mph scored higher than 13–19 mph — an artifact of mixing calm games into the low band, not a real reversal.
Split apart, each population behaves. Games where a gust was reported average 42.55 points, on 658 games; games where none was, 44.61 on 1,428.
The gust bands are thin and not yet monotonic — 36+ reads higher than 29–35 (40.7 against 37.6) on 34 games. Sustained wind, across 5,205 games, is the trustworthy signal today. Gust is directional until more seasons are enriched.
Play by play
What produced the points
The tables above count points. Play-by-play counts what produced them: 909,283 plays and 27,760 field-goal attempts across 7,273 games, 1999–2025 — every kick with its distance and result, every pass with its yardage, every fumble and punt. This is the record the model's game notes are fitted on; until it existed they were rules of thumb.
Wind reaches the kicking game first. A 40–49 yard attempt is good 74% of the time in calm air and 68% at 15–19 mph; from 50 and beyond, 61% against 50% at 20+. Punts shorten from 44.3 to 42.1 yards.
Then the passing game. Yards per attempt fall from 7.0 calm to 6.6 at 15–19 and 6.4 at 20+; completions from 61.5% to 57.9%. And offenses know it: passes are 57.6% of snaps in calm air and 53.9% at 20+ — the run-heavier plan the model had only ever described in words.
Cold shortens kicks, not grips. Holding wind out of it — calm games only, under 10 mph — passing below freezing is unchanged: 7.0 yards per attempt against 7.0 at 50°F+, and fumbles are 1.67 per 100 plays against 1.79. The "tougher grip" folklore does not appear in 162 freezing games. Kicks are another matter: 50+ yard attempts go 58% against 62%, punts 42.2 yards against 44.8.
Rain is the fumble signal — once it is measurable. With 0.10 inch or more observed in the game window, fumbles run 2.24 per 100 plays against 1.69 dry, and passing drops to 6.28 yards per attempt from 7.07, on 102 games. The gamebook's kickoff-only "rain" flag (543 games) points the same way at a fraction of the size — 1.92 against 1.78 — which is the difference between rain falling at kickoff and rain that actually accumulated.
Games counts games; percentages and rates pool the attempts or plays inside them. Wind, temperature and roof are the game-level nflverse values used throughout this page; precipitation here is the IEM-observed amount, so the rain table covers only the matched games. Source: nflverse play-by-play (CC BY 4.0), rebuilt weekly.
Home fields
The toughest places to visit
What visitors walk into at each team's current stadium: the share of its regular-season home games played in the cold, the wind, measured rain and heat. Teams under a roof are listed separately rather than ranked.
The market
Does the market already know?
The under-rate against the closing total, by wind. If the number drifted from 50% with wind, the market was leaving something on the table.
These four numbers match the ones our weather line uses, to the decimal. The point is that they are now checkable: rebuilt from source on every refresh rather than carried forward by hand.
Lead time
What is knowable in advance
Effect size is only half of an edge. The other half is whether the condition can be seen coming — and here the honest answer is not yet. Every forecast this site makes is recorded against what a nearby station then observed, and that record decides whether a 7-day call is worth publishing. It is kept, not shown: until the 2-day, 3-day and 5-day buckets have a season's worth of games in them, the number to trust is the one closest to kickoff.
What the historical side already implies, and what the verification side will confirm or refute:
- The 7-day call should lean on wind and cold. Both are synoptic-scale — driven by pressure patterns models resolve days out — and together they produce the worst cell in the wind × temperature table. This is the long-range signal worth publishing.
- Rain is a near-term sharpener. It is the largest single effect at −5.62, and the least predictable at range: amount and timing within a three-hour game window are a short-lead problem. A 7-day precipitation call should be a probability, not a number.
- Temperature alone should never move a published number at any lead. It is well forecast and nearly meaningless on its own — precisely the variable most likely to create false confidence.
How often it matters: 15 mph+ wind occurs in 12.5% of exposed games, 0.10 inch or more of rain in 5.3% of the 3,841 games where a station actually measured it, and the severe cold-and-windy combination in 3.1%. An index that fires on one game in 8 is doing useful work; one that fires constantly is describing the weather, not the edge.
Consequences
What this means for the index
Five constraints the data puts on any 0–100 weather score built from it.
- Roof is a gate, not a term. Sheltered games are a different population entirely. Score them near zero rather than scaling a raw score down.
- Wind carries the most weight — the only variable with a clean, monotonic relationship across a 5,205-game sample.
- Precipitation is weighted by amount, not probability. The −5.62 swing is tied to inches actually observed in the game window. Chance of rain is not the same signal.
- Cold enters as a multiplier on wind, never as its own additive term. An additive cold component would penalise the calm December game that scores 45.1 and under-penalise the windy one that scores 38.6.
- Cold shortens kicks, not grips. In calm freezing games fumbles run 1.67 per 100 plays against 1.79 warm; a cold note about ball security would be asserting something the play-by-play does not show.
By ground. The same record, venue by venue: how often each NFL stadium has actually been cold, windy or wet during play. Where the games get played →
Built from nflverse game results and play-by-play (CC BY 4.0), with observed weather from NOAA's GHCNh hourly station archive and the Iowa Environmental Mesonet ASOS archive (both public domain). Observed conditions are the game window, kickoff −1 h to +4 h, at the nearest reporting station. Rebuilt weekly; figures on this page current as of —.