For the complete documentation index, see llms.txt. Markdown variants of the ranked boards (dynasty and fantasy rankings for NFL, NBA, MLB and CFB) are available by appending .md to those URLs or by sending Accept: text/markdown; other pages answer 404.
DYNATYZE
Not startedThis page's interactive half has not started on this device. Nothing was read, and nothing was invented in its place. Reload the page.
San Francisco 49ers 10 at Green Bay Packers 38. Final.
Packers -6.5 ✓O 44.5 ✓
The verdict · 2024 Week 12
Green Bay Packers 38, 49ers 10 — and it was over early.
It turned at Q3 6:00, 3rd and 8, on Xavier McKinney — 5.9 win-probability points to the Packers on one snap, the largest move of the game.
The snaps that bent it
Packers closed -6.5 and covered, winning by 28.
Green Bay Packers 38–10 — never really in doubt late. Biggest swing: Q3 6:00, Packers +5.9% win probability on one snap.
The biggest swing of the game · Q3 6:00 · 3rd and 8
Xavier McKinney
Packers
(6:00) (Shotgun) 17-B.Allen pass deep middle intended for 1-D.Samuel INTERCEPTED by 29-X.McKinney at GB 26. 29-X.McKinney pushed ob at SF 26 for 48 yards (17-B.Allen).
5.9
win-probability points on one snap
The largest move of the game. The two below are drawn against it.
Josh JacobsPackersQ1 14:53(14:53) (Shotgun) 8-J.Jacobs left guard to SF 49 for 18 yards (2-D.Lenoir; 6-M.Mustapha).
4.1pts
Jayden ReedPackersQ1 11:29(11:29) (Shotgun) 10-J.Love pass short right to 11-J.Reed pushed ob at SF 24 for 7 yards (0-R.Green).
3.7pts
What separated them
Giveaways
Packers won this one — no giveaways, against 49ers at 3 giveaways.
Packersthe gap went the way the scoreboard did
Every snap
Packers won this one — +0.13 expected points per snap, against 49ers at -0.42 expected points per snap.
Packersthe gap went the way the scoreboard did
Throwing the ball
Packers won this one — +0.27 expected points per dropback, against 49ers at -0.52 expected points per dropback.
Packersthe gap went the way the scoreboard did
Staying on schedule
Packers won this one — 48% of snaps stayed on schedule, against 49ers at 30% of snaps stayed on schedule.
2 other measures were inside a third of the league's own spread — two clubs doing the same thing, so they are not shown.
Drawn from the officially scored play-by-play, which lands usually within two hours of the final, or the next morning when its release runs late.
The model against the market, the momentum underneath, every drive — scrub to replay it
How the game was won
The model and the market were 5.6 win-probability points apart on the average play, and 17 apart at the widest — with the model the more convinced about 49ers.
MarketModelmodel higher on Packershigher on 49ers153 of 159 plays carry both curves
(6:00) (Shotgun) 17-B.Allen pass deep middle intended for 1-D.Samuel INTERCEPTED by 29-X.McKinney at GB 26. 29-X.McKinney pushed ob at SF 26 for 48 yards (17-B.Allen).
Swing +5.9 for PackersExpected points +5.97 for PackersThe model had 49ers 5 points higher than the market did.play 100
The solid line is the betting market's home win probability; the dashed line is the play-by-play model's. The shaded band between them is the disagreement — emerald where the model liked the home team more, red where it liked the away team more. Drag across the curve or use arrow keys to replay the game; gold diamonds mark the biggest swings.
Highest-leverage plays
3rd · 6:00SF +6% win prob(6:00) (Shotgun) 17-B.Allen pass deep middle intended for 1-D.Samuel INTERCEPTED by 29-X.McKinney at GB 26. 29-X.McKinney pushed ob at SF 26 for 48 yards (17-B.Allen).
1st · 14:53GB +4% win prob(14:53) (Shotgun) 8-J.Jacobs left guard to SF 49 for 18 yards (2-D.Lenoir; 6-M.Mustapha).
1st · 11:29GB +4% win prob(11:29) (Shotgun) 10-J.Love pass short right to 11-J.Reed pushed ob at SF 24 for 7 yards (0-R.Green).
3rd · 10:51SF +3% win prob(10:51) (Shotgun) 17-B.Allen pass incomplete short left to 23-C.McCaffrey (29-X.McKinney).
2nd · 1:05GB +3% win prob(1:05) (Shotgun) 17-B.Allen pass short middle to 85-G.Kittle for 3 yards, TOUCHDOWN.
2nd · 12:10GB +3% win prob(12:10) (Shotgun) 10-J.Love pass deep middle to 87-R.Doubs to SF 43 for 29 yards (22-I.Yiadom).
1st · 13:32
SettledThe modelled figures are the league play-by-play model's, not ours.
How the points landed
The margin ledger
Tucker Kraft's 11-yard touchdown catch with 7:42 left in the 1st put Green Bay Packers ahead for good. The lead never changed over the 7 scores that followed.
Lead
1st7:42Tucker Kraft·11-yd TD catch11-yard touchdown catchfrom Jordan Lovefrom Jordan LoveLead never changed again+70–7
1st0:16Brandon McManus·51-yd field goal51-yard field goalholder D.Whelan · snap M.Orzech+30–10
4th4:18Malik Heath·3-yd TD catch3-yard touchdown catchfrom Jordan Lovefrom Jordan Love+710–38
8 scores · bar length is the lead after each one
Down-to-down truth
Situational splits
49erscategory by categoryPackers
49ers1–6Packers
242Total yards325
5.3Yards per play4.9
30%Success rate48%
30%Third-down rate46%
1Red-zone touchdowns5
6Explosive plays6
12First downs21
2Sacks taken2
3Turnovers0
The read
Packers ahead 6–1 on categories, including the biggest gap of the duel — turnovers.
Expected points added, per play
The centre line is an average play. A bar to the right of it is a side that gained more than the situation was worth; a bar to the left is a side that lost ground. All six bars share one scale, ±0.52 points.
Every snapexpected points added per play, all downs
−0.4249ers: −0.42 expected points added per play
+0.13Packers: +0.13 expected points added per play
Dropping backexpected points added per dropback
−0.5249ers: −0.52 expected points added per play
+0.27Packers: +0.27 expected points added per play
Running itexpected points added per rush
−0.1849ers: −0.18 expected points added per play
+0.04Packers: +0.04 expected points added per play
Neither side “wins” volume or play-calling mix, so neither is drawn as a duel: 49ers ran 46 snaps at a 70% dropback rate against Packers’s 67 at 37%. Red-zone trips: 49ers 1, Packers 5.
NotePackers won the down-to-down efficiency fight: 0.13 expected points added per play vs -0.42.
Derived from the play-by-play, no model
The Read
10 of 12 readings cleared their snap floor and were tested against four comparisons: this week's whole slate, the team's own season, the week before, and the team's own ordinary spread. Every bar below is set in that team's own week-to-week swing, never in league points — one team's swing runs 1.6 to 3.1 times the entire league's spread.
Nothing cleared the bars. No reading led the week's slate, set a season mark, reversed the week before, or sat two of the team's own standard deviations off their number — which is what most Sundays look like, and is the finding rather than a gap.
The season-grain rooms, pointed at this one game
Was this normal for them?
10 of 12 readings cleared their snap floor. Every deviation below is measured in that team's own game-to-game swing, not in league points — because one game's swing runs from 1.6 to 3.1 times the whole league's spread.
their week-to-week swingall 32 teams
upper band = their week-to-week swing · lower rule = all 32 teams · scale -30 pts to 16 pts
right on their number · −1.8 vs their 13.8%, and they swing ±7.6 week to week (−0.24× that swing) · 25 dropbacks
Packers12.5%
right on their number · −1.0 vs their 13.5%, and they swing ±6.8 week to week (−0.14× that swing) · 32 dropbacks
NoteNothing either side did tonight left its own normal range. The widest departure was GB's early-down pass rate, 30.8% against a season mean of 44.2% — and GB swings 14.1 points week to week, so that is a Sunday, not a plan.
The Game Day Roster
Who was out, who dressed and never took a snap, and who was on the field how much. Game-day list and snap counts from the weekly roster and snap feeds. Practice-squad and injured-reserve players are not shown — they were never on the game-day list.
2 players played under 8 snaps, so their shares read as a dash rather than a number. 2 lines have no expected-points read and sit off the plane.
Expected points are modelled in full PPR, so the “vs expected” column stays in that unit whichever format the pills are set to. Switching the pills changes the points column, not the plane.
The field map
Every snap, where it happened
The whole game as one hundred yards. The Packers attack right, the 49ers attack left, so a change of possession is a reversal you can see. Reading down is the order the snaps were played — not the clock, so a two-minute drill gets the same room as any other fourteen snaps. This game is final.
49ers←Packers→
Q1Q2Q3Q4
B.Allen pass−7% win probabilitymoment 4 of 4
(6:00) (Shotgun) 17-B.Allen pass deep middle intended for 1-D.Samuel INTERCEPTED by 29-X.McKinney at GB 26. 29-X.McKinney pushed ob at SF 26 for 48 yards (17-B.Allen).
Q3 6:00 · 49ers · 3rd & 8 at GB 45 · gained nothing · -5.97 EP · −7.0% win probability
151 snaps placed · 8 without a recorded yard line, left off the map · 4 marked moments — the largest win-probability swings, one per drive.
The Film Room · post-game
Post-game film: 159 plays across 23 drives, personnel groupings on 151 snaps, the eleven on the field by name, manual charting on 154. Everything here paints the morning after the week's games — there is no live play-level feed in this product, so nothing on this page updates while a game is being played.
Possession by possession
The field rail
8 of 23 drives ended in points. The longest march was GB moving 71 yards from the GB 29 for a touchdown. Each bar is the ground a drive actually covered; GB attacks right, SF attacks left. Hatching marks a trip inside the twenty.
Every snap
Play stream
159 of 159 plays
Team
Quarter
Down
Play type
Expected points added
Event
Charted
Plays shown
159
EPA per play
-0.04
Success rate
46%
Yards
566
Who was on the field
Personnel groupings
Offensive grouping on every pass and run. A group needs five snaps in this game before it gets a number — under that the sample is a coin flip and the cell reads a dash instead. Open any play above to see the eleven men who were actually on the field for it.
Packers1 RB, 1 TE, 3 WR41+0.3149%
49ers1 RB, 1 TE, 3 WR26-0.5181%
Packers1 RB, 2 TE, 2 WR20-0.2920%
49ers2 RB, 1 TE, 2 WR15+0.1547%
Packers2 RB, 1 TE, 2 WR5+0.2120%
49ers2 RB, 2 TE, 1 WR3——
49ers1 RB, 2 TE, 2 WR2——
Packers1 RB, 3 TE, 0 WR1——
snapsepapass rate
159 plays · ranked by the win probability each one moved
Every play
Ball
When
Play
Only
Who
159 plays
Bar length is win probability the play moved
1st quarter35 plays
49ers0Packers6
49ers0Packers7
Touchdown15 plays, from the Packers 33 to the 49ers 11
Punt6 plays, from the 49ers 32 to the 49ers 41
49ers0Packers10
Field goal10 plays, from the Packers 19 to the 49ers 32
The period ended3 plays
2nd quarter46 plays
Punt4 plays, from the 49ers 20 to the 49ers 33
49ers0Packers16
49ers0Packers17
Touchdown18 plays, from the Packers 29 to the 49ers 1
49ers6Packers17
49ers7Packers17
Touchdown15 plays, from the 49ers 35 to the Packers 3
Punt7 plays, from the Packers 30 to the 49ers 49
The period ended2 plays
3rd quarter40 plays
Turnover on downs9 plays, from the 49ers 21 to the Packers 39
Punt4 plays, from the Packers 40 to the Packers 43
Intercepted6 plays, from the 49ers 10 to the Packers 45
49ers7Packers23
49ers7Packers24
Touchdown5 plays, from the 49ers 26 to the 49ers 1
49ers10Packers24
Field goal7 plays, from the 49ers 26 to the Packers 30
Punt6 plays
The period ended3 plays
4th quarter38 plays
Punt2 plays
Punt4 plays, from the Packers 37 to the Packers 43
Fumble lost2 plays, from the 49ers 10 to the 49ers 15
49ers10Packers30
49ers10Packers31
Touchdown5 plays, from the 49ers 16 to the 49ers 1
Fumble lost2 plays
49ers10Packers37
49ers10Packers38
Touchdown11 plays, from the Packers 44 to the 49ers 3
Turnover on downs5 plays, from the 49ers 30 to the 49ers 35
Turnover on downs4 plays, from the 49ers 38 to the 49ers 30
The period ended3 plays
Win probability is the league play-by-play model, 98.5% of plays · a dash means none was published