GridironProjector NFL

Alert records

How each matchup alert has done once the game finished, checked against the final score and the sportsbook number.

Games with no posted sportsbook number are left out of the win-loss counts.

Total scoring guide

What the model total has meant in tracked games.

We saidCallRecord
38 or lessUnder 41Strongest8–0 (100%)
44 or lessUnder 4514–1 (93%)
45 to 54Over 456–1 (86%)
55+Skip5–4

The first two rows overlap. Every game at 38 or less is also in the 44-or-less row. When both apply, Under 41 is the stronger play.

Loading records…

Card chips

The EXPECTED chips on every game card, graded from the number we froze before kickoff.

Matchup alerts

The four stat badges, graded only when they were frozen before kickoff.

Pattern tags

Situations that finished one way more often than games on similar closing spreads in our walk-forward backtest: our model's pregame numbers for 2020–25 (each built only from earlier games) against nflverse closing lines. Picked on 2020–24, checked on 2025.

A broad scan of 12,288 situation × result combinations turned up no more "winners" than shuffled results do, so only patterns with a football reason that also held in 2025 are kept. A 👀 Watching pattern becomes a ⚡ Pattern alert only after 25+ live games (after it was written down) with a 90% lower bound above the base by 3 points, and drops back when that stops being true.

Records only, not advice. 21+ only where legal.

Loading patterns…

Tail leans (experimental)

A second, wider search aimed at the rare ends of games: market structure (key numbers, moneyline vs spread, juice, opening vs closing line where history exists), referee crews, quarterback changes and backups, injured starters, rest, byes, travel, cold, wind, rain, altitude, late-season motivation, rematches, bounce-backs after extreme results, over/under and cover streaks, scoring luck, 4th-down aggressiveness and coach tenure — at extreme thresholds (top and bottom 2.5–10%) and in pairs.

The bar is lower than for stat trends, on purpose: at least 25 games in 2016–22, a lift of 8+ points over games on similar lines there, the same direction in 2023–24 and in the 2025 holdout, a football reason, and either the whole search beating shuffled results (permutation p ≤ 0.2) or a shrunk estimate still 4+ points above the base. That makes these small samples that may be noise. Only the best three per result show on game cards; each is demoted off the cards if its live record trails its base after 15 games.

77,100 rules tried across 12 results. Live records start Sep 27. Analysis and entertainment, not betting advice. 21+ only where legal.

Low scoring (37 or fewer, under the total)

Broad search: 6,425 rules, 26 passed the tail bar vs 39.3 on shuffled results (p 0.809, 1000 shuffles) · Theory list: 24 written-down hypotheses, 0 passed vs 0.05 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Wind, rain, cold, backup quarterbacks, injured starters, under-leaning referee crews, under streaks, slow pace and conservative 4th-down coaches were all tested; rain/snow helps the plain under (see Under), but nothing moved the 37-or-fewer low-scoring result beyond chance.

Under the total

Broad search: 6,425 rules, 51 passed the tail bar vs 64.5 on shuffled results (p 0.712, 1000 shuffles) · Theory list: 24 written-down hypotheses, 1 passed vs 0.07 (p 0.075) · family-wide shrinkage prior 4,866 games · holdout games in kept leans 15

  • Rain or snow in the forecast → Under the total

    🎯 Tail lean · on cards

    When: rain or snow at an outdoor stadium (backtest: nflverse game-day weather; live: the kickoff forecast, 50%+ chance or rain/snow in the forecast).

    Why it could be real: A wet ball means more fumbles and drops, shorter passes and more running, which runs the clock. Totals are set days ahead and move only partly with the forecast. Written down as a hypothesis before testing (theory family).

    2016–25 backtest
    99/15663%
    base 52% · +12 pts
    Discovery 2016–22
    71/11363%
    base 52% · +11 pts
    Validation 2023–24
    20/2871%
    base 53% · +19 pts
    Holdout 2025
    8/1553%
    base 47% · +6 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 59% vs base 52% (+7 pts) · family-wide shrinkage: 52% · 2023–25 combined 28/43 vs 51% · theory-list permutation p 0.075

    16
    8/15
    17
    10/17
    18
    9/17
    19
    12/20
    20
    8/12
    21
    10/14
    22
    14/18
    23
    17/22
    24
    3/6
    25
    8/15

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 8 of 10 seasons beat the base.

30 or fewer total points

Broad search: 6,425 rules, 7 passed the tail bar vs 14.7 on shuffled results (p 0.851, 1000 shuffles) · Theory list: 24 written-down hypotheses, 0 passed vs 0.01 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. The line alone already explains the 30-or-fewer games; every extra condition was at or below what shuffled results produce.

High scoring (51+, over the total)

