Informational only. This page computes a lean from public game data; it is not betting advice, and no wagering is offered or arranged here. If you bet, do it legally and within your means.
How often these settings have been right
At these settings the formula has landed on the right side of the total 49.7% of the time since 2015, below the 52.4% a bettor needs to break even at standard −110 pricing.
| When the edge is | Record (W–L–P) | Hit rate |
|---|
| any size | 1507–1525–28 | 49.7% |
| 1+ points | 1062–1101–22 | 49.1% |
| 3+ points | 451–443–5 | 50.4% |
| 5+ points | 129–125–3 | 50.8% |
Back-test is in-sample: every game from 2015 through 2026 (3,060 games) scored with the factors as they stood before kickoff, against nflverse's closing total. Tuning the dials to raise this number is fitting the past, not predicting the future.
Week 3, 2026 season
Coin flip · over
Coin flip: our total (43.9) is within a point of the line (43), so the numbers don't separate over from under.
- Our total
- 43.9
- Edge vs. line
- +0.9 pts
- Hit chance
- 53%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 45.06 | 45.63 | 1.00 × +0.5570 | −0.3 |
| Recent pace | 41.50 | 45.66 | 1.00 × +0.1542 | −0.6 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | -0.68 | 0.21 | 1.00 × +0.5137 | −0.5 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 43.9 |
| The posted total | 43.0 |
| Edge (positive leans over) | +0.9 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Lean · under
Lean to the under: our total says 46.2 points, and the line is 50.
- Our total
- 46.2
- Edge vs. line
- −3.8 pts
- Hit chance
- 61%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 46.28 | 45.63 | 1.00 × +0.5570 | +0.4 |
| Recent pace | 46.75 | 45.66 | 1.00 × +0.1542 | +0.2 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 0.92 | 0.21 | 1.00 × +0.5137 | +0.4 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 46.2 |
| The posted total | 50.0 |
| Edge (positive leans over) | −3.8 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Coin flip · over
Coin flip: our total (42.8) is within a point of the line (42), so the numbers don't separate over from under.
- Our total
- 42.8
- Edge vs. line
- +0.8 pts
- Hit chance
- 52%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 42.16 | 45.63 | 1.00 × +0.5570 | −1.9 |
| Recent pace | 46.38 | 45.66 | 1.00 × +0.1542 | +0.1 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | -1.12 | 0.21 | 1.00 × +0.5137 | −0.7 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 42.8 |
| The posted total | 42.0 |
| Edge (positive leans over) | +0.8 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · over
Slight lean to the over: our total says 49.1 points, and the line is 47.5.
- Our total
- 49.1
- Edge vs. line
- +1.6 pts
- Hit chance
- 55%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 48.66 | 45.63 | 1.00 × +0.5570 | +1.7 |
| Recent pace | 45.75 | 45.66 | 1.00 × +0.1542 | +0.0 |
| Roof | 1.00 | 0.28 | 1.00 × +2.5721 | +1.9 |
| Combined strength | -0.70 | 0.21 | 1.00 × +0.5137 | −0.5 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 49.1 |
| The posted total | 47.5 |
| Edge (positive leans over) | +1.6 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Strong lean · over
Strong lean to the over: our total says 49 points, and the line is 42.5.
- Our total
- 49.0
- Edge vs. line
- +6.5 pts
- Hit chance
- 69%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 48.41 | 45.63 | 1.00 × +0.5570 | +1.5 |
| Recent pace | 51.00 | 45.66 | 1.00 × +0.1542 | +0.8 |
| Roof | 1.00 | 0.28 | 1.00 × +2.5721 | +1.9 |
| Combined strength | -0.17 | 0.21 | 1.00 × +0.5137 | −0.2 |
| Division game | 1.00 | 0.35 | 1.00 × −1.0217 | −0.7 |
| Our total | 49.0 |
| The posted total | 42.5 |
| Edge (positive leans over) | +6.5 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · under
Slight lean to the under: our total says 44 points, and the line is 45.5.
- Our total
- 44.0
- Edge vs. line
- −1.5 pts
- Hit chance
- 54%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 44.81 | 45.63 | 1.00 × +0.5570 | −0.5 |
| Recent pace | 35.13 | 45.66 | 1.00 × +0.1542 | −1.6 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 1.79 | 0.21 | 1.00 × +0.5137 | +0.8 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 44.0 |
| The posted total | 45.5 |
| Edge (positive leans over) | −1.5 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · under
Slight lean to the under: our total says 43.1 points, and the line is 46.
- Our total
- 43.1
- Edge vs. line
- −2.9 pts
- Hit chance
- 59%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 43.25 | 45.63 | 1.00 × +0.5570 | −1.3 |
| Recent pace | 42.00 | 45.66 | 1.00 × +0.1542 | −0.6 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | -0.46 | 0.21 | 1.00 × +0.5137 | −0.3 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 43.1 |
| The posted total | 46.0 |
| Edge (positive leans over) | −2.9 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Lean · over
Lean to the over: our total says 43.9 points, and the line is 39.5.
- Our total
- 43.9
- Edge vs. line
- +4.4 pts
- Hit chance
- 63%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 45.66 | 45.63 | 1.00 × +0.5570 | +0.0 |
| Recent pace | 45.25 | 45.66 | 1.00 × +0.1542 | −0.1 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | -2.43 | 0.21 | 1.00 × +0.5137 | −1.4 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 43.9 |
| The posted total | 39.5 |
| Edge (positive leans over) | +4.4 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · over
Slight lean to the over: our total says 44.6 points, and the line is 42.5.
- Our total
- 44.6
- Edge vs. line
- +2.1 pts
- Hit chance
- 56%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 47.66 | 45.63 | 1.00 × +0.5570 | +1.1 |
| Recent pace | 39.63 | 45.66 | 1.00 × +0.1542 | −0.9 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 0.49 | 0.21 | 1.00 × +0.5137 | +0.1 |
| Division game | 1.00 | 0.35 | 1.00 × −1.0217 | −0.7 |
| Our total | 44.6 |
| The posted total | 42.5 |
| Edge (positive leans over) | +2.1 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Strong lean · over
Strong lean to the over: our total says 45.9 points, and the line is 40.
- Our total
- 45.9
- Edge vs. line
- +5.9 pts
- Hit chance
- 67%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 46.03 | 45.63 | 1.00 × +0.5570 | +0.2 |
| Recent pace | 44.75 | 45.66 | 1.00 × +0.1542 | −0.1 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 1.30 | 0.21 | 1.00 × +0.5137 | +0.6 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 45.9 |
| The posted total | 40.0 |
| Edge (positive leans over) | +5.9 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · under
Slight lean to the under: our total says 46.3 points, and the line is 48.
- Our total
- 46.3
- Edge vs. line
- −1.7 pts
- Hit chance
- 55%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 49.47 | 45.63 | 1.00 × +0.5570 | +2.1 |
| Recent pace | 44.63 | 45.66 | 1.00 × +0.1542 | −0.2 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 0.31 | 0.21 | 1.00 × +0.5137 | +0.1 |
| Division game | 1.00 | 0.35 | 1.00 × −1.0217 | −0.7 |
| Our total | 46.3 |
| The posted total | 48.0 |
| Edge (positive leans over) | −1.7 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Coin flip · under
Coin flip: our total (42.4) is within a point of the line (42.5), so the numbers don't separate over from under.
- Our total
- 42.4
- Edge vs. line
- −0.1 pts
- Hit chance
- 50%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 42.75 | 45.63 | 1.00 × +0.5570 | −1.6 |
| Recent pace | 36.75 | 45.66 | 1.00 × +0.1542 | −1.4 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 0.41 | 0.21 | 1.00 × +0.5137 | +0.1 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 42.4 |
| The posted total | 42.5 |
| Edge (positive leans over) | −0.1 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Coin flip · under
Coin flip: our total (52.2) is within a point of the line (52.5), so the numbers don't separate over from under.
- Our total
- 52.2
- Edge vs. line
- −0.3 pts
- Hit chance
- 51%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 51.28 | 45.63 | 1.00 × +0.5570 | +3.1 |
| Recent pace | 53.63 | 45.66 | 1.00 × +0.1542 | +1.2 |
| Roof | 1.00 | 0.28 | 1.00 × +2.5721 | +1.9 |
| Combined strength | 0.04 | 0.21 | 1.00 × +0.5137 | −0.1 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 52.2 |
| The posted total | 52.5 |
| Edge (positive leans over) | −0.3 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Coin flip · over
Coin flip: our total (43.8) is within a point of the line (43.5), so the numbers don't separate over from under.
- Our total
- 43.8
- Edge vs. line
- +0.3 pts
- Hit chance
- 51%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 40.00 | 45.63 | 1.00 × +0.5570 | −3.1 |
| Recent pace | 43.50 | 45.66 | 1.00 × +0.1542 | −0.3 |
| Roof | 1.00 | 0.28 | 1.00 × +2.5721 | +1.9 |
| Combined strength | -1.04 | 0.21 | 1.00 × +0.5137 | −0.6 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 43.8 |
| The posted total | 43.5 |
| Edge (positive leans over) | +0.3 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Slight lean · over
Slight lean to the over: our total says 46 points, and the line is 45.
- Our total
- 46.0
- Edge vs. line
- +1.0 pts
- Hit chance
- 53%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 47.09 | 45.63 | 1.00 × +0.5570 | +0.8 |
| Recent pace | 39.63 | 45.66 | 1.00 × +0.1542 | −0.9 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 1.81 | 0.21 | 1.00 × +0.5137 | +0.8 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 46.0 |
| The posted total | 45.0 |
| Edge (positive leans over) | +1.0 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Lean · over
Lean to the over: our total says 45.5 points, and the line is 41.
- Our total
- 45.5
- Edge vs. line
- +4.5 pts
- Hit chance
- 63%
How this was scored
| Factor | This game | Ordinary game | Weight × fit | Points |
|---|
| Ordinary game | — | — | — | 45.7 |
| Season pace | 44.75 | 45.63 | 1.00 × +0.5570 | −0.5 |
| Recent pace | 47.00 | 45.66 | 1.00 × +0.1542 | +0.2 |
| Roof | 0.00 | 0.28 | 1.00 × +2.5721 | −0.7 |
| Combined strength | 1.11 | 0.21 | 1.00 × +0.5137 | +0.5 |
| Division game | 0.00 | 0.35 | 1.00 × −1.0217 | +0.4 |
| Our total | 45.5 |
| The posted total | 41.0 |
| Edge (positive leans over) | +4.5 |
Total source: median of 9 US sportsbooks via The Odds API, as of Wed, 23 Sep 2026 19:05:13 GMT. Hit chance is Φ(|edge| ÷ 13.24), where 13.24 is the standard deviation of final total minus closing total since 2015.
Results through 2026 week 2 (last game 2026-09-21). Totals: The Odds API, one snapshot a day.
How it works
We start every game at the league-average total and move it by five numbers about the pair of teams playing. Each number is measured against an ordinary game, multiplied by a fitted coefficient and the weight you set, and added on. That sum is our expected total. The edge is that total minus the posted line; positive leans over.
Our total = 45.66
+ w₁ × +0.5570 × (season pace − 45.6) (avg total, last 16 games)
+ w₂ × +0.1542 × (recent pace − 45.7) (avg total, last 4 games)
+ w₃ × +2.5721 × (roof − 0.28) (1 indoors, 0 outdoors)
+ w₄ × +0.5137 × (strength − 0.21) (both Elos, hundreds over 3000)
+ w₅ × −1.0217 × (division − 0.35) (1 if same division)
Edge = our total − the posted total (positive leans over)
Hit chance = Φ( |edge| ÷ 13.24 ) Φ = standard normal CDF
The coefficients are an ordinary least-squares fit of actual final totals on those five factors, each centered on its average, over every regular-season and playoff game from 2015 through 2026 (3,060 games), refit each time the page regenerates. Centering means the intercept is exactly the average total over those games, and each slider (w) scales how far one factor can move a game away from it: 1.0× is the fit, 0× removes the factor.
The five factors
- Season pace. The average total points (both teams' scores added up) in each team's last sixteen games, whichever season they fell in, averaged across the two teams playing.
- Recent pace. The same figure over each team's last four games — the short-run read on how their games have been going.
- Roof. 1 when the game is in a dome or under a closed retractable roof, 0 outdoors. nflverse leaves the roof blank on unplayed games at retractable stadiums; those count as indoor, since from 2015 on they have played closed more than three games in four.
- Combined strength. The two teams' Elo ratings added up, in hundreds of points above the league average of 3,000 — the same rating the Spread Dial keeps, updated after every game since 1999.
- Division game. 1 when the two teams share a division, 0 otherwise. Straight from the schedule file.
Four other candidates were fitted and left out because their coefficients were indistinguishable from zero on this data: combined rest days, each team's recent over/under record, cold-month outdoor games (once the roof is counted) and the gap between the two teams' ratings. They are listed in the tool's spec so nobody re-tries them without new data.
What the back-test is, and isn't
The back-test replays the same fitted games with the factors exactly as they stood before each kickoff (no look-ahead) and counts how often the side the formula leaned to — over or under — was right against nflverse's closing total. It is in-sample: the coefficients were fitted on those same games, so it flatters the default settings slightly, and moving a dial to push the rate up is curve-fitting. One more honest number: on those games the closing total itself is closer to the final score than this formula is (a typical miss of 13.24 points against about 13.6). The formula is shown for what it tells you about a game, not because it out-guesses the board.
What it leaves out
- Injuries, quarterback changes, live weather, pace of play and play counts. None are in the schedule file, so none are in the score. The roof is the only weather the tool can see before kickoff.
- Line movement. The total here is a snapshot at the day's refresh; a book's number when you look may differ.
- Anything non-linear. Five factors added to an average is the whole model. That is deliberate: every point in the result can be traced to one row of the table under each game.
Sources
Last reviewed: September 2026. Not affiliated with or endorsed by the NFL or any team.
Frequently asked questions
Why is the back-test a coin flip, and why does the page say the line beats the model?
Because the closing total already prices in everything public, and more. On the fitted games the closing total misses the final score by 13.2 points on average; this formula misses by 13.6. A formula built from past totals, a roof flag and a power rating cannot out-predict a market that also knows the injury report and the forecast. The dial's job is to show where your weighting disagrees with the line and how that disagreement has fared, not to beat the market.
What does the edge mean here?
Edge is our total minus the posted total. +2.0 means our numbers expect two more points than the line; −2.0 means two fewer, leaning under. The needle on the dial is that number, from −10 to +10, under on the left and over on the right.
Why isn't weather a factor?
The schedule file records temperature and wind after the game, not before it, so they are blank for every game the dial scores — and blank for a third of the historical games too. A factor the tool cannot see before kickoff cannot be in the score. The roof is known in advance, and it is worth about two and a half points, so it is the weather signal the tool uses.
Where does the total come from?
By default the posted total in nflverse's schedule file. When the site's Odds API connection is on, it is the median of the totals quoted by US sportsbooks at the day's snapshot, and each game says when that was. Totals move, so the number here can differ from what a book shows right now.