Pro › NFL › Analyst · Week 1

Analyst · Week 1

The stats model is the foundation. This layer reads the week's news and forecasts, reports only what the model is not already counting, and moves the number by a capped amount — every claim linked to its source, every claim graded after the final.

W1W2W3W4W5W6W7W8W9 16,873 news items · latest Nov 4, 6:46 PM ET · cap ±10 pts per game

Is the news layer helping?

Since the layer went live, over 305 graded claims:
  • The adjusted forecast has been worse than the stats model alone — net change in squared error (Brier) of +0.252, where negative is better.
  • 146 of 305 claims pushed the number toward the actual result.
  • It changed the final pick in 5 games, and those flips went 4–1.
This is the whole test. News can't be backtested the way the base model was (2010–25), so the layer earns its place only forward, and only if it lowers the error over many games — not on any one result. Its job is to move the number toward the truth, not to rescue a pick: when it cut a heavy home pick by 10 points and the team still lost, the move was correct (it lowered the error) even though the pick was wrong — the base model had simply started too far above the market. Picks where we disagree with the market's final price are our weaker spot (about 44% in the backtest, versus 68% when we agree) — they're flagged “we differ” on the picks table so you can watch them.

What we do with the news, step by step

This page is the news layer's public notebook. In plain terms:
  1. Before kickoff, every run pulls the feeds and attaches new items to the games they concern. Items published after a game has started are never read: in-game news is not a prediction input.
  2. The reader turns new items into claims: a type (QB change, key starter out, resting starters…), a team, a player, a direction, and a confidence.
  3. The filters decide, in the same run, whether a claim is applied or declined. Declined if it is below the confidence floor for its type, if the model already counts it (the player is on the injury report, the QB is already the named starter), or if it is the kind of story that has no place (offseason hires, turf, "limited in practice").
  4. Applied claims move the probability right then, by a fixed number of points for the type, scaled by confidence, capped. That adjusted number is the pick. "Model 74% → analyst 76%" on a game below means exactly that.
  5. After the final, every claim is graded, applied or declined: did it point the right way, and did it lower the error? Declined claims are graded as if they had been applied, so we learn whether the filter was right to say no.
  6. Once a month, with enough graded cases, the rules change for future weeks: a type that keeps hurting loses weight; a rejection reason that keeps "would have helped" gets loosened. Past picks are never touched. Every rule change is dated in the changelog.
A claim only affects the game it is attached to. It does not carry into next week's model: a starter who misses Week 2 is caught by the injury report by then, and the model counts him there.

How it works

Sources: public news feeds; the National Weather Service forecast at kickoff for outdoor stadiums; the nflverse injury report and named starters are what the model already counts. The reader (one language-model call per game, only when there is new news) returns typed claims about things not already counted. A fixed table turns each claim into points, scaled by the reader's confidence, capped per type and ±10 in total. Weather is logged at zero weight until a season of grading says otherwise.
Claim typeMax points
starting QB change not yet in the feed6.0
key starter out, not on the injury report2.0
key starter returning1.5
resting starters / playing backups8.0
suspension2.0
coaching change2.0
motivation / eliminated / nothing to play for1.5
locker-room or organizational turmoil1.0
unusual travel or schedule disruption1.0
weather at kickoff (logged, zero weight)0.0
other (in-week, concrete, high confidence only)0.5

Scorecard by claim type

After each final: did the move go the right way, and did it lower the squared error (Brier)? Negative Brier change is good. Types that don't earn their weight get zeroed at season's end.
TypeClaimsGradedAvg ptsHelpedBrier Δ
key starter out, not on the injury report2051801.8 84/180+0.303
other (in-week, concrete, high confidence only)56520.4 24/52+0.043
motivation / eliminated / nothing to play for30231.1 13/23+0.017
starting QB change not yet in the feed21215.5 12/21-0.106
locker-room or organizational turmoil980.9 5/8+0.006
unusual travel or schedule disruption880.7 4/8-0.003
weather at kickoff (logged, zero weight)550.0 0/5+0.000
coaching change531.6 3/3-0.028
suspension441.9 1/4+0.014
key starter returning111.1 0/1+0.006

Shadow scorecard — what we declined

