Experimental models running beside NFL-v1.1. Each kind of evidence is kept separate, because they are not worth the same.
Nothing on this page is a production forecast, and nothing here is a betting recommendation — no side is being advised. NFL-v1.1 remains the only official model; Current, History and Performance are unaffected by anything shown here. Promotion requires a human decision.
Starts from the market line and adds independent football information on top: the starting quarterback's career efficiency and snap-weighted personnel availability. Notably, the fit chose to drop NFL-v1.1's own disagreement with the line entirely — on 2018-2023 that disagreement carried no information the line had not already priced (beta +0.04, t +0.65).
Status: Beats NFL-v1.1 on the untouched holdout for both probability accuracy and margin error. Live sample so far: 311 decided.
PIT_SAFE: reconstructible from data timestamped before kickoff. OPTIMISTIC: the value is clean but the fact it applied to this game is recorded after it. UPPER_BOUND: historically an observation where a live forecast would only have a forecast.
| Parameter | Value |
|---|---|
| n_train | 2095 |
| fit_seasons | [2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025] |
| mode | anchored |
| margin | {'terms': ['intercept', 'qb_epa_delta', 'avail_delta'], 'coefs': [-0.13314808261893504, 1.8907446585546934, 0.3605516418295857]} |
| total | {'terms': ['intercept', 'wind', 'cold', 'avail_total', 'qb_epa_delta_abs'], 'coefs': [0.5765538519859024, -0.15367635584114925, -0.041595801727398164, 0.5936126731121204, -2.603946894792646]} |
NFL-v1.1's own projection plus three things it ignores: starting quarterback quality, whether the starter changed, and snap-weighted availability lost to injury. No market information at all, so it is a straight test of whether better football information improves the football model.
Status: Beats NFL-v1.1 on the untouched holdout for both probability accuracy and margin error. Live sample so far: 311 decided.
PIT_SAFE: reconstructible from data timestamped before kickoff. OPTIMISTIC: the value is clean but the fact it applied to this game is recorded after it. UPPER_BOUND: historically an observation where a live forecast would only have a forecast.
| Parameter | Value |
|---|---|
| n_train | 2095 |
| fit_seasons | [2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025] |
| mode | residual |
| football_margin | {'features': ['qb_epa_delta', 'qb_change_delta', 'avail_delta'], 'coefs': [12.731895832600213, -3.048535943750645, 1.1500630439545154], 'ridge': 0.1, 'n': 2095} |
| football_total | {'features': ['wind', 'cold', 'avail_total', 'qb_epa_delta_abs'], 'coefs': [-0.17486154379031396, -0.17515295371546152, 0.5995953150108153, -1.6817245582812814], 'ridge': 0.1, 'n': 2095} |
| market_margin | {} |
| market_total | {} |
| sd_scale | 1.2600000000000005 |
Same games, same frozen pregame data, one official pregame forecast each. Overall first, then by market — a model can lead overall purely because moneyline probabilities are the easiest of the three.
| Model | n | Correct | Probability accuracy | Log loss | Claimed / actual |
|---|---|---|---|---|---|
| NFL-v1.1 (production) | 311 | 173 of 311 (55.6%) | 0.2513 | 0.6970 | 52.4% / 56.6% |
| Challenger A — Market-Anchored | 311 | 176 of 311 (56.6%) | 0.2420 | 0.6773 | 56.7% / 56.6% |
| Market baseline | 311 | 172 of 311 (55.3%) | 0.2431 | 0.6796 | 55.2% / 56.6% |
| NFL-v1.1 (production) | 311 | 173 of 311 (55.6%) | 0.2513 | 0.6970 | 59.0% / 57.9% |
| Challenger B — Football+ | 311 | 180 of 311 (57.9%) | 0.2461 | 0.6859 | 59.1% / 57.9% |
| Market baseline | 311 | 170 of 311 (54.7%) | 0.2431 | 0.6796 | 54.3% / 57.9% |
| Market | Model | n | Correct | Probability accuracy | Claimed / actual |
|---|---|---|---|---|---|
| Moneyline | NFL-v1.1 (production) | 104 | 62 of 104 (59.6%) | 0.2394 | 57.9% / 62.5% |
| Moneyline | Challenger A — Market-Anchored | 104 | 65 of 104 (62.5%) | 0.2270 | 64.1% / 62.5% |
| Moneyline | Market baseline | 104 | 65 of 104 (62.5%) | 0.2291 | 65.0% / 62.5% |
| Spread | NFL-v1.1 (production) | 102 | 52 of 102 (51.0%) | 0.2571 | 49.2% / 55.9% |
| Spread | Challenger A — Market-Anchored | 102 | 57 of 102 (55.9%) | 0.2477 | 52.1% / 55.9% |
| Spread | Market baseline | 102 | 50 of 102 (49.0%) | 0.2506 | 50.3% / 55.9% |
| Total | NFL-v1.1 (production) | 105 | 59 of 105 (56.2%) | 0.2575 | 50.0% / 51.4% |
| Total | Challenger A — Market-Anchored | 105 | 54 of 105 (51.4%) | 0.2512 | 53.8% / 51.4% |
| Total | Market baseline | 105 | 57 of 105 (54.3%) | 0.2496 | 50.1% / 51.4% |
| Moneyline | NFL-v1.1 (production) | 104 | 62 of 104 (59.6%) | 0.2394 | 60.7% / 64.4% |
| Moneyline | Challenger B — Football+ | 104 | 67 of 104 (64.4%) | 0.2311 | 61.6% / 64.4% |
| Moneyline | Market baseline | 104 | 65 of 104 (62.5%) | 0.2291 | 62.5% / 64.4% |
| Spread | NFL-v1.1 (production) | 102 | 52 of 102 (51.0%) | 0.2571 | 56.3% / 52.9% |
| Spread | Challenger B — Football+ | 102 | 54 of 102 (52.9%) | 0.2530 | 56.8% / 52.9% |
| Spread | Market baseline | 102 | 49 of 102 (48.0%) | 0.2506 | 50.2% / 52.9% |
| Total | NFL-v1.1 (production) | 105 | 59 of 105 (56.2%) | 0.2575 | 59.9% / 56.2% |
| Total | Challenger B — Football+ | 105 | 59 of 105 (56.2%) | 0.2543 | 58.7% / 56.2% |
| Total | Market baseline | 105 | 56 of 105 (53.3%) | 0.2496 | 50.1% / 56.2% |
Each slice is a third of an already small sample. THIN marks any cell below 30 decided predictions, where a difference of a few games moves every number on the row.
Unresolved forecasts, side by side. This is not a recommendation and no side is being advised.
| Game | Market | Prediction | NFL-v1.1 | Challenger A — Market-Anchored | Challenger B — Football+ | Market |
|---|---|---|---|---|---|---|
| ARI @ SEA | Moneyline | ARI ML | 32.9% | 25.4% | 24.3% | 21.4% |
| ARI @ SEA | Spread | ARI +8.5 | 60.6% | 51.9% | 44.8% | 50.2% |
| ARI @ SEA | Total | UNDER 39.5 | 39.8% | 48.6% | 42.2% | 49.6% |
| BUF @ MIN | Moneyline | BUF ML | 60.9% | 60.2% | 63.4% | 60.9% |
| BUF @ MIN | Spread | BUF -3 | 52.3% | 55.2% | 59.4% | 51.1% |
| BUF @ MIN | Total | UNDER 44.5 | 58.1% | 50.5% | 56.8% | 50.0% |
| CIN @ ATL | Moneyline | CIN ML | 50.9% | 59.7% | 52.8% | 60.2% |
| CIN @ ATL | Spread | CIN -3 | 41.7% | 54.7% | 48.8% | 50.4% |
| CIN @ ATL | Total | UNDER 52.5 | 63.4% | 50.5% | 61.1% | 50.2% |
| CLE @ NO | Moneyline | CLE ML | 38.5% | 40.9% | 37.8% | 40.3% |
| CLE @ NO | Spread | CLE +3 | 47.0% | 53.3% | 47.7% | 49.0% |
| CLE @ NO | Total | UNDER 42.5 | 74.5% | 48.1% | 69.6% | 50.0% |
| DAL @ IND | Moneyline | DAL ML | 40.8% | 67.1% | 46.5% | 67.4% |
| DAL @ IND | Spread | DAL -5.5 | 25.7% | 50.6% | 33.6% | 49.2% |
| DAL @ IND | Total | UNDER 51.5 | 40.6% | 51.1% | 43.2% | 50.0% |
| DEN @ CAR | Moneyline | DEN ML | 57.3% | 58.3% | 57.9% | 57.4% |
| DEN @ CAR | Spread | DEN -2.5 | 52.3% | 53.2% | 53.9% | 51.9% |
| DEN @ CAR | Total | UNDER 44.0 | 51.3% | 51.2% | 52.6% | 49.8% |
| DET @ MIA | Moneyline | DET ML | 56.1% | 71.2% | 59.3% | 74.8% |
| DET @ MIA | Spread | DET -7 | 32.8% | 51.8% | 43.2% | 50.0% |
| DET @ MIA | Total | UNDER 50.5 | 44.4% | 49.6% | 46.3% | 50.2% |
| GB @ NE | Moneyline | GB ML | 37.6% | 41.6% | 40.8% | 40.0% |
| GB @ NE | Spread | GB +3 | 46.0% | 54.0% | 50.8% | 49.2% |
| GB @ NE | Total | UNDER 44.5 | 36.7% | 49.4% | 39.4% | 50.0% |
| HOU @ LAC | Moneyline | HOU ML | 51.0% | 66.6% | 51.8% | 67.4% |
| HOU @ LAC | Spread | HOU -5.5 | 34.5% | 50.0% | 38.5% | 49.6% |
| HOU @ LAC | Total | UNDER 40.5 | 69.2% | 47.9% | 64.8% | 49.8% |
| JAX @ BAL | Moneyline | JAX ML | 53.8% | 78.8% | 68.0% | 80.2% |
| JAX @ BAL | Spread | JAX -9.5 | 26.1% | 52.4% | 45.2% | 50.2% |
| JAX @ BAL | Total | UNDER 39.5 | 34.0% | 43.6% | 34.2% | 48.9% |
| LA @ WAS | Moneyline | LA ML | 61.4% | 64.1% | 61.2% | 66.6% |
| LA @ WAS | Spread | LA -4.5 | 46.4% | 49.2% | 49.3% | 51.1% |
| LA @ WAS | Total | UNDER 48.5 | 41.7% | 49.7% | 43.8% | 51.1% |
| LV @ SF | Moneyline | LV ML | 14.9% | 23.3% | 17.4% | 20.0% |
| LV @ SF | Spread | LV +9.5 | 38.1% | 50.4% | 36.3% | 49.8% |
| LV @ SF | Total | UNDER 51.5 | 66.9% | 51.4% | 64.2% | 48.9% |
| NYG @ PHI | Moneyline | NYG ML | 45.2% | 58.4% | 48.5% | 60.1% |
| NYG @ PHI | Spread | NYG -3 | 35.9% | 53.4% | 44.6% | 51.5% |
| NYG @ PHI | Total | UNDER 38.5 | 28.8% | 48.8% | 33.1% | 49.6% |
| NYJ @ KC | Moneyline | NYJ ML | 29.3% | 22.2% | 29.4% | 18.8% |
| NYJ @ KC | Spread | NYJ +10 | 60.2% | 53.2% | 55.2% | 50.4% |
| NYJ @ KC | Total | UNDER 47.5 | 56.6% | 50.0% | 55.7% | 50.4% |
| TB @ CHI | Moneyline | TB ML | 46.1% | 33.1% | 48.2% | 29.6% |
| TB @ CHI | Spread | TB +6 | 64.9% | 53.1% | 64.1% | 49.8% |
| TB @ CHI | Total | UNDER 47.5 | 51.7% | 49.1% | 51.5% | 50.4% |
These are never combined into a single figure. A number that pooled a training score with a live one would be the most misleading thing this system could publish.
No model on this page can alter a production forecast, enter the official History record, or affect grading. There is no automatic promotion anywhere in this system: promotion means a human editing the model version and coefficients in a commit.
Generated 2026-11-05 23:48 UTC.