Betting Against the Public
Testing whether the public overreacts to prior-week results against the spread—and whether that creates a repeatable edge in NFL betting.
2026 Picks
The live picks below update from the Google Sheet. Bets qualify only when both model heuristics agree.
Loading 2026 results…
Against the Spread
| Week | Bet | Result |
|---|---|---|
| Loading… | ||
Game Totals
| Week | Bet | Result |
|---|---|---|
| Loading… | ||
Update the Agree and Correct columns in the sheet (1 = win, 0 = loss, blank = pending); the page refreshes from there.
The Theory
One of the most common ideas in sports gambling is the distinction between “public” bets and “sharp” bets. Casual fans and recreational gamblers tend to bet differently from professionals who rely on advanced mathematical models.
With the growing prevalence of sports gambling, the split between sharps and the public has become even more apparent. The most popular sport to gamble on in the U.S. is the NFL, which is our area of focus.
Testing the Overreaction Hypothesis
Last season (2025), I decided to test my theory that the public overreacts to prior weeks’ results. Week to week, I tracked each team’s margin against the spread, their expected performance. For example, if the Houston Texans were 3.5-point favorites and lost by 7 points, they underperformed against the spread by 10.5 points. If the Washington Commanders were 4.5-point underdogs but won by 4 points, they overperformed the spread by 8.5 points.
Using results relative to the spread, we can compute a difference for each game in an upcoming week, starting with Week 2. Consider the Texans and Commanders outcomes above. In a matchup between them the following week, the difference in their prior outcomes would be 19 points (|−10.5 − 8.5| = 19).
A gap that large, according to my theory, would make the Texans a solid bet that week. Casual fans would have seen the Texans’ Week 1 underperformance and undervalued them, while doing the opposite for the Commanders—all while professional models weigh long-run averages and other factors to determine each team’s true value for the upcoming matchup.
Two Heuristics
Using this theory, I set up two heuristics for a model that tries to exploit the public’s overreaction:
- Opposite outcomes: If two teams had opposite outcomes against the spread in the prior week, bet the team that lost against the spread.
- Largest differences: Take the absolute value of the difference in prior-week ATS outcomes for each matchup and select the five largest. It is naive to assume every spread is mispriced, but assuming roughly one-third may be mispriced is reasonable—so focusing on the top five differences gives a workable subset to consider.
Applying the Theory to Totals
For game totals, I measure how many points each team’s previous game finished above or below its expected total. If both teams went over, the public may push the next line too high, so the model bets the under. If both went under, it bets the over.
- Same outcomes: Both teams finished on the same side of their prior totals. Bet the opposite side.
- Largest combined misses: Add how far each team finished above or below its total and select the five largest combined values.
As with spread picks, a totals bet qualifies only when both heuristics agree.
2025 Results
There is substantial overlap between the games flagged by each heuristic. First, the results on their own:
- Opposite outcomes: 56.8% accuracy (71-54-1, p = 0.184).
- Largest difference: 60.4% accuracy (50-33-2, p = 0.092).
Both results are strong and close to statistically significantly better than the 52.4% win rate needed to break even at −110 odds.
To be conservative, I took the approach to only use games that fit both heuristics. By doing so, the total number of bets goes down to 69 total bets over the 18 weeks of the regular season. Bets were correct 58.8% of the time (40-28-1, p = 0.173). Assuming an average price of −110 on each bet, a $25 wager on every qualifying game would have returned +$209 in profit by the end of the regular season.
All results cover the regular season only, Weeks 2 through 18.
2025 Picks
Below is a table of all picks made during the 2025 season.
| Week | Bet | Bet Result |
|---|---|---|
| 2 | NYG +5.5 (v DAL) | W |
| 2 | @CIN -3.5 (v JAX) | W |
| 2 | CAR +7 (v ARI) | W |
| Season record through Week 2 | 3–0 (100.0%) | |
| 3 | MIA +12.5 (v BUF) | W |
| 3 | @MIN -3 (v CIN) | W |
| 3 | PIT -1.5 (v NE) | W |
| 3 | NO +7 (v SEA) | L |
| Season record through Week 3 | 6–1 (85.7%) | |
| 4 | @ATL +1.5 (v WSH) | W |
| 4 | @NE -5.5 (v CAR) | W |
| 4 | @LV -1.5 (v CHI) | L |
| Season record through Week 4 | 8–2 (80.0%) | |
| 5 | @CAR +1.5 (v MIA) | W |
| 5 | @BAL +1.5 (v HOU) | L |
| 5 | @CIN +10.5 (v DET) | L |
| 5 | @BUF -8.5 (v NE) | L |
| Season record through Week 5 | 9–5 (64.3%) | |
| 6 | @NYJ +7.5 (v DEN) | W |
| 6 | ARI +7 (v IND) | W |
| 6 | @LV -3.5 (v TEN) | W |
| 6 | BUF -4.5 (v ATL) | L |
| Season record through Week 6 | 12–6 (66.7%) | |
| 7 | @DEN -7 (v NYG) | L |
| 7 | @SF -3 (v ATL) | W |
| 7 | @DET -4.5 (v TB) | W |
| Season record through Week 7 | 14–7 (66.7%) | |
| 8 | BUF -7.5 (v CAR) | W |
| 8 | TEN +14 (v IND) | L |
| 8 | @DEN -3 (v DAL) | W |
| 8 | WSH +10.5 (v KC) | L |
| Season record through Week 8 | 16–9 (64.0%) | |
| 9 | @TEN +10 (v LAC) | W |
| 9 | MIN +8.5 (v DET) | W |
| 9 | ATL +5.5 (v NE) | W |
| 9 | CAR +12.5 (v GB) | W |
| 9 | NO +13.5 (v LAR) | L |
| Season record through Week 9 | 20–10 (66.7%) | |
| 10 | CLE -2.5 (v NYJ) | L |
| 10 | NO +5.5 (v CAR) | W |
| 10 | NE +2.5 (v TB) | W |
| 10 | @MIA +9.5 (v BUF) | W |
| 10 | @GB -2.5 (v PHI) | L |
| Season record through Week 10 | 23–12 (65.7%) | |
| 11 | WAS +2.5 (v MIA) | L |
| 11 | CAR +3.5 (v ATL) | W |
| 11 | @JAX +2.5 (v LAC) | W |
| 11 | DAL -3 (v LV) | W |
| Season record through Week 11 | 26–13 (66.7%) | |
| 12 | @CIN +7 (v NE) | W |
| 12 | @LV -3 (v CLE) | L |
| 12 | @ARI +2.5 (v JAX) | L |
| 12 | ATL +1.5 (v NO) | W |
| Season record through Week 12 | 28–15 (65.1%) | |
| 13 | NO +6 (v MIA) | W |
| 13 | @CAR +10.5 (v LAR) | W |
| 13 | @TB -3 (v ARI) | P |
| Season record through Week 13 | 30–15–1 (66.7%) | |
| 14 | @DET -3 (v DAL) | W |
| 14 | @ATL +7.5 (v SEA) | L |
| 14 | IND -1.5 (v JAX) | L |
| 14 | @MIN +1.5 (v WSH) | W |
| 14 | PHI -3 (v LAC) | L |
| Season record through Week 14 | 32–18–1 (64.0%) | |
| 15 | ARI +9.5 (v HOU) | L |
| 15 | @KC -4.5 (v LAC) | L |
| 15 | NYJ +12.5 (v JAX) | L |
| 15 | IND +11.5 (v SEA) | W |
| 15 | @DAL -6 (v MIN) | L |
| Season record through Week 15 | 33–22–1 (60.0%) | |
| 16 | GB -1.5 (v CHI) | L |
| 16 | NYG +2.5 (v MIN) | L |
| 16 | NE +2.5 (v BAL) | W |
| 16 | @CLE +10 (v BUF) | W |
| 16 | LV +14.5 (v HOU) | W |
| Season record through Week 16 | 36–24–1 (60.0%) | |
| 17 | HOU +1.5 (v LAC) | W |
| 17 | @NYJ +12.5 (v NE) | L |
| 17 | ARI +7 (v CIN) | L |
| 17 | @IND +6.5 (v JAX) | W |
| Season record through Week 17 | 38–26–1 (59.4%) | |
| 18 | DAL -5.5 (v NYG) | L |
| 18 | GB +6.5 (v MIN) | L |
| 18 | @PIT +3.5 (v BAL) | W |
| 18 | @LV +5.5 (v KC) | W |
| Season record through Week 18 | 40–28–1 (58.8%) | |