Sunbird Insights All posts
The Monday Morning Agent, episode 1

Does establishing the run win football games?

"You have to establish the run" is one of the oldest claims in the NFL. In episode 1 of my O'Reilly series, The Monday Morning Agent, an AI analyst tested it on every play from 2021 to 2025. It found that teams running the most win far more often, and that the gap disappears in games close at halftime. This post goes back over that analysis as a data scientist would. The chart holds up as description, but its halftime filter is doing more than it appears to. A sharper test, using only plays called before either team had scored, finds no detectable edge for running early.

Whole game
77.7% vs 19.2%
Win rate of the team-games that ran the most against those that ran the least. Mostly leading teams running out the clock.
Close at halftime
−9.0 points
The same gap for the first half of games within 3 at the break. 95% interval −18.9 to +1.1.
Before any score
49.9%
Win chance for a team running 10 points more of its plays before the first score. 95% interval 47.4% to 52.3%.
Largest edge still allowed
2.3 points
The top of that interval, above an even 50%. The data do not show zero. They show a small upper limit.
The question

One claim, four charts, and a reversed arrow

The episode's tool computes one number: rush share, the rushes among a team's rushes and passes in one game. It sorts all 2,840 team-games from the 1,424 games of 2021 to 2025 by that share, leaves out the tied games, cuts the rest into four equal groups, and compares win rates. The four views below are the ones on the episode page. I recomputed each one in Python and in R, and all four match the show's tool.

View Ran most Ran least Gap (points) 95% interval
Whole game 77.7% 19.2% +58.6 +54.2 to +62.6
First half 53.0% 46.1% +6.9 +1.7 to +12.0
Second half 87.0% 11.7% +75.4 +71.6 to +78.5
First half, within 3 at halftime 46.3% 55.3% −9.0 −18.9 to +1.1
020406080100Share of team-games won (%)Ran most, first half53.0Group 2, first half51.8Group 3, first half49.2Ran least, first half46.1Ran most, second half87.0Group 2, second half63.7Group 3, second half37.6Ran least, second half11.7020406080100Share of team-games won (%)Ran most, first half53.0Group 2, first half51.8Group 3, first half49.2Ran least, first half46.1Ran most, second half87.0Group 2, second half63.7Group 3, second half37.6Ran least, second half11.7
Win rate by rush-share group, with 95% Wilson intervals, 2021 to 2025. The second half is close to a straight line because the score sets the calls. The first half is nearly flat.

The second-half line is reverse causation in its plainest form. Teams that are ahead run to use the clock, so winning produces the running. The show made this point on air, and the numbers support it. The harder question is what remains once the scoreboard is out of the way, and that is where the design choices start to matter.

The filter

The halftime cut moves the answer

Keeping only games within 3 points at halftime is a sensible first move, and it turns a +6.9 gap into −9.0. The cut of 3 is one choice among several, so I reran it across other margins.

−200+20Gap in win rate (points)Tied at halftime+15.7Within 1−6.1Within 3−9.0Within 7−7.8Within 10−4.7Within 14+0.3Every game+6.9−200+20Gap in win rate (points)Tied at halftime+15.7Within 1−6.1Within 3−9.0Within 7−7.8Within 10−4.7Within 14+0.3Every game+6.9
The first-half gap (ran most minus ran least), in points, by how close the game was at halftime. Tied games read +15.7. Games within 7 read −7.8. Every game reads +6.9. Most intervals cross zero.

The sign changes as the filter widens. Games tied at the half read +15.7 points on only 51 team-games per group, with an interval of −3.3 to +33.2. Games within 3 read −9.0. Games within 14 read +0.3. No single threshold should carry a verdict, and the show's rule (a gap under 5 means the claim does not hold as stated) reads a gap whose interval runs from −18.9 to +1.1.

Quartiles add a smaller, quieter problem. Rush shares tie often, and 16 team-games tied at the cut lines of the halftime view. Which side of the line each one lands on depends only on row order. Resolving those ties in the best and worst ways moves that gap between −10.1 and −8.5 points. So the first decimal of a quartile gap is not a measurement.

The design

A halftime score is not a neutral control

The filter also has a causal problem. The halftime score happens after the first half's play calls. If running early did help a team build a lead, then holding the lead fixed removes the very benefit the claim is about. In the language of causal diagrams, the score is a possible mediator, and it also responds to everything else that makes a team good.

Team strengthRunningearlyLead athalftimeWinningRunninglate
What the halftime filter holds fixed. Team strength affects all three boxes, and the lead feeds back into later play calls. Holding the lead fixed blocks one route from running to winning, which is the route the claim needs.

Team-games also come in pairs. Each game has exactly one winner, so the two rows of a game are not independent, and the intervals in the table above are too simple. A direct way to see this is to compare the two teams inside each game. Across 1,406 games, the team that ran more of its first-half plays won 54.3% (95% interval 51.7% to 56.9%). In the 373 games within 3 at halftime, it won 50.1% (45.1% to 55.2%).

