Stat Explainer

The First Miss: San Francisco 27, Rams 7, Graded

The model's .5789 on the Rams lost by twenty in Melbourne, and the ledger reads one for two at a Brier of .2193. This page grades the site's own pre-registrations against the miss: the rule landed the 49ers fifth and the Rams eighth exactly where yesterday's ladders said a nineteen-plus-point 49ers win would, six rows changed inside the published four-to-eight, and the 34.4-point move is a 94th-percentile night against 7,276 historical moves. Then the harder part. A .58 pick losing by twenty is one draw from a distribution that produces one about every nineteen games in the .55–.60 band; separating .5789 from a coin takes 157 of them. The market moved toward the Rams before kickoff, its second move toward a loser in two games. The miss budget is heavier by .58. The miss is owned at full price.

By C. B. Zakarian · Published September 11, 2026

San Francisco 27, Los Angeles 7

The model's second number of the season was .5789 on the Rams, on a neutral field in Melbourne, and the Rams lost by twenty. That is the first miss of 2026, and I am going to grade it the same way I graded Wednesday's hit: with a harness that recomputes every figure from the game file and the frozen ledger rather than from my memory of what I wrote. The ledger now reads one for two with a Brier score of .2193. The miss cost .3351 of Brier, which is .5789 squared, and there is no version of the accounting in which it costs less.

Yesterday's rankings page priced this game before kickoff, both branches, every margin, and published two ladders: on a 49ers win the Rams would fall to eighth from a nineteen-point margin and the 49ers would rise to fifth from an eleven-point one, and between four and eight rows of the board would change in any decided result. San Francisco won by twenty. The pipeline's board this morning has the 49ers fifth at 1593.8 and the Rams eighth at 1580.3, and six rows changed. Everything the page said would happen on a twenty-point 49ers win happened, which is the least interesting fact on this page, because it is arithmetic. The interesting facts are what a miss of this size is worth, what it did to the board, and how little it says about whether .5789 was the right number.

The short version: the move was a 94th-percentile night against every rating move the engine has made since 1999, and the two 2026 games are now four to one in size. The 49ers and Rams have swapped order by 13.5 points after being 55.3 apart the other way. The miss budget is heavier by .58 than it was on Tuesday. The market moved toward the Rams between yesterday morning and kickoff, which makes two games in two in which it moved toward the loser, and two games is two games. And the calibration question is exactly as open as it was on Wednesday: one .58 pick losing by twenty is one draw from a distribution that produces such a draw about one game in nineteen.

Where the Night Landed on Yesterday's Table

Yesterday's table had seven margins in each direction and no row for twenty; the neighbouring rows were fourteen (Rams −30.59) and twenty-one (Rams −34.91), and the harness for this page puts the realised move between them at −34.39. The rule that produced it is the one published on September 8, with the neutral flag switching off the home edge:

gap        = 1614.721 - 1559.409                          = 55.31   (no home edge: Melbourne is marked Neutral)
p(Rams)    = 1 / (1 + 10 ** (-55.31 / 400))                = 0.578935
multiplier = log(20 + 1) * (2.2 / (0.001 * 55.31 + 2.2))   = 3.0445 * 0.97548 = 2.9699
shift      = 20 * 2.9699 * (0 - 0.578935)                  = -34.387
Rams       1614.721 - 34.387 = 1580.334    49ers  1559.409 + 34.387 = 1593.796

The harness replays the engine over the 7,276 played games in the file, reproduces all 32 frozen ratings to the tenth, feeds it Wednesday's row and lands on yesterday's board, feeds it Thursday's row and lands on today's: San Francisco 1593.8, the Rams 1580.3, the other thirty numbers unchanged. Had the Rams won by the same twenty the move would have been +25.01 the other way, because the exchange rate between the branches was fixed before kickoff at .5789 / .4211 = 1.375 and did not change; the Rams would be second at 1639.7 and the 49ers thirteenth at 1534.4.