Rejected claims are kept at zero weight and graded as if applied. If a rejection reason keeps "helping", the rule is too strict; if "other" keeps hurting, it stays out. This is how the layer learns.
Rejected becauseTypeClaimsGradedWould have helpedBrier Δ if applied
no ruled-out language (practice status is not 'out')key player out265241 116/241+0.207
retired: now on the injury reportkey player out166165 83/165+0.145
return of a player the model was not counting outkey player back113104 61/104-0.118
confidence 0.75 below floor for otherother6461 29/61+0.016
no ruled-out language (practice status is not 'out')QB change5948 18/48+0.769
confidence 0.65 below floor for otherother2927 16/27-0.015
retired: read before this team's previous game (old news)key player out2725 15/25-0.004
retired: read before this team's previous game (old news)QB change2012 12/12-0.589
confidence 0.70 below floor for otherother1918 9/18+0.005
confidence 0.30 below floor for key player outkey player out1714 8/14-0.002
soft status (limited/questionable/cleared)key player back1715 11/15-0.038
already on the injury reportkey player out1616 7/16+0.100
confidence 0.75 below floor for turmoilturmoil1613 7/13+0.017
confidence 0.65 below floor for motivationmotivation1514 6/14+0.010
no ruled-out language (practice status is not 'out')suspension1311 4/11+0.055
confidence 0.45 below floor for key player outkey player out1111 6/11-0.012
confidence 0.70 below floor for turmoilturmoil119 4/9+0.020
retired: read before this team's previous game (old news)other109 7/9-0.018
confidence 0.40 below floor for key player outkey player out97 1/7+0.037
confidence 0.60 below floor for otherother98 5/8-0.002
about an earlier game, not this onekey player out85 4/5-0.032
not an in-week coaching changecoaching change88 5/8-0.027
QB out: the model already uses the named starterkey player out64 2/4+0.011
confidence 0.35 below floor for key player outkey player out66 2/6+0.006
confidence 0.00 below floor for key player outkey player out55 0/5+0.000
offseason / logistics story, already countedmotivation55 1/5+0.039
retired: read before this team's previous game (old news)travel55 3/5-0.010
retired: read before this team's previous game (old news)turmoil54 3/4-0.004
retired: same player already counted in this gamekey player out55 5/5-0.088
retired: schedule feed now names this QBQB change54 2/4+0.007
QB is already the named starterQB change43 1/3+0.068
confidence 0.60 below floor for turmoilturmoil44 2/4+0.003
confidence 0.65 below floor for coaching changecoaching change44 3/4-0.017
offseason / logistics story, already countedother44 1/4+0.004
confidence 0.60 below floor for coaching changecoaching change31 1/1-0.007
confidence 0.60 below floor for motivationmotivation33 2/3-0.014
retired: same player already counted in this gameother33 3/3-0.016
confidence 0.00 below floor for QB changeQB change22 0/2+0.000
confidence 0.50 below floor for otherother22 1/2-0.000
confidence 0.55 below floor for otherother22 2/2-0.005
confidence 0.65 below floor for traveltravel22 1/2+0.000
confidence 0.65 below floor for turmoilturmoil22 2/2-0.013
retired: read before this team's previous game (old news)motivation22 0/2+0.024
retired: same player already counted in this gamekey player out22 2/2-0.067
retired: same player already counted in this gameother22 0/2+0.006
retired: same player already counted in this gamekey player out22 2/2-0.034
retired: same player already counted in this gameother22 0/2+0.011
retired: same player already counted in this gameturmoil22 2/2-0.007
confidence 0.00 below floor for coaching changecoaching change11 0/1+0.000
confidence 0.30 below floor for otherother11 0/1+0.002
confidence 0.30 below floor for QB changeQB change11 0/1+0.015
confidence 0.50 below floor for turmoilturmoil11 0/1+0.003
confidence 0.55 below floor for motivationmotivation11 1/1-0.009
confidence 0.55 below floor for turmoilturmoil11 1/1-0.006
confidence 0.60 below floor for traveltravel11 1/1-0.005
offseason / logistics story, already countedcoaching change11 1/1-0.010
retired: same player already counted in this gameturmoil11 0/1+0.014
retired: same player already counted in this gamesuspension11 0/1+0.008
retired: same player already counted in this gamekey player out11 0/1+0.008
retired: same player already counted in this gameother11 1/1-0.007
retired: same player already counted in this gameother11 0/1+0.007
retired: same player already counted in this gameother11 1/1-0.007
retired: same player already counted in this gamekey player out11 0/1+0.024
retired: same player already counted in this gamekey player out11 1/1-0.006
retired: same player already counted in this gameother11 1/1-0.007
retired: same player already counted in this gameother11 0/1+0.004
retired: same player already counted in this gameother11 1/1-0.003
retired: same player already counted in this gamekey player out11 1/1-0.018
retired: same player already counted in this gamekey player out11 1/1-0.018
retired: same player already counted in this gameother11 1/1-0.001
retired: same player already counted in this gameother11 1/1-0.002
retired: same player already counted in this gameother11 1/1-0.002
retired: same player already counted in this gameother11 1/1-0.006
retired: same player already counted in this gameQB change10 ––
retired: same player already counted in this gamekey player out10 ––
retired: same player already counted in this gameQB change10 ––
retired: same player already counted in this gameother10 ––
Season: stats model 76–42, model + analyst 79–39; 98 games moved, 5 picks flipped (4 won).