Broad search: 6,425 rules, 59 passed the tail bar vs 64.3 on shuffled results (p 0.545, 1000 shuffles) · Theory list: 20 written-down hypotheses, 0 passed vs 0.08 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Dome + fast pace, over-leaning crews, depleted defenses, over streaks, aggressive coaches, heat, altitude, week 18 and scoring-luck regression were all tested: fewer rules passed on the real results than on shuffled ones.

Over the total

Broad search: 6,425 rules, 63 passed the tail bar vs 69.5 on shuffled results (p 0.555, 1000 shuffles) · Theory list: 20 written-down hypotheses, 0 passed vs 0.10 (p 1.000) · family-wide shrinkage prior 4,866 games · holdout games in kept leans 0

Nothing, even at the tail level. Same inputs as high scoring; nothing beat the shuffles.

60+ total points

Broad search: 6,425 rules, 23 passed the tail bar vs 32.6 on shuffled results (p 0.706, 1000 shuffles) · Theory list: 20 written-down hypotheses, 0 passed vs 0.03 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Nothing beat the shuffles; the 60+ games were no more common where any tested condition (or the variance model) said they should be.

Upset (underdog wins)

Broad search: 6,425 rules, 78 passed the tail bar vs 52.7 on shuffled results (p 0.127, 1000 shuffles) · Theory list: 28 written-down hypotheses, 1 passed vs 0.15 (p 0.143) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 149

  • Favorite's edge is all defense → Upset (underdog wins)

    🎯 Tail lean · on cards

    When: the favorite's defense allows 0.20+ fewer EPA per play than the underdog's, opponent-adjusted (biggest 5% of gaps); and it allows 5.6+ fewer points per game, opponent-adjusted (biggest 20%).

    Why it could be real: Defensive numbers are much less stable week to week than offensive ones, yet the spread leans on them. A favorite whose whole edge is its defense is priced on something that tends to regress, so the underdog wins outright more often than the line implies.

    2016–25 backtest
    48/11143%
    base 26% · +17 pts
    Discovery 2016–22
    40/8647%
    base 26% · +20 pts
    Validation 2023–24
    5/1729%
    base 25% · +4 pts
    Holdout 2025
    3/838%
    base 32% · +6 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 35% vs base 26% (+9 pts) · family-wide shrinkage: 27% · 2023–25 combined 8/25 vs 27% · broad-search permutation p 0.127

    16
    6/9
    17
    5/11
    18
    2/3
    19
    10/25
    20
    7/15
    21
    7/16
    22
    3/7
    23
    3/7
    24
    2/10
    25
    3/8

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 9 of 10 seasons beat the base.

  • Big-brand underdog with its regular QB → Upset (underdog wins)

    🎯 Tail lean · on cards

    When: the underdog is one of the most-followed franchises (Cowboys, Chiefs, Packers, Steelers, Patriots, 49ers, Eagles); and its quarterback started 15+ of the team's last 16 games.

    Why it could be real: Popular teams are rarely underdogs; when they are, it is usually after a short bad stretch the market overreacts to. With their established starter they are closer to their true level than the price.

    2016–25 backtest
    66/13051%
    base 38% · +13 pts
    Discovery 2016–22
    42/8251%
    base 39% · +12 pts
    Validation 2023–24
    16/3546%
    base 34% · +12 pts
    Holdout 2025
    8/1362%
    base 40% · +22 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 45% vs base 38% (+7 pts) · family-wide shrinkage: 38% · 2023–25 combined 24/48 vs 35% · broad-search permutation p 0.127

    16
    6/10
    17
    6/13
    18
    10/16
    19
    4/9
    20
    3/11
    21
    8/11
    22
    5/12
    23
    9/21
    24
    7/14
    25
    8/13

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 8 of 10 seasons beat the base.

  • Underdog in a red-zone slump → Upset (underdog wins)

    🎯 Tail lean · on cards

    When: the underdog's red-zone touchdown rate, averaged with what the favorite's defense allows, is 41.5% or lower (bottom 2.5%).

    Why it could be real: Red-zone touchdown rate is one of the noisiest team stats and snaps back toward average. An underdog whose scoring is dragged down by settling for field goals is better than its points say, and the spread partly prices the points.

    2016–25 backtest
    38/8147%
    base 32% · +15 pts
    Discovery 2016–22
    21/4844%
    base 31% · +13 pts
    Validation 2023–24
    14/2654%
    base 35% · +19 pts
    Holdout 2025
    3/743%
    base 25% · +18 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 38% vs base 32% (+7 pts) · family-wide shrinkage: 32% · 2023–25 combined 17/33 vs 33% · broad-search permutation p 0.127

    16
    3/4
    17
    4/10
    18
    7/10
    19
    1/12
    20
    1/3
    21
    1/2
    22
    4/7
    23
    10/21
    24
    4/5
    25
    3/7

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 9 of 10 seasons beat the base.

  • Two of the league's weakest offenses → Upset (underdog wins)

    🎯 Tail lean · records only

    When: the two offenses average 33.4 or fewer points per game combined (bottom 2.5%).

    Why it could be real: When neither side can score, a few plays (a turnover, a long field goal, a special-teams swing) decide the game and the talent gap the spread measures matters less.

    2016–25 backtest
    38/7352%
    base 37% · +15 pts
    Discovery 2016–22
    25/4852%
    base 36% · +16 pts
    Validation 2023–24
    9/1947%
    base 39% · +8 pts
    Holdout 2025
    4/667%
    base 43% · +24 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 43% vs base 37% (+6 pts) · family-wide shrinkage: 37% · 2023–25 combined 13/25 vs 40% · broad-search permutation p 0.127

    16
    4/5
    17
    4/10
    18
    4/6
    19
    6/14
    20
    1/2
    21
    2/6
    22
    4/5
    23
    4/9
    24
    5/10
    25
    4/6

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 9 of 10 seasons beat the base.

  • Two slow-paced offenses → Upset (underdog wins)

    🎯 Tail lean · records only

    When: both offenses are slow between snaps: 60.6+ seconds per play combined (slowest 10%).

    Why it could be real: Fewer snaps mean fewer possessions and a noisier result: the better team has fewer chances for its edge to show. Written down as a hypothesis before testing (theory family).

    2016–25 backtest
    162/40540%
    base 34% · +6 pts
    Discovery 2016–22
    86/19145%
    base 36% · +9 pts
    Validation 2023–24
    36/11033%
    base 32% · +1 pts
    Holdout 2025
    40/10438%
    base 33% · +5 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 39% vs base 34% (+5 pts) · family-wide shrinkage: 34% · 2023–25 combined 76/214 vs 32% · theory-list permutation p 0.143

    16
    5/10
    17
    9/26
    18
    12/21
    19
    16/33
    20
    7/16
    21
    20/40
    22
    17/45
    23
    11/31
    24
    25/79
    25
    40/104

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 9 of 10 seasons beat the base.

  • Underdog coming off a 25+ point win → Upset (underdog wins)

    🎯 Tail lean · records only

    When: the underdog won its previous game this season by 25+ points (top 2.5%).

    Why it could be real: A team that just routed someone is often better than the season-long numbers the line leans on, and the market moves only part of the way.

    2016–25 backtest
    39/7751%
    base 37% · +13 pts
    Discovery 2016–22
    23/4947%
    base 39% · +8 pts
    Validation 2023–24
    8/1747%
    base 33% · +14 pts
    Holdout 2025
    8/1173%
    base 38% · +35 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 43% vs base 37% (+6 pts) · family-wide shrinkage: 38% · 2023–25 combined 16/28 vs 35% · broad-search permutation p 0.127

    16
    3/6
    17
    4/8
    18
    2/4
    19
    2/5
    20
    5/9
    21
    5/12
    22
    2/5
    23
    2/7
    24
    6/10
    25
    8/11

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 7 of 10 seasons beat the base.

