luckadjusted
NFL Week 9 · 2026

Week 7 2023 · October 23, 2023

49ers at Vikings, Week 7 2023: who deserved to win?

The Vikings beat the 49ers 22–17, and the replays lean their way: with the same day's form, they win 6 of 10. The 49ers had the bounces: kicks alone were worth 15 points of win probability to the 49ers.

An off day for the 49ers: their defense played far below its usual level. In a fresh game against the Vikings they would win 67% of the time; with this day’s form, 37%. The numbers

Before kickoff the 49ers were 70% favorites. The biggest swing (Q4, 0:34 left): the 49ers threw an interception-worthy pass, and it was picked, worth 20 points of win probability to the Vikings.

Final

San Francisco 49ers 17
Minnesota Vikings 22

October 23, 2023 · U.S. Bank Stadium · Closing line: 49ers −7

Luck index +37 Vikings lucky · −37 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. 49ers win 4, Vikings win 6.

  1. 1 SF 35 MIN 17
  2. 2 SF 27 MIN 17
  3. 3 SF 35 MIN 30
  4. 4 SF 12 MIN 10
  5. 5 SF 14 MIN 16
  6. 6 SF 17 MIN 21
  7. 7 SF 20 MIN 28
  8. 8 SF 31 MIN 42
  9. 9 SF 17 MIN 33
  10. 10 SF 19 MIN 42

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 defense played far below its usual level. In a fresh game against the Vikings they would win 67% of the time; with this day’s form, 37%.

30 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
49ers offenseEPA per play gained +0.34 +0.18 better by 0.16
49ers defenseEPA per play allowed +0.25 +0.04 worse by 0.21
Vikings offenseEPA per play gained +0.25 +0.09 better by 0.16
Vikings defenseEPA per play allowed +0.34 +0.10 worse by 0.24

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

49ers win 37% of them, Vikings 63%, counting the 4% still level after regulation as half each. The line is what actually happened: Vikings by 5.

Show as a table
Final margin in the replaysShare of replays
49ers by 17+5.0%
49ers by 9–1611.2%
49ers by 1–820.2%
Level after regulation3.7%
Vikings by 1–828.3%
Vikings by 9–1617.3%
Vikings by 17+14.3%

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 +4.6 points to the Vikings: the final margin was Vikings by 5, without the luck Vikings by 0.4. 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.

  • J. Moody, 40 yds missed · 89% expected
  • G. Joseph, 21 yds made · 99% expected
  • G. Joseph, 20 yds made · 99% expected
  • G. Joseph, 54 yds made · 66% expected
  • J. Moody, 55 yds made · 67% expected
  • G. Joseph, 50 yds missed · 70% expected
  • Extra point missed · 96% expected
Bar: expected chance of a make. Filled dot: made. Open dot: missed or blocked.

Penalties: 49ers 5 for 37 yards, Vikings 5 for 35 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 7:26 Encroachment on the 49ers (Javon Kinlaw), 5 yards · pre-snap +2% MIN +0.6 pts
Q1 6:21 Delay of Game on the Vikings, 5 yards · pre-snap +2% SF +0.8 pts
Q1 2:49 False Start on the 49ers (George Kittle), 5 yards · pre-snap +2% MIN +0.8 pts
Q2 10:51 Offensive Holding on the Vikings (Josh Oliver), 10 yards +4% SF +1.7 pts
Q2 10:29 Offensive Pass Interference on the Vikings (K.J. Osborn), 10 yards, wiping out the play +9% SF +3.3 pts
Q2 6:04 Delay of Game on the 49ers, 5 yards · pre-snap +2% MIN +1.1 pts
Q3 8:42 Defensive Pass Interference on the 49ers (Deommodore Lenoir), 17 yards +2% MIN +1.7 pts
Q3 8:01 False Start on the Vikings, 5 yards · pre-snap +1% SF +1.0 pts
Q3 2:08 False Start on the Vikings (Johnny Mundt), 5 yards · pre-snap +1% SF +0.7 pts
Q4 4:47 Illegal Contact on the 49ers, 5 yards +4% MIN +1.3 pts

49ers penalties, every game · Vikings penalties, every game · All teams, 2023

When it happened

Vikings’ chance of winning

As low as 38% and as high as 100%. 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 Vikings were ahead in it, below while the 49ers were.
#WhenWhat happenedWin probability forNext drive
1 Q1 11:03 The 49ers fumbled and the Vikings recoveredFumble bounces · loose balls are close to 50/50 +8% MIN SF: Missed field goal
2 Q1 10:05 The Vikings converted 3rd & 123rd & 4th downs · 25% expected +7% MIN MIN: Touchdown
3 Q2 14:57 J. Moody missed a 40-yard field goalKicks · 89% expected for him +6% MIN SF: Touchdown
4 Q2 10:29 Offensive Pass Interference on the Vikings (K.J. Osborn), 10 yards, wiping out the playJudgment calls · 5 flags in 2184 snaps before, position avg 1 per 420 +9% SF SF: Touchdown
5 Q3 0:24 G. Joseph made a 54-yard field goalKicks · 66% expected for him, 17 of 29 from 45+ before +9% MIN MIN: Punt
6 Q4 13:26 J. Moody made a 55-yard field goalKicks · 67% expected for him, 1 of 2 from 45+ before +7% SF SF: Turnover
7 Q4 1:16 G. Joseph missed a 50-yard field goalKicks · 70% expected for him, 18 of 30 from 45+ before +18% SF MIN: End of game
8 Q4 0:34 The 49ers threw an interception-worthy pass, and it was pickedInterceptions · defenses catch 50% of interception-worthy throws +20% MIN –

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.

  • Justin Jefferson (MIN WR), out (IR) · 1.8 pts
  • Ezra Cleveland (MIN G), out · 0.4 pts
  • Chris Reed (MIN G), out (IR) · 0.2 pts
  • Deebo Samuel (SF WR), out · 1.2 pts
  • Trent Williams (SF T), out · 1.1 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

49ers 48% · Vikings 52%

Final margin
Vikings by 5
Luck in points
4.6 for the Vikings
Luck-adjusted margin
Vikings by 0.4
Replay with same day's form
49ers 37% · Vikings 63% 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; injuries from snap counts and injury reports.

Methodology and validation · All Week 7 2023 games · 49ers · Vikings

More from Week 7 2023