The six rows that changed are the two teams and the four they crossed. The Rams fell from third to eighth, passing under Denver, Houston, San Francisco, New England and Philadelphia; the 49ers rose from tenth to fifth, over Detroit, Jacksonville, the Rams, Philadelphia and New England; Denver and Houston each moved up one seat into the space the Rams left, and Jacksonville and Detroit each moved down one seat into the space the 49ers left. Yesterday's page said four to eight rows in any decided result and put the eight-row outcomes at 49ers wins of nine to eleven points, where the two teams would land adjacent and cross more neighbours; from nineteen on the count is six, and twenty produced six.

#TeamSep 10 (a.m.)Sep 11ChangeRank yesterday
1Seattle1683.01683.0·1
2Buffalo1615.91615.9·2
3Denver1612.61612.6·4
4Houston1605.61605.6·5
5San Francisco1559.41593.8+34.410
6New England1584.41584.4·6
7Philadelphia1581.21581.2·7
8Los Angeles Rams1614.71580.3−34.43
9Jacksonville1565.91565.9·8
10Detroit1563.91563.9·9

Two things about the new board are worth writing down before Sunday erases them. The Rams now sit 0.9 points under Philadelphia, one of the four adjacent gaps on the board under a point, so eighth is a coin flip with a lean and nothing more. And the pair has inverted: the Rams led the 49ers by 55.3 on Thursday morning and trail them by 13.5 this morning, a 68.8-point swing in the gap, which is twice the move because both ratings travel. The tier lines the rankings page draws are where they were, below first at 67 points and below twenty-ninth at 33; the number of adjacent gaps under five points fell from thirteen to eleven, and the median gap widened from 7.0 to 7.8. The movement column on that page is still a dash in all 32 rows, for the reason yesterday's page gave: it compares against the last fully graded week, and week 1 is two-sixteenths graded.

The Exhibit

Left panel: four curves of post-game rating against final margin for San Francisco at Los Angeles, as priced on September 10: the Rams if they win rising from 1620 toward 1644, the Rams if they lose falling from 1607 to 1575, the 49ers if they win rising from 1567 to 1600, and the 49ers if they lose falling from 1554 to 1530. Dotted horizontal lines mark Buffalo 1615.9, Denver 1612.6, Houston 1605.6, New England 1584.4, Philadelphia 1581.2, Jacksonville 1565.9 and Minnesota 1556.1. Two green dots at a margin of twenty mark the realised result, the 49ers at 1593.8 and the Rams at 1580.3, and a hollow marker on the Rams-win curve at twenty shows the other branch at plus 25.01. Right panel: a histogram of the 7,276 absolute rating moves the engine made from 1999 to 2025, peaking near 14 and tailing off past 40, with a dashed line at the median of 17.045, a blue line at Wednesday's 8.42 labelled the 13.5th percentile, and a green line at Thursday's 34.39 labelled the 94.3rd percentile with 416 of 7,276 moves bigger.
Left: the four branches published yesterday morning, with the result placed on them. Right: where the season's two rating moves sit on the engine's own history. Data: nflverse game log and this site's frozen ledger, replayed through nfl_elo.py.

How Big a Night It Was

Against the 7,276 rating moves the engine has made since 1999, with the offseason regression taken out of the measurement, a 34.39-point move is a 94.3rd-percentile night: 416 games moved a rating more, 6,860 moved one less. The median move is 17.045, so Thursday was two ordinary games' worth of movement in one, and it was 4.09 times Wednesday's 8.42, which sat at the 13.5th percentile. Of the 428 week-1 games in the file, 26 moved a rating more than this one.

That size is mostly the miss and only partly the margin. The engine pays out at the odds it quoted: a .5789 pick losing pays 1.375 times what the same pick winning would have earned, before the margin is counted at all. Across the 2,591 games in the file in which the model's pick lost, the average move was 24.66, and 84.4% of them moved less than this one; among the 556 upsets of a pick priced between .55 and .60, sixty moved at least this much. A twenty-point loss by a modest favourite is a large night for this rule, and it is not a rare one: the rule has produced a bigger one about every seventeen games for twenty-seven seasons.

What the move did to next week is the same small thing Wednesday's did. The 49ers' price at home to Miami on September 20 rose from .7013 to .7411; the Rams' price at home to the Giants on September 21 fell from .8024 to .7691. No week-2 pick flipped, and the other fourteen week-2 games are untouched because none of their teams has played.

What One Miss Can and Cannot Say About .5789

