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.
2021 Week 15 · Sun, Dec 19, 2021 · Empower Field at Mile High
Final
BengalsCincinnati15
BY 5final margin
BroncosDenver10
Cincinnati Bengals 15 at Denver Broncos 10. Final.
Broncos -3 upset
The verdict · 2021 Week 15
Cincinnati Bengals 15, Broncos 10 — with the result never quite settled.
It turned at Q4 10:39, 2nd and 9, on Drew Lock — 25.8 win-probability points to the Bengals on one snap, the largest move of the game.
The snaps that bent it
The biggest swing of the game · Q4 10:39 · 2nd and 9
Drew Lock
Bengals
(10:39) (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 37 for 26 yards (3-D.Lock). FUMBLES (3-D.Lock), touched at CIN 38, RECOVERED by DEN-72-G.Bolles at CIN 42. The Replay Official reviewed the runner was not down by contact ruling, and the play was REVERSED. (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 15 for 4 yards (3-D.Lock). CIN-90-K.Kareem was injured during the play.
U 45 ✓
Broncos closed -3 and lost outright — an upset against the closing number.
Cincinnati Bengals 15–10. Biggest swing: Q4 10:39, Bengals +25.8% win probability on one snap.
25.8
win-probability points on one snap
The largest move of the game. The two below are drawn against it.
Tyler BoydBengalsQ3 0:41(:41) (No Huddle) 9-J.Burrow pass deep left to 83-T.Boyd for 56 yards, TOUCHDOWN.
20.6pts
Drew LockBroncosQ4 13:33(13:33) (Shotgun) 3-D.Lock pass incomplete deep right to 14-C.Sutton. PENALTY on CIN-20-E.Apple, Defensive Pass Interference, 13 yards, enforced at 50 - No Play.
12.7pts
What separated them
Giveaways
Bengals won this one — no giveaways, against Broncos at 2 giveaways.
Bengalsthe gap went the way the scoreboard did
Explosive plays
Broncos owned this one and still lost it — 7 chunk plays, against Bengals at 3 chunk plays.
Broncosthe gap went the other way from the scoreboard
Staying on schedule
Broncos owned this one and still lost it — 42% of snaps stayed on schedule, against Bengals at 35% of snaps stayed on schedule.
Broncosthe gap went the other way from the scoreboard
Third down
Broncos owned this one and still lost it — 7 of 16 on third down, against Bengals at 4 of 13 on third down.
Broncosthe gap went the other way from the scoreboard
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 weekly play-by-play file, which paints on the Monday 4:00 AM ET sync after the game.
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 2.1 win-probability points apart on the average play, and 7 apart at the widest — with the model the more convinced about Bengals.
MarketModelmodel higher on Broncoshigher on Bengals159 of 172 plays carry both curves
(10:39) (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 37 for 26 yards (3-D.Lock). FUMBLES (3-D.Lock), touched at CI
Swing −25.8 for BroncosExpected points −4.93 for BroncosThe model had Bengals 3 points higher than the market did.play 137
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 · 10:39CIN +26% win prob(10:39) (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 37 for 26 yards (3-D.Lock). FUMBLES (3-D.Lock), touched at CIN 38, RECOVERED by DEN-72-G.Bolles at CIN 42. The Replay Official reviewed the runner was not down by contact ruling, and the play was REVERSED. (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 15 for 4 yards (3-D.Lock). CIN-90-K.Kareem was injured during the play.
3rd · 0:41DEN +21% win prob(:41) (No Huddle) 9-J.Burrow pass deep left to 83-T.Boyd for 56 yards, TOUCHDOWN.
4th · 13:33DEN +13% win prob(13:33) (Shotgun) 3-D.Lock pass incomplete deep right to 14-C.Sutton. PENALTY on CIN-20-E.Apple, Defensive Pass Interference, 13 yards, enforced at 50 - No Play.
3rd · 1:21DEN +12% win prob(1:21) (Shotgun) 3-D.Lock pass deep left to 81-T.Patrick for 25 yards, TOUCHDOWN. PENALTY on DEN-81-T.Patrick, Taunting, 15 yards, enforced between downs.
2nd · 0:14CIN +12% win prob(:14) 8-B.McManus 51 yard field goal is No Good, Wide Right, Center-46-J.Bobenmoyer, Holder-6-S.Martin.
SettledThe modelled figures are the league play-by-play model's, not ours.
How the points landed
The margin ledger
Tyler Boyd's 56-yard touchdown catch with 0:41 left in the 3rd put Cincinnati Bengals ahead for good. It was the last score of the day.
Lead
1st6:39Evan McPherson·53-yd field goal53-yard field goalholder K.Huber · snap C.Harris+33–0
2nd10:49Brandon McManus·54-yd field goal54-yard field goalholder S.Martin · snap J.Bobenmoyer+33–3
2nd0:04Evan McPherson·58-yd field goal58-yard field goalholder K.Huber · snap C.Harris+36–3
3rd6:24Evan McPherson·26-yd field goal26-yard field goalholder K.Huber · snap C.Harris+39–3
3rd0:41Tyler Boyd·56-yd TD catch56-yard touchdown catchfrom Joe Burrowfrom Joe Burrow · two-point no goodLead never changed again+615–10
6 scores · bar length is the lead after each one
Down-to-down truth
Situational splits
Bengalscategory by categoryBroncos
Bengals2–5Broncos
250Total yards292
4.9Yards per play4.1
35%Success rate42%
31%Third-down rate44%
0Red-zone touchdowns0
3Explosive plays7
11First downs18
3Sacks taken3
0Turnovers2
The read
Broncos ahead 5–2 on categories, but the biggest gap belongs to Bengals, in 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.35 points.
Every snapexpected points added per play, all downs
−0.03Bengals: −0.03 expected points added per play
−0.16Broncos: −0.16 expected points added per play
Dropping backexpected points added per dropback
−0.00Bengals: −0.00 expected points added per play
−0.19Broncos: −0.19 expected points added per play
Running itexpected points added per rush
−0.08Bengals: −0.08 expected points added per play
−0.12Broncos: −0.12 expected points added per play
Neither side “wins” volume or play-calling mix, so neither is drawn as a duel: Bengals ran 51 snaps at a 59% dropback rate against Broncos’s 71 at 54%. Red-zone trips: Bengals 3, Broncos 2.
NoteBroncos outgained Bengals 292-250 but lost the turnover battle 2-0. That was the game.
Derived from the play-by-play, no model
The Read
8 of 8 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.
low through week 15Against their seasonOver Expected
DEN's pass rate over expected, −14.3 pts, is past their previous low of −12.5 pts in week 14 — the lowest of their 14 charted games through week 15.
71 snaps this game, floor 20 — 17 of their games behind the ruler, and their own week-to-week swing is 5.8 points.
DEN's sack or hit rate turned over: 9.5% in week 14 against 20.0% here — they stayed blocked then and got home now, a turn of 2.3 of their own weekly swings across the two.
30 dropbacks this game, floor 12 — 17 of their games behind the ruler, and their own week-to-week swing is 4.6 points.
The season-grain rooms, pointed at this one game
Was this normal for them?
8 of 8 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 -22 pts to 21 pts
right on their number · +1.9 vs their 13.8%, and they swing ±4.8 week to week (+0.41× that swing) · 38 dropbacks
Broncos20.0%
leaned — got home · +7.1 vs their 12.9%, and they swing ±4.6 week to week (+1.53× that swing) · 30 dropbacks
Play-action rate
Charted from 2022. The columns exist for 2021 and are entirely empty, which is not a season of data.
Blitz rate sent
Charted from 2022. The columns exist for 2021 and are entirely empty, which is not a season of data.
NoteDEN's pass rate over expected was the night's one real departure: -14.3 pts, 9.7 points below their season mean of -4.6 pts and 1.7 times their own 5.8-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.
Cincinnati Bengals
48 dressed · 6 inactive · 3 never used
74Fred JohnsonT · Every snap100%53 snaps
—Jonah WilliamsT · Every snap100%53 snaps
67Quinton SpainG · Every snap100%53 snaps
66Trey HopkinsC · Every snap100%53 snaps
9Joe BurrowQB · Every snap100%53 snaps
1Ja'Marr ChaseWR · Full-time96%51 snaps
85Tee HigginsWR · Full-time87%46 snaps
83Tyler BoydWR · Full-time87%46 snaps
87C.J. UzomahTE · Heavy rotation79%42 snaps
79Jackson CarmanG · Heavy rotation62%33 snaps
28Joe MixonRB · Heavy rotation58%31 snaps
77Hakeem AdenijiG · Rotational38%20 snaps
34Samaje PerineRB · Rotational30%16 snaps
89Drew SampleTE · Rotational30%16 snaps
25Chris EvansRB · Situational11%6 snaps
80Mike ThomasWR · Situational9%5 snaps
70D'Ante SmithG · Situational6%3 snaps
17Stanley MorganWR · Situational4%2 snaps
84Mitchell WilcoxTE · Situational2%1 snap
Inactive · 6
Vernon HargreavesCBLogan WilsonILBTyler ShelvinNTTrayveon WilliamsRBIsaiah PrinceTTrenton IrwinWR
Dressed, never took a snap · 3
Trey HillCBrandon AllenQBJonah WilliamsT
Denver Broncos
48 dressed · 5 inactive · 1 never used
72Garett BollesT · Every snap100%75 snaps
66Dalton RisnerG · Every snap100%75 snaps
77Quinn MeinerzG · Every snap100%75 snaps
79Lloyd CushenberryC · Every snap100%75 snaps
70Bobby MassieT · Every snap100%75 snaps
81Tim PatrickWR · Full-time95%71 snaps
14Courtland SuttonWR · Full-time92%69 snaps
87Noah FantTE · Full-time80%60 snaps
10Jerry JeudyWR · Heavy rotation69%52 snaps
33Javonte WilliamsRB · Heavy rotation59%44 snaps
5Teddy BridgewaterQB · Heavy rotation57%43 snaps
3Drew LockQB · Rotational43%32 snaps
25Melvin GordonRB · Rotational41%31 snaps
85Albert OkwuegbunamTE · Rotational40%30 snaps
9Kendall HintonWR · Situational15%11 snaps
82Eric SaubertTE · Situational4%3 snaps
83Andrew BeckTE · Situational3%2 snaps
11Diontae SpencerWR · Situational3%2 snaps
Inactive · 5
Michael OjemudiaCBDre'Mont JonesDECaden SternsFSKenny YoungILBBrett RypienQB
4 players played under 8 snaps, so their shares read as a dash rather than a number. 4 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 Broncos attack right, the Bengals 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.
Bengals←Broncos→
Q1Q2Q3Q4
D.Lock left−25% win probabilitymoment 3 of 4
(10:39) (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 37 for 26 yards (3-D.Lock). FUMBLES (3-D.Lock), touched at CIN 38, RECOVERED by DEN-72-G.Bolles at CIN 42. The Replay Official reviewed the runner was not down by contact ruling, and the play was REVERSED. (Shotgun) 3-D.Lock left tackle to CIN 11 for -2 yards (90-K.Kareem). FUMBLES (90-K.Kareem), RECOVERED by CIN-90-K.Kareem at CIN 11. 90-K.Kareem to CIN 15 for 4 yards (3-D.Lock). CIN-90-K.Kareem was injured during the play.
Q4 10:39 · Broncos · 2nd & goal at CIN 9 · lost 2 · -4.93 EP · −24.7% win probability
157 snaps placed · 15 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: 172 plays across 23 drives, personnel groupings on 172 snaps. Everything here paints once the weekly sync ingests the game — 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 23 drives ended in points. The longest march was DEN moving 75 yards from the DEN 25 for a touchdown. Each bar is the ground a drive actually covered; DEN attacks right, CIN attacks left. Hatching marks a trip inside the twenty.
Every snap
Play stream
172 of 172 plays
Team
Quarter
Down
Play type
Expected points added
Event
Charted
Plays shown
172
EPA per play
-0.05
Success rate
38%
Yards
541
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. The names of the eleven on the field are only recorded from 2023 onward, so this game gives the grouping without the roster.
Broncos1 RB, 1 TE, 3 WR53-0.3155%
Bengals1 RB, 1 TE, 3 WR43-0.0153%
Broncos1 RB, 2 TE, 2 WR16+0.2950%
Bengals1 RB, 2 TE, 2 WR3——
Bengals1 RB, 2 TE, 1 WR3——
Broncos1 RB, 3 TE, 1 WR2——
Bengals1 RB, 0 TE, 4 WR1——
Bengals0 RB, 1 TE, 4 WR1——
snapsepapass rate
172 plays · ranked by the win probability each one moved
Every play
Ball
When
Play
Only
Who
172 plays
Bar length is win probability the play moved
1st quarter42 plays
Punt5 plays, from the Bengals 25 to the Bengals 33
Punt7 plays, from the Broncos 10 to the Broncos 29
Bengals3Broncos0
Field goal8 plays, from the Bengals 32 to the Broncos 35
Punt8 plays, from the Broncos 25 to the Broncos 41
Punt5 plays
Punt4 plays, from the Broncos 34 to the Broncos 40
The period ended4 plays, from the Bengals 16 to the Bengals 23
2nd quarter47 plays
Punt5 plays, from the Bengals 28 to the Bengals 34
Bengals3Broncos3
Field goal5 plays, from the Broncos 32 to the Bengals 35
Punt6 plays, from the Bengals 25 to the Bengals 34
Punt6 plays, from the Broncos 5 to the Broncos 19
Punt4 plays, from the Bengals 38 to the Bengals 41
No good16 plays, from the Broncos 20 to the Bengals 33
Bengals6Broncos3
Field goal3 plays, from the Bengals 41 to the Broncos 40
3rd quarter37 plays
Punt8 plays, from the Broncos 25 to the Broncos 37
Bengals9Broncos3
Field goal11 plays, from the Bengals 20 to the Broncos 8
FormationShotgunOffense on the fieldOne back, two tight ends and two receiversDefense on the fieldFive linemen, two linebackers and four backsRoute runGoCoverageCover 3, three deepMan or zoneZoneIn the boxSeven defendersRushing the passerFivePressure (charted)The passer was pressuredTime to throw2.5 seconds
Bengals9Broncos9
Bengals9Broncos10
Touchdown11 plays, from the Broncos 25 to the Bengals 25
FormationSingle backOffense on the fieldOne back, one tight end and three receiversDefense on the fieldTwo linemen, four linebackers and five backsRoute runCrosserCoverageCover 3, three deepMan or zoneZoneIn the boxSix defendersRushing the passerThreePressure (charted)The passer was kept cleanTime to throw3.5 seconds
Bengals15Broncos10
Touchdown4 plays, from the Bengals 32 to the Bengals 44
The period ended3 plays
4th quarter46 plays
FormationShotgunOffense on the fieldOne back, one tight end and three receiversDefense on the fieldFour linemen, one linebacker and six backsRoute runOutCoverageCover 1, man with a free safetyMan or zoneManIn the boxSix defendersRushing the passerSixPressure (charted)The passer was pressuredTime to throw1.9 seconds
Offense on the fieldOne back, one tight end and three receiversDefense on the fieldFour linemen, two linebackers and five backsIn the boxSeven defenders
Fumble lost11 plays, from the Broncos 27 to the Bengals 9
Punt8 plays, from the Bengals 15 to the Bengals 34
Punt8 plays, from the Broncos 5 to the Broncos 42
Punt11 plays, from the Bengals 22 to the Bengals 42
Turnover on downs6 plays
The period ended2 plays
Win probability is the league play-by-play model, 98.5% of plays · a dash means none was published