luckadjusted
NFL Week 9 · 2026

Week 9 2021 · November 7, 2021

No FTN charting for this game (drops and interception-worthy throws are not modelled).

Cardinals at 49ers, Week 9 2021: who deserved to win?

The Cardinals beat the 49ers 31–17, and the replays back it up: with the way both teams actually played, the Cardinals win 8 of 10. The 49ers had the bounces: injuries alone were worth 14 points of win probability to the 49ers.

An off day for the 49ers: their offense and defense both played far below their usual level. In a fresh game against the Cardinals they would win 53% of the time; with this day’s form, 17%. The numbers

Before kickoff the 49ers were 66% favorites.

Final

Arizona Cardinals 31
San Francisco 49ers 17

November 7, 2021 · Levi's Stadium · Closing line: 49ers −5.5

Luck index +17 Cardinals about even · −17 49ers

Each team’s own plays from this game, resampled into new drives 4,000 times: with the way both teams actually played, how often does this performance win? How the replay works

Ten replays. Cardinals win 8, 49ers win 2.

  1. 1 ARI 39 SF 10
  2. 2 ARI 40 SF 17
  3. 3 ARI 40 SF 20
  4. 4 ARI 34 SF 18
  5. 5 ARI 26 SF 14
  6. 6 ARI 23 SF 14
  7. 7 ARI 27 SF 21
  8. 8 ARI 35 SF 33
  9. 9 ARI 26 SF 29
  10. 10 ARI 31 SF 45

Three other ways to ask

Each answers a different question, so none of them replaces the replay above.

The closing betting line, turned into a probability. What everyone knew before the game.

The line plus what this game showed, weighted by how much one game can tell. It stays close to the line because one game says little.

Every kick, fumble bounce, drop, conversion and judgment call redrawn; everything else fixed. The narrowest view of luck.

An off day for the 49ers

Their offense and defense both played far below their usual level. In a fresh game against the Cardinals they would win 53% of the time; with this day’s form, 17%.

36 points apart for the 49ers: the gap is how differently this game went from what the two teams usually are.

UnitThis gameUsual levelBetter or worse than usual
Cardinals offenseEPA per play gained +0.48 +0.18 better by 0.31
Cardinals defenseEPA per play allowed −0.02 +0.10 better by 0.12
49ers offenseEPA per play gained −0.02 +0.14 worse by 0.17
49ers defenseEPA per play allowed +0.48 +0.07 worse by 0.41

EPA (expected points added) per play on competitive snaps, turnovers left out because they are valued as luck. Usual level: the team’s earlier games this season plus half of last season, pulled toward the league average. One team’s defense and the other team’s offense are the same snaps, so one game can’t fully say whose day it was; it shows how far this one was from both teams’ norms.

How 4,000 replays ended

Cardinals win 83% of them, 49ers 17%, counting the 2% still level after regulation as half each. The line is what actually happened: Cardinals by 14.

Show as a table
Final margin in the replaysShare of replays
Cardinals by 17+39.8%
Cardinals by 9–1623.3%
Cardinals by 1–819.0%
Level after regulation2.1%
49ers by 1–810.4%
49ers by 9–163.7%
49ers by 17+1.7%

Where the luck was

What the luck was worth

Every lucky and unlucky play, weighted by the moment it happened: its swing in win probability, added up by kind. A missed kick in a decided game counts for nothing; the same kick at the end of a tie game can be most of a win.

Swings add up across a game, so in one that went back and forth they can pass 100%. On the scoreboard the same luck was worth +2.6 points to the 49ers: the final margin was Cardinals by 14, without the luck Cardinals by 16.6. Luck shares are the fitted ones (how much of each kind is luck).

The kicks

How likely each kicker was to make that kick (his own record, the distance and the weather), and what happened.

  • M. Prater, 26 yds made · 97% expected
  • R. Gould, 26 yds made · 96% expected
Bar: expected chance of a make. Filled dot: made. Open dot: missed or blocked.

Penalties: Cardinals 9 for 84 yards, 49ers 2 for 25 yards

Every accepted flag, in order, and what it did to the helped team’s chance of winning at that moment, including any play it wiped out (points on the scoreboard in grey). A flag in a decided game is worth nothing; one at the turn of a close game can be worth most of a win. Judgment calls count half toward luck; pre-snap fouls, which repeat, don’t count. How calls are valued