The honest sentence is the one Wednesday's page wrote about the hit, with the sign reversed. A .5789 pick losing means the model said the Rams were more likely to win and they did not. The stronger claim — that .5789 was too much confidence — is the one that would actually tell you something about the rating, and one game cannot support it. In the sixteen graded seasons, games the model priced between .55 and .60 have gone 452 of 768, a realised rate of .5885 against a stated .5789 for this game, with a standard error of .0178. The pick in that band loses about two games in five. It has done so 316 times, and 41 of those losses, 13.0% of them, were by twenty points or more; that is 5.3% of every game the band has ever contained, one in nineteen. Across all 4,350 graded decided games the pick has lost by twenty or more 177 times, 4.1%, which is roughly one game a week.

So Thursday was a draw from the ugly end of a distribution the model has been publishing the shape of for years, and the margin is not part of the grade at all: a Brier score sees a 27–7 loss and a 10–7 loss as the same .3351. The margin enters the rating, through the multiplier, and it enters the story, but it does not enter the question of whether .5789 was right. On that question a single game carries a standard error of .4937. To separate .5789 from a coin at two standard errors takes about 157 games in the band; to separate it from being five points too confident, .529, takes about 391. The site has graded two games this season. The learning-curve page put the number of games needed to tell this model from always-pick-home at about 109, and that was the easy question.

I would add one thing I could not have written on Wednesday. The model has now posted a hit at .6785 and a miss at .5789, and the two-game Brier of .2193 is under the coin's .2500. Anyone tempted to read that as the model being ahead should notice that a hit at .6785 and a miss at .5789 is very close to the least informative pair of results a two-game ledger can hold, and that the season-long Brier the ledger page asks to be judged against is .2205 over 4,363 games. Two games is two games.

The Market Moved Toward the Loser Again

Yesterday's page quoted the game file's line as of the September 10 pull, Rams by 3.5 with moneylines of +164 and −198, which imply a vig-free .6369 on the Rams. The file now carries the close: still 3.5, but +180 and −218, a 4.27% hold and a vig-free .6575. Between yesterday morning and kickoff the market moved 2.1 points of probability further toward the Rams. The model, which cannot move between games, sat at .5789 the whole time, below both market numbers.

Pre-kickoff numberP(Rams)Brier, actualBrier had LA won
The model, frozen August 12.5789.3351.1773
The market, September 10 pull (+164 / −198).6369.4056.1318
The market at the close (+180 / −218).6575.4323.1173

Read the third column and the model "beat the market" on Thursday by .0972 of Brier. Read the fourth and the order reverses exactly, as it did on Wednesday's page in the other direction. All three numbers picked the Rams. The loser separated none of them; the only thing that separated them was how confident each was, and on a miss the least confident number scores best by construction. This is the same mechanical fact as Wednesday's and I am putting it on the page again because a two-game ledger in which the model has the best Brier on both nights is precisely the kind of thing that gets read as evidence.

What is not mechanical is the direction of the market's move. On Wednesday it moved four and a half points toward New England between June and the close, and Seattle won. On Thursday it moved two points toward the Rams between the morning pull and the close, and San Francisco won. Two for two toward the eventual loser. I noted the first one because it would matter if it kept happening, and it has now happened once more, which is the smallest possible amount of keeping happening. There will be fourteen more closes this week and I will keep counting.

The spread column is louder than the moneyline column. The Rams closed as a 3.5-point favourite and lost by twenty, so the number missed by 23.5 points, which is the 91.5th percentile of the 6,967 closing-line errors in the file: 593 games have missed by at least that much. A 3.5-point favourite specifically has played 656 times in the file, won 414 and lost 241, and lost by twenty or more 21 times, 3.2%, about one in 31. Favourites at any price have lost by twenty or more in 249 of 6,937 games, 3.6%. The model's own edge in points, 55.3 rating points at the neutral-site exchange rate of 0.03552, was 1.96 — shorter on the Rams than the market's 3.5 there too, and equally wrong.

What the Neutral Flag Cost, or Saved