The model

One row per game, and plays the score cannot steer

So I moved to one row per game: did the home team win, given the home team's rush share minus the away team's? The intercept takes care of home advantage. For team strength I used each team's win rate in its other games that season. I did not use point spreads, because the series keeps betting data out by rule, so this measure of strength is rough.

The last model is the one I chose in advance as the answer. It measures rush share only on plays snapped before either team has scored. The scoreboard cannot have pushed those calls, and the model does not hold a later score fixed. To express each result on a useful scale, I report the win chance, at otherwise even odds, of a team that ran 10 points more of its plays. In a typical game, the two teams' first-half shares differ by 10.9 points, so 10 points is an ordinary difference.

455055Win chance (%), at otherwise even oddsA: first half52.4B: A plus team strength53.6C: B plus halftime score47.7B, on model D's games53.1D: before any score49.9455055Win chance (%), at otherwise even oddsA: first half52.4B: A plus team strength53.6C: B plus halftime score47.7B, on model D's games53.1D: before any score49.9
Win chance for the team running 10 points more of its plays, with 95% intervals, against an even 50%. Models A, B, and C use first-half plays across 1,420 games. The last two use the same 455 games, so the move between them comes from what is measured, not from which games are in.

Model A, first-half share alone, reads 52.4% (50.6% to 54.1%), and team strength raises it to 53.6% (51.8% to 55.4%). Adding the halftime score drops it to 47.7% (45.5% to 50.0%). I do not read that as running being harmful, for the reasons in the diagram. Model D, the pre-score test, reads 49.9% (47.4% to 52.3%).

The most useful comparison is the pair on the same 455 games. First-half share gives 53.1%, and pre-score share gives 49.9%. Same games, same strength term, and the only change is removing the plays the score could influence. That is the pattern you would expect if the first-half edge came from the scoreboard.

Checks

Scrambles, and a season the model has not seen

The rush count has a measurement quirk. A quarterback scramble is a called pass that turned into a run, and the data count it as a rush: 5,287 of 74,610 rushes (7.1%). If the claim is about play calling, scrambles belong with the passes. Moving them there leaves model D at 50.0% (47.5% to 52.5%) and model A at 52.9% (51.1% to 54.6%).

I held out 2026 through the games of November 1 and read it last. Model A reads 56.7% (50.5% to 62.8%) on 119 games, in line with the five seasons. Model D rests on just 36 games and reads 55.7% (42.7% to 67.9%), which rules out very little. The scramble version of that small sample reads 70.5% (52.5% to 83.8%). I was not planning to test that one on 2026, and on 36 games I would not act on it, but it stays in the tables, and the next few weeks of games will add to it.

Limits

What this does not show

Model D's 455 games are the ones where both teams ran at least 5 plays before anyone scored, about a third of the 1,420, so they lean toward slow starts and may not represent every game. Pre-score calls are not random: a coach's opening plan reflects the opponent, the personnel, and what the coach expects to work, and team strength here is a rough stand-in for all of that. An interval around 50% is not proof of zero. It limits the edge to about 2.3 points per 10 points of rush share. Wins are also a blunt outcome, and this does not test the mechanism fans mean when they say a defense wears down or play action opens up. I wrote the plan for these models before fitting them, but after a first look at the halftime sweep and the within-game counts, and the plan says so. It also lists the one comparison I added after seeing results: model B on model D's games.

Your data

What carries over to your own analysis

The same three checks apply to most business questions that start with a comparison of groups.

If you have a question like this in your own data, I would be glad to talk.

Method

Method, code, and checks

Data: nflverse play-by-play for 2021 to 2025, plus 2026 through November 1, licensed CC BY 4.0. A team-game needs at least 10 plays in the window, and 176,491 plays pass the tool's filters. Intervals are Wilson for rates, Newcombe for gaps, and Wald on the log-odds scale for models. Every table is computed separately in Python and in R. Across both posts, the two agree on all 1,314 cells in 20 tables within 1e-9, and the four views above also match the show's own tool. Every number on this page is read from those tables when the page is built. I built this analysis with Claude Code, Anthropic's coding agent, and checked it with the tests and reconciliations above. The code and tables are on GitHub.

Key terms

The terms on this page

Rush share
A team's rushes divided by its rushes and passes in one game, leaving out kneel-downs and spikes.
Team-game
One team's record in one game. Each game gives two team-games, one for each side.
95% interval
A range computed so that, over many repeated samples, about 95% of such ranges would contain the true value.
Wilson interval
A 95% interval for a rate. Unlike the simplest formula, it stays reliable when a rate is near zero or a sample is small.
Newcombe interval
A 95% interval for the difference between two rates, built from each rate's Wilson interval.
Reverse causation
When the outcome produces the thing that looks like its cause. Here, leading teams run to use the clock.
Mediator
A step between a cause and its outcome. Holding a mediator fixed removes the part of the effect that travels through it.
Scramble
A called pass where the quarterback runs instead of throwing. The data count it as a rush.