WhenFlagWin probability for
Q1 6:08 Delay of Game on the Cardinals, 5 yards · pre-snap 0% SF 0.0 pts
Q1 4:05 Offensive Holding on the Cardinals, 10 yards +3% SF +1.4 pts
Q1 1:21 Face Mask on the 49ers (Arik Armstead), 15 yards, wiping out the play +7% ARI +2.8 pts
Q2 14:13 Defensive Holding on the Cardinals (Byron Murphy), 5 yards +2% SF +1.2 pts
Q2 6:47 Taunting on the Cardinals, 14 yards +3% SF +1.7 pts
Q2 2:36 Defensive Pass Interference on the Cardinals (Marco Wilson), 16 yards 0% SF +0.8 pts
Q3 7:40 Roughing the Passer on the Cardinals (Leki Fotu), 15 yards 0% SF +1.6 pts
Q3 4:56 Illegal Double-Team Block on the Cardinals, 9 yards 0% SF +0.8 pts
Q4 9:25 Offensive Pass Interference on the 49ers (Mohamed Sanu), 10 yards 0% ARI +1.1 pts
Q4 3:40 False Start on the Cardinals, 5 yards · pre-snap 0% SF +0.3 pts
Q4 3:40 False Start on the Cardinals, 5 yards · pre-snap 0% SF +0.1 pts

Cardinals penalties, every game · 49ers penalties, every game · All teams, 2021

When it happened

49ers’ chance of winning

As low as 0% and as high as 58%. Numbers mark the biggest luck moments, listed below.

nflfastR’s in-game win probability. It ignores the betting line, so it starts near even. Shaded above the middle while the 49ers were ahead in it, below while the Cardinals were.
#WhenWhat happenedWin probability forNext drive
1 Q1 10:37 The 49ers fumbled and the Cardinals recoveredFumble bounces · loose balls are close to 50/50 +5% ARI SF: Punt
2 Q1 4:05 Offensive Holding on the Cardinals, 10 yardsJudgment calls +3% SF SF: Turnover
3 Q1 3:00 The Cardinals converted 3rd & 183rd & 4th downs · 22% expected +7% ARI ARI: Touchdown
4 Q1 1:21 Face Mask on the 49ers (Arik Armstead), 15 yards, wiping out the playJudgment calls · 6 flags in 2413 snaps before, position avg 1 per 266 +7% ARI ARI: Touchdown
5 Q2 12:34 The 49ers fumbled and the Cardinals recoveredFumble bounces · loose balls are close to 50/50 +3% ARI SF: Touchdown
6 Q2 6:47 Taunting on the Cardinals, 14 yardsJudgment calls +3% SF SF: Touchdown
7 Q2 6:18 The Cardinals fumbled and recovered it themselvesFumble bounces · loose balls are close to 50/50 +3% ARI ARI: Field goal
8 Q3 5:03 The 49ers converted 3rd & 113rd & 4th downs · 24% expected +3% SF SF: Touchdown

Missing players

Key players (usually on the field for half the snaps or more) who missed this game or part of it, valued by position and quality. The same players are missing in every replay, so this counts as luck in points only.

  • Deommodore Lenoir (SF CB), out · 0.5 pts
  • Jaquiski Tartt (SF SS), out (IR) · 0.4 pts
  • Jimmie Ward (SF FS), out · 0.4 pts
  • Jason Verrett (SF CB), out (IR) · 0.3 pts
  • Javon Kinlaw (SF DT), out (IR) · 0.3 pts
  • Kyler Murray (ARI QB), out, replaced by c.mccoy · 5.5 pts
  • J.J. Watt (ARI DE), out (IR) · 1.3 pts
  • DeAndre Hopkins (ARI WR), out · 1.2 pts
  • A.J. Green (ARI WR), out (IR) · 1.1 pts
  • Maxx Williams (ARI TE), out (IR) · 0.2 pts

Adjust the assumptions

Disagree with how much of a fumble bounce or a pass interference call is luck? Change it and the coin-flip replay reruns in your browser.

Only coin-flips re-rolled

Cardinals 99% · 49ers 1%

Final margin
Cardinals by 14
Luck in points
2.6 for the 49ers
Luck-adjusted margin
Cardinals by 16.6
Replay with same day's form
Cardinals 83% · 49ers 17% unchanged: why
How much of each is luck?

0% treats it as skill, 100% as pure luck. The tick is our fit.

What counts

None by default: our tests measured no carryover after a lucky break. Slide it up to count a break for more than its own swing. Why

Flip a play

Force the other outcome, in this game and in every replay: a made kick becomes a miss, a stop becomes a conversion, a flag goes the other way.

About these numbers

Play-by-play and win probability from nflfastR via nflverse; kicks valued against each kicker’s own record; drops and interception-worthy throws from FTN charting (not available for this game); injuries from snap counts and injury reports. No FTN charting for this game (drops and interception-worthy throws are not modelled).

Methodology and validation · All Week 9 2021 games · Cardinals · 49ers

More from Week 9 2021