Yesterday's page flagged the one modelling decision in this game that was actually a decision: the file marks the Melbourne game Neutral, the engine applies no home edge, and the Rams were priced at .5789 rather than the .6444 a home game would have produced. I said that whether a Rams "home" game 8,000 miles from Inglewood deserved half an edge or none was a real question the model answered with a flag. The result does not answer it either, but it does put a number on what the flag did.

Had the file called it a Rams home game, the model would have been at .6444 and the miss would have cost .4153 of Brier instead of .3351, a difference of .0802; the rating move would have been 37.48 instead of 34.39, three points larger; and the ranks would have landed in the same two places, Rams eighth and 49ers fifth. So the neutral treatment saved the model eight hundredths of Brier and three rating points on a game it lost either way. That is not evidence the flag is right. A home-edge model loses more on this game and would have won more had the Rams won, and one game cannot tell the two apart any more than it can tell .5789 from .5. The file holds 94 neutral-site games since 1999, the international rows among them; that is the sample the question has to be asked of, and not tonight's one row.

The Miss Budget, Two Games In

The miss budget is the frame this site grades itself against, and after a miss the accounting is the part that has to be kept most carefully. Week 1's sixteen frozen probabilities expected 6.09 misses. Wednesday's game carried .3215 of that and did not miss; Thursday's carried .4211 and did. Together the two games were expected to produce .7426 misses and produced one. The fourteen unplayed games still carry 5.34 expected misses between them, so the week now expects 6.34 misses against Tuesday's 6.09, and 9.66 correct against 9.91. The season's 99.11 expected misses went to 98.79 on Wednesday and stand at 99.37 this morning.

One pre-registered frame did move, and in the direction people find counter-intuitive. The learning-curve page said before the week that 7 to 13 correct covered 93.6% of the week-1 distribution. Conditional on one hit and one miss, the same window now covers 94.9%: the week's expected count fell from 9.91 to 9.66, but two of the sixteen coins have stopped spinning, so the distribution is narrower and the window holds more of it. A miss made the week more predictable, not less. Sunday's thirteen games are priced as a distribution on the companion page.

Owning It

The model picked the Rams and the Rams lost by twenty. It picked them because the frozen board had them 55.3 points better than the 49ers, and that board is 2025's results plus a third of a regression and nothing that has happened since February. The file records the starting quarterbacks as Brock Purdy and Matthew Stafford; the model does not know that, and a 27–7 game is three touchdowns of information it will absorb only as a number. If San Francisco is a top-five team, the board now says so, and it took one game to get there from tenth. If Thursday was one of the 41-in-768, the board has over-corrected by about thirty points and the next three 49ers games will take most of it back. I do not know which, and the page that says it does after one game is selling something.

What I can say is that the mechanics did what they were published to do, that the miss is on the ledger at full price, and that the pre-registered claims about this game were all checkable and all checked. The number goes up first and the story comes after. The story this morning is that the model was wrong about a football game, which it expects to be roughly 99 times this season, and this was the first.

What This Page Does Not Show

Brier scores on one game rank confidence, not skill. The market table's counterfactual column is on the page so the actual column cannot be read alone; it is the same caution Wednesday's page carried, with the roles reversed.

The closing line is the game file's, and it is a snapshot. The nflverse log updated the row to +180 and −218 once the game was final. I have no independent record of when that number was captured or whether it was the consensus close. The +164 and −198 are the numbers yesterday's page quoted from the September 10 pull.

Nothing about the game itself is used. The score and the flag are the only inputs. Purdy and Stafford are on this page because the file has a column for them, not because the model does.

Every unplayed game is unplayed. Thirteen games kick on Sunday and one on Monday; every reference to them here is a pre-game price from the current ratings and the frozen ledger.

The percentile scale is a replay. The 7,276 historical moves are recomputed by walking the engine forward through the file with the offseason regression excluded, the same procedure the two earlier pages used, and reproduce their median of 17.045 and maximum of 50.32.

The neutral-site counterfactual is one game. It says what the flag did on Thursday, not whether the flag is right.

Method and Sources

