luckadjusted

Week 12 2025 · November 24, 2025

Panthers at 49ers, Week 12 2025: who deserved to win?

The 49ers beat the Panthers 20–9, and it was no fluke: replayed with the way both teams actually played, the 49ers win 8 of 10.

Before kickoff the 49ers were 71% favorites. The biggest swing (Q2, 9:42 left): the 49ers were stopped on 3rd & 6, worth 9 points of win probability to the Panthers.

Final

Carolina Panthers 9
San Francisco 49ers 20

November 24, 2025 · Levi's Stadium · Closing line: 49ers −7.5

Luck index +18 49ers about even · −18 Panthers

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. Panthers win 2, 49ers win 8.

  1. 1 CAR 21 SF 10
  2. 2 CAR 23 SF 20
  3. 3 CAR 14 SF 16
  4. 4 CAR 9 SF 13
  5. 5 CAR 17 SF 24
  6. 6 CAR 17 SF 27
  7. 7 CAR 10 SF 23
  8. 8 CAR 9 SF 26
  9. 9 CAR 10 SF 30
  10. 10 CAR 10 SF 37

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.

How 4,000 replays ended

Panthers win 18% of them, 49ers 82%, counting the 2% still level after regulation as half each. The line is what actually happened: 49ers by 11.

Show as a table
Final margin in the replaysShare of replays
Panthers by 17+1.5%
Panthers by 9–165.2%
Panthers by 1–811.0%
Level after regulation2.4%
49ers by 1–828.0%
49ers by 9–1621.5%
49ers by 17+30.4%

Where the luck was

Take the luck out

The final margin was 49ers by 11. Remove the luck, one kind at a time, and it becomes Panthers by 2.5.

Each row takes one kind of luck out of the margin. Color shows which team it helped. Luck shares are the fitted ones (how much of each component is luck).

The kicks

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

  • R. Fitzgerald, 25 yds made · 98% expected
  • M. Gay, 47 yds made · 76% expected
  • M. Gay, 29 yds made · 97% expected
  • R. Fitzgerald, 57 yds missed · 63% expected
Bar: expected chance of a make. Filled dot: made. Open dot: missed or blocked.

When it happened

49ers’ chance of winning

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 Panthers were.
#WhenWhat happenedWin probability forNext drive
1 Q1 13:34 The 49ers converted 3rd & 103rd & 4th downs · 29% expected +7% SF SF: Touchdown
2 Q1 5:40 Offensive Holding on the Panthers, 10 yards, wiping out the playJudgment calls +6% SF SF: Turnover
3 Q1 2:08 The Panthers converted 3rd & 23rd & 4th downs · 50% expected +6% CAR CAR: Turnover
4 Q2 9:42 The 49ers were stopped on 3rd & 63rd & 4th downs · 38% expectedThe 49ers threw an interception-worthy pass, and it was pickedInterceptions · 50% expected to stay out of the defense's hands +9% CAR SF: Turnover
5 Q2 8:17 The Panthers were stopped on 3rd & 23rd & 4th downs · 58% expectedT. McMillan dropped a catchable passDrops · 1 drops on 59 catchable balls before this +7% SF CAR: Punt
6 Q2 8:00 The 49ers fumbled and recovered it themselvesFumble bounces · loose balls are close to 50/50 +6% SF SF: Turnover
7 Q2 0:28 The Panthers were stopped on 3rd & 43rd & 4th downs · 43% expectedIntentional Grounding on the Panthers (Bryce Young), 10 yardsJudgment calls · 4 flags in 2435 snaps before, position avg 1 per 625 +7% SF CAR: Punt
8 Q3 15:00 The Panthers fumbled and recovered it themselvesFumble bounces · loose balls are close to 50/50 +7% CAR CAR: Punt

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.

  • Fred Warner (SF LB), out (IR) · 0.8 pts
  • Mykel Williams (SF DL), out (IR) · 0.4 pts
  • Connor Colby (SF OL), out · 0.2 pts
  • Tatum Bethune (SF LB), out · 0.2 pts
  • Trevin Wallace (CAR LB), out · 0.4 pts
  • Brady Christensen (CAR OL), out (IR) · 0.3 pts
  • Cade Mays (CAR C), out · 0.3 pts
  • Christian Rozeboom (CAR LB), out · 0.3 pts
  • Patrick Jones II (CAR LB), out (IR) · 0.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

Panthers 69% · 49ers 31%

Final margin
49ers by 11
Luck in points
13.5 for the 49ers
Luck-adjusted margin
Panthers by 2.5
Replay with same day's form
Panthers 18% · 49ers 82% unchanged: why
How much of each is luck?

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

What counts

We tested momentum on 19,000 lucky breaks and found none, so it's off by default. 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 12 2025 games · Panthers · 49ers

More from Week 12 2025