Underdog wins by 7+

Broad search: 6,425 rules, 34 passed the tail bar vs 33.5 on shuffled results (p 0.413, 1000 shuffles) · Theory list: 28 written-down hypotheses, 0 passed vs 0.08 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Nothing beat the shuffles for underdog wins by 7+.

FG-heavy (5+ made or 6+ tried)

Broad search: 6,425 rules, 44 passed the tail bar vs 47.7 on shuffled results (p 0.510, 1000 shuffles) · Theory list: 15 written-down hypotheses, 0 passed vs 0.03 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Kicker-friendly domes, stout red-zone defenses, conservative coaches, field-goal referee crews and long-kick teams were tested; nothing beat the shuffles for 5+ made / 6+ tried.

6+ field goals

Broad search: 6,425 rules, 21 passed the tail bar vs 10.3 on shuffled results (p 0.090, 1000 shuffles) · Theory list: 15 written-down hypotheses, 0 passed vs 0.00 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 7

  • Two grinding, low-yardage run games → 6+ field goals

    🎯 Tail lean · on cards

    When: the two offenses average 10.5 or fewer yards per play combined (bottom 20%); and the matchup projects 55.9+ combined carries (top 10%).

    Why it could be real: Run-first offenses that don't gain chunk yardage move the chains but stall between the 20s, and conservative play-callers kick there: drives end in field-goal range far more often than in the end zone.

    2016–25 backtest
    21/10720%
    base 9% · +11 pts
    Discovery 2016–22
    12/5920%
    base 9% · +12 pts
    Validation 2023–24
    8/4120%
    base 9% · +10 pts
    Holdout 2025
    1/714%
    base 12% · +3 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 15% vs base 9% (+5 pts) · family-wide shrinkage: 9% · 2023–25 combined 9/48 vs 10% · broad-search permutation p 0.090

    16
    1/9
    17
    6/20
    18
    0/4
    19
    0/0
    20
    1/9
    21
    1/2
    22
    3/15
    23
    6/32
    24
    2/9
    25
    1/7

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 8 of 10 seasons beat the base.