Three files: the nflverse game log at /data/games.csv, the frozen ledger at /data/predictions.json (which nfl_elo.py graded from Friday morning's pull and which now carries results on two rows), and a replay of explainer_src/nfl_elo.py, imported rather than copied. The harness is explainer_src/make_first_miss_chart.py. The rank grading against yesterday's ladders is three lines:

ladder_la = [rank_after(rams_lose_by=m)["LA"] for m in range(1, 22)]   # v57: 4,5,5,...,7,8,8,8 -> #8 from 19
ladder_sf = [rank_after(rams_lose_by=m)["SF"] for m in range(1, 22)]   # v57: 8,8,8,8,8,7,7,7,6,6,5,... -> #5 from 11
assert ladder_la[19] == board["LA"] == 8 and ladder_sf[19] == board["SF"] == 5   # the pipeline's board at twenty

The script asserts the game's row from the file (score, margin, total, kickoff, venue, closing prices, quarterbacks), the ledger's scoreboard and both graded rows, the replay's reproduction of all 32 frozen ratings and of both post-game boards, the 34.387 move and its percentile against 7,276 historical moves, yesterday's two ladders and its four-to-eight range, the six changed rows by name, the 1.375 exchange rate and the +25.01 counterfactual, the neutral-site counterfactual, all three market probabilities with their scores both ways, the spread and favourite arithmetic, the .55–.60 band and its twenty-point losses, the miss-budget accounting and the 7–13 window, both week-2 prices, and the rankings and ledger pages' rendered rows: 140 assertions, all green as of September 11, 2026. Because the site's build republishes the June bundle over the served game file, the harness saves the sixteen week-1 rows as pulled on September 11 to a dated snapshot and reads from it thereafter, so it reproduces after any rebuild.

Sources: the nflverse public game log (games.csv, 1999–2025 results plus the 2026 schedule, with two games graded and the September 11 lines on the rest). The Brier score is Glenn Brier's, from Verification of Forecasts Expressed in Terms of Probability (1950).

Further reading

About the author

C. B. Zakarian

C. B. Zakarian is an independent analyst who writes about what he can measure. He builds every model, chart, and calculator on this site himself from the public nflverse play-by-play and game-log releases, shows the working, and never invents a number. The dataset behind the exhibits is served openly at /data/, and the method behind every figure is spelled out so you can check it against the same file. When the data can't answer a question, he says so.

More Explainers
Do Favorites Cover? Scoring by Week Most Common Scores Favorite Win Rates Playoff Football Division Games & Home Field DVOA EPA vs. DVOA CPOE Passer Rating vs. QBR Pythagorean Wins Air Yards & YAC Fourth-Down Analytics Strength of Schedule ANY/A RYOE Pass Protection Coverage Metrics Special Teams PROE & Game Script Red Zone Efficiency Explosive Plays Third Down Time of Possession Turnovers & Luck Win Probability YAC Over Expected Snaps & Usage Points Per Drive Success Rate Pressure Rate Play-Action Yards After Contact RPO Two-Point Conversions Yards per Route Run Block Win Rates Target Share & WOPR Home-Field Advantage Expected Points Point Spread Accuracy Weather & Scoring Rest & Scheduling Scoring Trend Overtime Over/Under Accuracy Key Numbers (3 & 7) Thursday & Primetime Grass vs. Turf One-Score Games Stadium Scoring Referee Effects QB Continuity Week 1 Signal Shutouts 2026 Schedule Strength 2026 Schedule Quirks Best Record vs. Super Bowl Win & Loss Streaks Division Repeats Close-Game Luck The Prediction Model The Week 1 Slate AFC East 2026 AFC North 2026 AFC South 2026 AFC West 2026 NFC East 2026 NFC North 2026 NFC South 2026 NFC West 2026 Preseason Signal 2026 Preseason 2026 Win Totals 2026 Playoff Odds 2026 International Games 2026 Miss Budget AFC vs NFC The 17-Game Era The Coach Ledger Week 1 Predictions Opening Night 2026 SB Rematch Effect Road Favorites The Chiefs' Rating Division Leverage The Learning Curve The Board, Sorted September, Priced The Offseason Haircut Fair Prices What One Game Moves The Shortest Lines The Week 10 Problem The New-Coach Bounce Same Record, Different Rating The Opener, Graded Rankings After the Opener The First Miss, Graded What Sunday Can Do All explainers

Go deeper

Want the code behind these metrics? Work through the 45-chapter NFL analytics tutorial.

Browse tutorials Free tools