NE @ SEA Wed 8:20 PM

no prediction stored yet · final 10–13
No claims shown: nothing concrete in the news beyond what the model already counts.

SF @ LA Thu 8:35 PM

no prediction stored yet · final 27–7
No claims shown: nothing concrete in the news beyond what the model already counts.

CHI @ CAR Sun 1:00 PM

est. model 43% home · no adjustment · forecast at kickoff: 84.0°F, wind 2.0 mph, Sunny · final 59–37
No claims shown: nothing concrete in the news beyond what the model already counts.
1 other item read and graded, not shown (we publish roster and schedule facts only).

TB @ CIN Sun 1:00 PM

est. model 65% home · no adjustment · forecast at kickoff: 83.0°F, wind 2.0 mph, Sunny · final 27–33
No claims shown: nothing concrete in the news beyond what the model already counts.

NO @ DET Sun 1:00 PM

est. model 74% home → analyst 76% (+1.9 pts) · final 30–31
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: after kickoff (excluded)
RB not expected to play Sunday vs Lions
NOAlvin Kamara 0.95+1.9 after the final
key starter out, not on the injury report declined: after kickoff (excluded)
RB not expected to play Sunday
NOAlvin Kamara 0.95+1.9 after the final
key starter out, not on the injury report declined: no ruled-out language (practice status is not 'out')
Not expected to play Sunday
NOAlvin Kamara 0.95+1.9 helped -0.009
key starter out, not on the injury report declined: after kickoff (excluded)
LG carted off with knee injury during game
DETChristian Mahogany 0.90-1.8 after the final

BUF @ HOU Sun 1:00 PM

est. model 51% home · no adjustment · forecast at kickoff: 94.0°F, wind 5.0 mph, Chance Showers And Thunderstorms · final 36–31
No claims shown: nothing concrete in the news beyond what the model already counts.
1 other item read and graded, not shown (we publish roster and schedule facts only).

BAL @ IND Sun 1:00 PM

est. model 39% home · no adjustment · forecast at kickoff: 81.0°F, wind 2.0 mph, Mostly Sunny · final 41–23
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: after kickoff (excluded)
Ruled out for second half with hamstring injury during game
BALZay Flowers 0.95+1.9 after the final
key starter out, not on the injury report declined: retired: now on the injury report
LB downgraded to out for Ravens game
INDAustin Ajiake 0.95-1.9 helped -0.014
coaching change declined: confidence 0.00 below floor for coaching change
John Harbaugh left Ravens to become Giants head coach in offseason
IND 0.000.0 after the final +0.000
1 other item read and graded, not shown (we publish roster and schedule facts only).

CLE @ JAX Sun 1:00 PM

est. model 81% home · no adjustment · forecast at kickoff: 88.0°F, wind 6.0 mph, Mostly Sunny · final 10–34
No claims shown: nothing concrete in the news beyond what the model already counts.

ATL @ PIT Sun 1:00 PM

est. model 67% home → analyst 65% (-1.9 pts) · forecast at kickoff: 77.0°F, wind 5.0 mph, Partly Sunny · final 13–20
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: after kickoff (excluded)
CB ruled out with back injury; inactive for Week 1 vs. Falcons
PITJoey Porter Jr. 0.95-1.9 after the final
key starter out, not on the injury report declined: after kickoff (excluded)
CB ruled out with back injury; inactive for Week 1
PITJoey Porter Jr. 0.95-1.9 after the final
key starter out, not on the injury report declined: after kickoff (excluded)
OT left Week 1 game vs. Falcons with injury
PITTroy Fautanu 0.85-1.7 after the final
key starter out, not on the injury report declined: no ruled-out language (practice status is not 'out')
CB unlikely to play Week 1 due to back injury and contract dispute
PITJoey Porter Jr. 0.85-1.7 hurt +0.012
2 other items read and graded, not shown (we publish roster and schedule facts only).

NYJ @ TEN Sun 1:00 PM

est. model 53% home · no adjustment · forecast at kickoff: 88.0°F, wind 0.0 mph, Sunny · final 23–10
ClaimTeamPlayerConf.Points (home)Graded
coaching change declined: not an in-week coaching change
Robert Saleh hired as new head coach of Titans, making debut this week
TEN 0.70-1.4 helped -0.015
key starter out, not on the injury report declined: after kickoff (excluded)
CB sustained injury in first quarter
NYJJarvis Brownlee 0.40+0.8 after the final
key starter out, not on the injury report declined: after kickoff (excluded)
Safety exited in opening quarter, status unclear but reported as questionable to return
NYJMinkah Fitzpatrick 0.40+0.8 after the final
key starter out, not on the injury report declined: after kickoff (excluded)
WR exited in opening quarter, status unclear but reported as questionable to return
NYJOmar Cooper 0.40+0.8 after the final