Blowout (17+ margin)

Broad search: 6,425 rules, 29 passed the tail bar vs 44.7 on shuffled results (p 0.820, 1000 shuffles) · Theory list: 18 written-down hypotheses, 0 passed vs 0.07 (p 1.000) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 0

Nothing, even at the tail level. Backup QBs, injured starters, eliminated or resting teams, week 18, travel, and collapsing underdogs were tested; fewer blowout rules passed than on shuffled results (p 0.82).

One-score game

Broad search: 6,425 rules, 65 passed the tail bar vs 72.8 on shuffled results (p 0.583, 1000 shuffles) · Theory list: 15 written-down hypotheses, 1 passed vs 0.06 (p 0.059) · family-wide shrinkage prior 5,000 games · holdout games in kept leans 24

  • Two low-scoring offenses → One-score game

    🎯 Tail lean · on cards

    When: the two offenses average 37.2 or fewer points per game combined (bottom 10%).

    Why it could be real: Low-scoring teams rarely build big leads, so more of these games are decided by one score than the spread alone suggests. Held in 2016–22 and 2023–24 but was flat in the 2025 holdout. Written down as a hypothesis before testing (theory family).

    2016–25 backtest
    184/29463%
    base 54% · +9 pts
    Discovery 2016–22
    121/19163%
    base 53% · +11 pts
    Validation 2023–24
    49/7962%
    base 54% · +8 pts
    Holdout 2025
    14/2458%
    base 58% · +0 pts
    2026 before Sep 27 (backtest)
    no games
    Live since Sep 27
    no games

    Shrunk estimate (100-game prior toward the base): 60% vs base 54% (+7 pts) · family-wide shrinkage: 54% · 2023–25 combined 63/103 vs 55% · theory-list permutation p 0.059

    16
    15/23
    17
    25/40
    18
    15/26
    19
    22/35
    20
    5/8
    21
    16/25
    22
    23/34
    23
    27/40
    24
    22/39
    25
    14/24

    Bars: hit rate each season (green = beat its base, red = didn't); line: base on similar lines. 10 of 10 seasons beat the base.

Other ways we looked for tails

Machine-learning tails. Gradient boosting and logistic regression on every pregame input, judged only on the games they rated most likely (top 5% by predicted rate minus the line base). A model can miss overall and still find a real extreme slice; these didn't: in 2016–22 (season-by-season cross-validation) the top 5% hit about the base rate for every result.

ResultTop 5% · 2016–222023–242025
Low scoring (37 or fewer, under the total)22/96 (23% vs 26%)1/7 (14% vs 34%)3/8 (38% vs 26%)
Under the total37/95 (39% vs 51%)13/31 (42% vs 41%)18/41 (44% vs 37%)
30 or fewer total points10/96 (10% vs 15%)2/28 (7% vs 12%)0/15 (0% vs 9%)
High scoring (51+, over the total)29/96 (30% vs 30%)8/15 (53% vs 23%)2/7 (29% vs 32%)
Over the total42/95 (44% vs 46%)13/39 (33% vs 44%)1/2 (50% vs 46%)
60+ total points14/96 (15% vs 18%)2/20 (10% vs 10%)0/1 (0% vs 19%)
Upset (underdog wins)38/96 (40% vs 34%)22/50 (44% vs 34%)10/38 (26% vs 27%)
Underdog wins by 7+16/96 (17% vs 19%)5/33 (15% vs 11%)2/19 (11% vs 10%)
FG-heavy (5+ made or 6+ tried)23/96 (24% vs 25%)14/46 (30% vs 18%)0/14 (0% vs 16%)
6+ field goals8/96 (8% vs 9%)3/34 (9% vs 9%)1/14 (7% vs 7%)
Blowout (17+ margin)19/96 (20% vs 24%)1/7 (14% vs 24%)1/2 (50% vs 18%)
One-score game46/96 (48% vs 44%)7/19 (37% vs 54%)3/8 (38% vs 38%)

Score-distribution model. We turned each closing line into tail probabilities (30 or fewer points, 60+, underdog by 7+, blowout, one-score) from how far real games landed from their lines, then let a model widen or narrow that spread game by game from the team stats. Its predicted volatility did not track how wild games actually were (correlation about zero in every split), and games it called "fatter-tailed" were not.

Line movement. Opening lines exist only for 2016–21 here, so movement rules could be explored but never checked on later seasons; none are used.

Data we could and couldn't use