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.
Los Angeles Rams 21 at San Francisco 49ers 20. Final.
49ers -5.5 upset
The verdict · 2023 Week 18
Los Angeles Rams 21, 49ers 20 — on the last possessions.
It turned at Q4 0:33, 2nd and 10, on Sam Darnold — 31.2 win-probability points to the Rams on one snap, the largest move of the game.
The snaps that bent it
O 40 ✓
49ers closed -5.5 and lost outright — an upset against the closing number.
Los Angeles Rams 21–20 — decided on the final possessions. Biggest swing: Q4 0:33, Rams +31.2% win probability on one snap.
The biggest swing of the game · Q4 0:33 · 2nd and 10
Sam Darnold
Rams
(:33) (Shotgun) 14-S.Darnold sacked at SF 37 for -3 yards (94-D.Johnson). FUMBLES (94-D.Johnson) [94-D.Johnson], RECOVERED by LA-0-B.Young at SF 43.
31.2
win-probability points on one snap
The largest move of the game. The two below are drawn against it.
Sam DarnoldRamsQ4 4:41(4:41) (Shotgun) 14-S.Darnold sacked at SF 18 for -7 yards (97-M.Hoecht).
11.8pts
Unnamed on the sheet49ersQ4 1:08(1:08) 42-E.Evans punts 45 yards to SF 12, Center-46-C.Tinker. 3-R.McCloud to SF 22 for 10 yards (97-M.Hoecht, 54-O.Fatukasi).
14.0pts
What separated them
Red zone
Rams won this one — 3 touchdowns on 3 trips, against 49ers at 3 touchdowns on 4 trips.
Ramsthe gap went the way the scoreboard did
Running the ball
49ers owned this one and still lost it — +0.13 expected points per carry, against Rams at -0.06 expected points per carry.
49ersthe gap went the other way from the scoreboard
Explosive plays
49ers owned this one and still lost it — 5 chunk plays, against Rams at 3 chunk plays.
49ersthe gap went the other way from the scoreboard
Third down
Rams won this one — 9 of 15 on third down, against 49ers at 5 of 10 on third down.
3 other measures were inside a third of the league's own spread — two clubs doing the same thing, so they are not shown.
1 of the 3 swings name a man the week's roster cannot confirm, so that portrait is withheld.
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 6.6 win-probability points apart on the average play, and 19 apart at the widest — with the model the more convinced about Rams.
MarketModelmodel higher on 49ershigher on Rams149 of 161 plays carry both curves
(:33) (Shotgun) 14-S.Darnold sacked at SF 37 for -3 yards (94-D.Johnson). FUMBLES (94-D.Johnson) [94-D.Johnson], RECOVERED by LA-0-B.Young at SF 43.
Swing −31.2 for 49ersExpected points −1.90 for 49ersModel and market agree here.play 159
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
4th · 0:33LA +31% win prob(:33) (Shotgun) 14-S.Darnold sacked at SF 37 for -3 yards (94-D.Johnson). FUMBLES (94-D.Johnson) [94-D.Johnson], RECOVERED by LA-0-B.Young at SF 43.
4th · 1:08LA +14% win prob(1:08) 42-E.Evans punts 45 yards to SF 12, Center-46-C.Tinker. 3-R.McCloud to SF 22 for 10 yards (97-M.Hoecht, 54-O.Fatukasi).
4th · 4:41LA +12% win prob(4:41) (Shotgun) 14-S.Darnold sacked at SF 18 for -7 yards (97-M.Hoecht).
4th · 2:19SF +11% win prob(2:19) (Shotgun) 11-C.Wentz pass short right to 5-T.Atwell to LA 45 for 4 yards (26-I.Oliver).
4th · 5:02SF +11% win prob(5:02) (Shotgun) 11-C.Wentz up the middle for 12 yards, TOUCHDOWN.
4th · 0:49SF +10% win prob(:49) (Shotgun) 14-S.Darnold pass deep middle to 84-C.Conley to SF 40 for 18 yards (2-R.Yeast).
4th · 4:56
SettledThe modelled figures are the league play-by-play model's, not ours.
How the points landed
The margin ledger
Carson Wentz's 12-yard rushing touchdown with 5:02 left in the 4th put Los Angeles Rams ahead for good. It was the last score of the day.
4th5:02Carson Wentz·12-yd TD run12-yard rushing touchdowntwo-point goodLead never changed again+821–20
6 scores · bar length is the lead after each one
Down-to-down truth
Situational splits
Ramscategory by category49ers
Rams2–449ers
261Total yards300
4.2Yards per play5.3
52%Success rate54%
60%Third-down rate50%
3Red-zone touchdowns3
3Explosive plays5
19First downs19
2Sacks taken3
1Turnovers1
The read
49ers ahead 4–2 on categories, including the biggest gap of the duel — explosive plays.
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.35 points.
Every snapexpected points added per play, all downs
+0.10Rams: +0.10 expected points added per play
+0.1649ers: +0.16 expected points added per play
Dropping backexpected points added per dropback
+0.26Rams: +0.26 expected points added per play
+0.1849ers: +0.18 expected points added per play
Running itexpected points added per rush
−0.06Rams: −0.06 expected points added per play
+0.1349ers: +0.13 expected points added per play
Neither side “wins” volume or play-calling mix, so neither is drawn as a duel: Rams ran 62 snaps at a 50% dropback rate against 49ers’s 57 at 53%. Red-zone trips: Rams 3, 49ers 4.
Derived from the play-by-play, no model
The Read
11 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.
Too few to read
2 of 12 readings cleared their snap floor in this game, which is under the three this column needs before it will draw the rule. The readings themselves stand.
high through week 18Against their seasonFourth Down
LA's fourth-and-short go rate, 80.0%, is past their previous high of 66.7% in week 5 — the highest of their 12 charted games through week 18.
5 fourth-and-short calls this game, floor 3 — 12 of their games behind the ruler, and their own week-to-week swing is 28.5 points. · +1.6σ from their own normal
LA's pass rate over expected turned over: +6.5 pts in week 17 against −10.8 pts here — they threw more than the situation asked then and ran more than the situation asked now, a turn of 2.3 of their own weekly swings across the two.
61 snaps this game, floor 20 — 17 of their games behind the ruler, and their own week-to-week swing is 7.7 points. · −1.0σ from their own normal
The season-grain rooms, pointed at this one game
Was this normal for them?
11 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 -23 pts to 17 pts
inside their normal wobble · +3.2 vs their 13.4%, and they swing ±5.8 week to week (+0.56× that swing) · 30 dropbacks
49ers9.7%
leaned — stayed blocked · −6.9 vs their 16.6%, and they swing ±5.8 week to week (−1.18× that swing) · 31 dropbacks
NoteSF's pass rate over expected was the night's one real departure: -9.9 pts, 7.7 points below their season mean of -2.2 pts and 1.7 times their own 4.5-point weekly swing.
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.
1 player played under 8 snaps, so their shares read as a dash rather than a number. 1 line has no expected-points read and sits 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 49ers attack right, the Rams 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.
Rams←49ers→
Q1Q2Q3Q4
S.Darnold sacked−30% win probabilitymoment 4 of 4
(:33) (Shotgun) 14-S.Darnold sacked at SF 37 for -3 yards (94-D.Johnson). FUMBLES (94-D.Johnson) [94-D.Johnson], RECOVERED by LA-0-B.Young at SF 43.
Q4 0:33 · 49ers · 2nd & 10 at SF 40 · gained nothing · -1.90 EP · −29.9% win probability
147 snaps placed · 14 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: 161 plays across 17 drives, personnel groupings on 147 snaps, the eleven on the field by name, manual charting on 156. 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
6 of 17 drives ended in points. The longest march was SF moving 90 yards from the SF 10 for a touchdown. Each bar is the ground a drive actually covered; SF attacks right, LA attacks left. Hatching marks a trip inside the twenty.
Every snap
Play stream
161 of 161 plays
Team
Quarter
Down
Play type
Expected points added
Event
Charted
Plays shown
161
EPA per play
+0.06
Success rate
45%
Yards
560
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.
Rams1 RB, 1 TE, 3 WR62+0.1044%
49ers1 RB, 1 TE, 3 WR37+0.1354%
49ers2 RB, 1 TE, 2 WR9+0.4544%
49ers1 RB, 2 TE, 2 WR9-0.0744%
49ers2 RB, 2 TE, 1 WR2——
snapsepapass rate
161 plays · ranked by the win probability each one moved
Every play
Ball
When
Play
Only
Who
161 plays
Bar length is win probability the play moved
1st quarter33 plays
Rams049ers6
Rams049ers7
Touchdown14 plays, from the 49ers 25 to the Rams 1
How the play was built
Nobody in motion.
Thrown on the first read, caught in traffic.
FormationShotgunOffense on the fieldOne quarterback, one back, one tight end and three receiversDefense on the fieldFour linemen, two linebackers and five backsRoute runGoCoverageCover 1, man with a free safetyMan or zoneManIn the boxFive defendersRushing the passerFourPressure (charted)The passer was kept cleanTime to throw2.5 seconds
Rams649ers7
Rams749ers7
Touchdown13 plays, from the Rams 25 to the 49ers 19
The period ended5 plays, from the 49ers 25 to the 49ers 30
2nd quarter53 plays
Rams749ers13
Rams749ers14
Touchdown16 plays, from the 49ers 36 to the Rams 1
How the play was built
Nobody in motion.
Thrown on the first read, dropped.
FormationShotgunOffense on the fieldOne quarterback, one back, one tight end and three receiversDefense on the fieldThree linemen, three linebackers and five backsRoute runCurlCoverageCover 1, man with a free safetyMan or zoneManIn the boxSeven defendersRushing the passerFourPressure (charted)The passer was kept cleanTime to throw1.9 seconds
Intercepted2 plays
No good7 plays, from the Rams 36 to the Rams 20
Punt8 plays, from the Rams 28 to the Rams 46
Rams749ers20
Touchdown13 plays, from the 49ers 10 to the Rams 5
The period ended7 plays, from the Rams 25 to the Rams 48
3rd quarter33 plays
Rams1349ers20
Touchdown20 plays, from the Rams 25 to the 49ers 4
Punt9 plays, from the 49ers 25 to the 49ers 38
The period ended4 plays
4th quarter42 plays
Turnover on downs10 plays, from the Rams 35 to the 49ers 35
Punt4 plays, from the 49ers 42 to the 49ers 48
How the play was built
A man in motion.
Thrown on the first read.
FormationShotgunOffense on the fieldOne quarterback, one back, one tight end and three receiversDefense on the fieldThree linemen, three linebackers and five backsRoute runQuick outCoverageCover 1, man with a free safetyMan or zoneManIn the boxSix defendersRushing the passerSixPressure (charted)The passer was kept cleanTime to throw1.7 seconds
Rams1949ers20
How the play was built
Nobody in motion.
Thrown on the first read, from outside the pocket, caught in traffic.
FormationShotgunOffense on the fieldOne quarterback, one back, one tight end and three receiversDefense on the fieldThree linemen, three linebackers and five backsRoute runDigCoverageCover 0, no safety helpMan or zoneManIn the boxSeven defendersRushing the passerFivePressure (charted)The passer was pressuredTime to throw3.0 seconds
Rams2149ers20
Touchdown7 plays, from the Rams 29 to the 49ers 12
Punt5 plays
Punt10 plays, from the Rams 34 to the Rams 46
How the play was built
Empty backfield, a man in motion.
Thrown out of the scramble drill, from outside the pocket, the ball was not catchable.
FormationShotgunOffense on the fieldOne quarterback, one back, one tight end and three receiversDefense on the fieldTwo linemen, four linebackers and five backsCoverageCover 2, two deepMan or zoneZoneIn the boxSix defendersRushing the passerFourPressure (charted)The passer was pressured
Fumble lost4 plays, from the 49ers 22 to the 49ers 40
The period ended2 plays
Win probability is the league play-by-play model, 98.5% of plays · a dash means none was published
The cards are drawn from the charted play-by-play, not live, and each one says so on its face.
Closing number vs result
Betting context
Closing spread
49ers -5.5
Closing total
40
Rams moneyline
+200
49ers moneyline
-245
49ers closed -5.5 and lost outright — an upset against the closing number.
Total closed 40; the game landed 41 — over by 1.0.
Conditions and crew
Game environment
Venue
Levi's Stadium
Roof / surface
outdoors · grass
Kickoff weather
Cool, 49°F at kickoff; a light breeze at 6 mph out of the west; clear.
Referee
Clay Martin
Rest
Rams 7 days · 49ers 7 days
Coaches
Sean McVay vs Kyle Shanahan
NoteDivision game — familiarity tightens these matchups; closing numbers tend to be sharper.
SF +10% win prob
TWO-POINT CONVERSION ATTEMPT. 11-C.Wentz pass to 5-T.Atwell is complete. ATTEMPT SUCCEEDS.
4th · 7:49SF +9% win prob(7:49) (Shotgun) 11-C.Wentz pass incomplete deep middle to 18-B.Skowronek [92-C.Young]. PENALTY on SF-41-T.Hawkins, Defensive Pass Interference, 48 yards, enforced at LA 29 - No Play.