ARI @ LAC Sun 4:25 PM

est. model 75% home · no adjustment · final 26–14
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: after kickoff (excluded)
WR exited Week 1 game after taking big hit over the middle; injury status unclear but game exit reported
LACLadd McConkey 0.60-1.2 after the final

MIA @ LV Sun 4:25 PM

est. model 41% home → analyst 43% (+1.9 pts) · final 13–27
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: after kickoff (excluded)
Wide receiver inactive for Week 1 vs Raiders
MIAJalen Tolbert 0.95+1.9 after the final
key starter out, not on the injury report declined: already on the injury report
Head coach Klint Kubiak confirmed TE will not play Week 1 vs. Dolphins despite earlier optimism
LVBrock Bowers 0.95-1.9 hurt +0.023
key starter out, not on the injury report declined: after kickoff (excluded)
Wide receiver inactive for Week 1 game vs Raiders
MIAJalen Tolbert 0.85+1.7 after the final
key starter returning declined: return of a player the model was not counting out
Off injury report, set to play Week 1 vs. Dolphins
LVAshton Jeanty 0.90+1.4 helped -0.016
3 other items read and graded, not shown (we publish roster and schedule facts only).

GB @ MIN Sun 4:25 PM

est. model 53% home → analyst 55% (+1.9 pts) · final 22–39
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report
Guard inactive for Packers-Vikings game
GBAaron Banks 0.95+1.9 helped -0.018
starting QB change not yet in the feed declined: after kickoff (excluded)
Kyler Murray ruled out with concussion in first quarter; Wentz entered game
MINCarson Wentz 0.95-5.7 after the final
starting QB change not yet in the feed declined: after kickoff (excluded)
Kyler Murray ruled out with concussion after first-quarter hit; Carson Wentz entered game
MINCarson Wentz 0.95-5.7 after the final
1 other item read and graded, not shown (we publish roster and schedule facts only).

WAS @ PHI Sun 4:25 PM

est. model 70% home · no adjustment · forecast at kickoff: 81.0°F, wind 5.0 mph, Mostly Sunny · final 22–24
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: retired: now on the injury report
Rookie tight end placed on injured reserve; will not play Week 1
PHIEli Stowers 0.95-1.9 hurt +0.012
coaching change declined: confidence 0.60 below floor for coaching change
Eagles offensive coordinator moved to booth for first time under Nick Sirianni
PHI 0.60+1.2 helped -0.007
1 other item read and graded, not shown (we publish roster and schedule facts only).

DAL @ NYG Sun 8:20 PM

est. model 55% home · no adjustment · forecast at kickoff: 78.0°F, wind 2.0 mph, Mostly Clear · final 20–28
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report declined: already on the injury report
RB out for the year after hip surgery
DALMalik Davis 1.00+2.0 helped -0.017
key starter returning declined: return of a player the model was not counting out
WR officially active for Week 1 after torn ACL last season
NYGMalik Nabers 0.95+1.4 helped -0.012
key starter out, not on the injury report declined: confidence 0.35 below floor for key player out
WR listed as questionable; Giants signed insurance WR Dalen Cambre from practice squad
NYGMalik Nabers 0.35-0.7 hurt +0.006
1 other item read and graded, not shown (we publish roster and schedule facts only).

DEN @ KC Mon 8:15 PM

est. model 41% home → analyst 38% (-2.5 pts) · forecast at kickoff: 88.0°F, wind 13.0 mph, Clear · final 10–31
ClaimTeamPlayerConf.Points (home)Graded
key starter out, not on the injury report
Undrafted rookie starting at LT due to Josh Simmons ruled out; inexperienced blindside protection for Mahomes
KCKahlil Benson 0.85-1.7 hurt +0.020
key starter out, not on the injury report declined: retired: now on the injury report
Ruled out for Chiefs' opener Monday night
KCChamarri Conner 0.95-1.9 hurt +0.023
key starter out, not on the injury report declined: retired: now on the injury report
Left tackle ruled out for Monday night; undrafted rookie Kahlil Benson to start
KCJosh Simmons 0.95-1.9 hurt +0.023
key starter out, not on the injury report declined: confidence 0.30 below floor for key player out
Defensive lineman listed as limited with calf injury on Friday injury report
KCChris Jones 0.30-0.6 hurt +0.007
4 other items read and graded, not shown (we publish roster and schedule facts only).

Follow your team. It's free.

Your team on top of every page, with its next game and our pick. Want more? Plus from US$7/mo, 7 days free.