Public grading
Results
Every number published before kickoff, compared to the market, the close and the final score.
Best-number alerts
Line-shopping value is arithmetic, not prediction: it is measured against the consensus number at the time, not against the final score.
Line-move calls
Backtest 2021-2025: 62 to 66 percent, +0.31 pts average. This measures whether the market moved toward our number, not whether the bet won.
Calibration
When we said X%, how often did it happen?
Dashed line = perfect calibration. Dots above it: things happened more often than we said.
| Bucket | Happened | n |
|---|---|---|
| 44-46% | 50.0% | 8 |
| 46-48% | 44.0% | 25 |
| 48-50% | 55.6% | 45 |
| 50-52% | 45.8% | 48 |
| 52-54% | 46.4% | 28 |
| 54-56% | 63.6% | 11 |
Each graded game contributes two predictions: the home side covering and the game going over. Pushes are left out. 6 predictions fell outside 44–56% and are not shown.
week-8 · Worst misses
What we got wrong this week
Our 2021-2025 backtest covered 48.8% against closing lines. We publish every result, good and bad. Read the methodology →
| Grade | Spread | Total | Games |
|---|---|---|---|
| A | 12-8-2 | 9-12-1 | 22 |
| B | 6-9 | 7-7-1 | 15 |
| C | 7-15-1 | 11-12 | 23 |
| D | 20-7-1 | 12-15-1 | 28 |
| A+B | 18-17-2 | 16-19-2 | 37 |
| C+D | 27-22-2 | 23-27-1 | 51 |
If the score works, A and B should outperform C and D over time. Judge it on the sample size shown.
Graded games: 88
Fewer than 100 graded games. Records this small are mostly variance; treat them as a running log, not a verdict.
Cumulative closing line value (points)
| Game | Grade | Opener | Proj move | Close | Move result | Model spr | Mkt spr | Best avail | Close spr | Margin | Spread | Model tot | Mkt tot | Actual tot | Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA @ WASweek-3 | C | - | - | +8.5 | - | +9.1 | +8.5 | - | +8.5 | +2 | cover | 46.0 | 40.5 | 64 | over |
| CIN @ PITweek-3 | B | - | - | +3.5 | - | -2.3 | +3.5 | - | +3.5 | +3 | cover | 44.1 | 42.5 | 57 | over |
| TEN @ NYGweek-3 | A | - | - | -2.5 | - | -4.8 | -2.5 | - | -2.5 | +5 | cover | 48.4 | 37.5 | 19 | under |
| KC @ MIAweek-3 | C | - | - | +10.0 | - | +6.7 | +10.0 | - | +10.0 | -14 | loss | 47.9 | 45.5 | 34 | under |
| NE @ JAXweek-3 | D | - | - | -3.0 | - | -0.4 | -3.0 | - | -3.0 | +29 | cover | 46.8 | 45.5 | 41 | under |
| HOU @ INDweek-3 | D | - | - | +1.5 | - | -0.6 | +1.5 | - | +1.5 | +2 | cover | 43.5 | 42.5 | 36 | under |
| NYJ @ DETweek-3 | D | - | - | -7.0 | - | -8.8 | -6.5 | - | -7.0 | +7 | cover | 48.1 | 48.5 | 55 | over |
| CAR @ CLEweek-3 | D | - | - | +2.5 | - | -0.4 | +1.5 | - | +2.5 | +3 | cover | 41.9 | 42.5 | 39 | under |
| LAC @ BUFweek-3 | D | - | - | -7.0 | - | -7.5 | -7.0 | - | -7.0 | +8 | cover | 47.7 | 50.5 | 40 | under |
| MIN @ TBweek-3 | D | - | - | +1.5 | - | +1.5 | +1.5 | - | +1.5 | -7 | loss | 39.6 | 42.5 | 39 | under |
| ARI @ SFweek-3 | C | - | - | -7.5 | - | -5.3 | -7.5 | - | -7.5 | +6 | loss | 51.7 | 48.5 | 66 | over |
| LV @ NOweek-3 | A | - | - | -3.5 | - | -6.1 | -3.5 | - | -3.5 | -8 | loss | 37.0 | 43.5 | 62 | over |
| BAL @ DALweek-3 | D | - | - | +3.0 | - | +2.1 | +3.5 | - | +3.0 | -3 | cover | 55.1 | 53.5 | 65 | over |
| LA @ DENweek-3 | D | - | - | -1.5 | - | +0.1 | +2.5 | - | -1.5 | +4 | cover | 44.8 | 44.5 | 56 | over |
| PHI @ CHIweek-3 | C | - | - | +3.5 | - | +0.5 | +3.5 | - | +3.5 | +20 | cover | 45.6 | 42.5 | 34 | under |
| PIT @ CLEweek-4 | D | - | - | +2.5 | - | -0.3 | +2.5 | - | +2.5 | +3 | cover | 38.9 | 38.5 | 51 | over |
| IND @ WASweek-4 | C | - | - | +4.5 | - | +2.2 | +4.5 | - | +4.5 | -17 | loss | 50.6 | 47.5 | 43 | under |
| GB @ TBweek-4 | A | - | - | +3.0 | - | -0.3 | +3.0 | - | +3.0 | -3 | push | 47.4 | 39.5 | 31 | under |
| LA @ PHIweek-4 | D | - | - | +3.5 | - | +3.6 | +3.5 | - | +3.5 | -4 | loss | 45.0 | 42.5 | 44 | over |
| ARI @ NYGweek-4 | B | - | - | +2.5 | - | -0.4 | +2.5 | - | +2.5 | +12 | cover | 50.7 | 44.5 | 60 | over |
| DAL @ HOUweek-4 | C | - | - | -3.0 | - | -5.3 | -3.0 | - | -3.0 | -4 | loss | 49.8 | 48.5 | 64 | over |
| JAX @ CINweek-4 | A | - | - | -2.5 | - | +5.0 | -2.5 | - | -2.5 | -5 | loss | 47.9 | 51.5 | 39 | under |
| NYJ @ CHIweek-4 | A | - | - | -3.5 | - | -10.3 | -3.5 | - | -3.5 | +11 | cover | 47.9 | 43.5 | 35 | under |
| NE @ BUFweek-4 | B | - | - | -7.0 | - | -3.1 | -7.0 | - | -7.0 | -3 | loss | 52.8 | 49.5 | 55 | over |
| TEN @ BALweek-4 | B | - | - | -11.5 | - | -7.8 | -11.5 | - | -11.5 | +6 | loss | 45.9 | 42.5 | 42 | under |
| MIA @ MINweek-4 | C | - | - | -10.0 | - | -6.6 | -10.0 | - | -10.0 | +5 | loss | 39.4 | 38.5 | 25 | under |
| DEN @ SFweek-4 | C | - | - | -3.0 | - | -1.0 | -3.0 | - | -3.0 | +10 | cover | 50.6 | 47.5 | 38 | under |
| LAC @ SEAweek-4 | C | - | - | -7.0 | - | -8.8 | -7.0 | - | -7.0 | +7 | push | 39.6 | 42.5 | 53 | over |
| KC @ LVweek-4 | A | - | - | +4.5 | - | +5.9 | +4.5 | - | +4.5 | -3 | cover | 41.0 | 47.5 | 57 | over |
| DET @ CARweek-4 | D | - | - | +4.5 | - | +2.2 | +3.5 | - | +4.5 | +6 | cover | 49.8 | 50.5 | 58 | over |
| ATL @ NOweek-4 | A | - | - | -1.5 | - | -2.0 | -2.5 | - | -1.5 | -21 | loss | 40.6 | 47.5 | 69 | over |
| TB @ DALweek-5 | A | - | - | -9.5 | - | -1.3 | -8.5 | - | -9.5 | -8 | loss | 53.5 | 47.5 | 40 | under |
| PHI @ JAXweek-5 | D | - | - | -7.5 | - | -7.0 | -7.5 | - | -7.5 | +2 | loss | 43.4 | 41.5 | 36 | under |
| NYG @ WASweek-5 | A | - | - | -3.5 | - | -3.1 | -3.5 | - | -3.5 | 0 | loss | 51.9 | 41.5 | 54 | over |
| HOU @ TENweek-5 | D | - | - | +6.5 | - | +6.6 | +7.0 | - | +6.5 | -23 | loss | 40.2 | 38.5 | 29 | under |
| IND @ PITweek-5 | B | - | - | -3.0 | - | -0.3 | -3.0 | - | -3.0 | +12 | cover | 47.4 | 43.5 | 56 | over |
| CLE @ NYJweek-5 | B | - | - | -2.5 | - | +2.4 | -2.5 | - | -2.5 | +5 | cover | 40.2 | 39.5 | 29 | under |
| MIN @ NOweek-5 | A | - | - | +2.5 | - | +0.2 | +2.5 | - | +2.5 | -10 | loss | 36.1 | 41.5 | 36 | under |
| LV @ NEweek-5 | B | - | - | -3.5 | - | -7.0 | -3.5 | - | -3.5 | +28 | cover | 42.7 | 45.5 | 62 | over |
| CIN @ MIAweek-5 | A | - | - | +7.0 | - | +1.8 | +7.0 | - | +7.0 | -7 | push | 48.2 | 43.5 | 55 | over |
| CHI @ GBweek-5 | B | - | - | +1.5 | - | +2.2 | +1.5 | - | +1.5 | +24 | cover | 51.4 | 45.5 | 38 | under |
| DEN @ LACweek-5 | D | - | - | +3.5 | - | +3.8 | +3.5 | - | +3.5 | -6 | loss | 40.2 | 41.5 | 40 | under |
| SF @ SEAweek-5 | B | - | - | -3.0 | - | -4.5 | -3.0 | - | -3.0 | -3 | loss | 50.6 | 45.5 | 61 | over |
| DET @ ARIweek-5 | B | - | - | +5.5 | - | +1.9 | +5.5 | - | +5.5 | -24 | loss | 52.2 | 54.5 | 66 | over |
| BAL @ ATLweek-5 | D | - | - | -3.5 | - | -2.3 | -3.0 | - | -3.5 | -7 | loss | 44.2 | 43.5 | 53 | over |
| BUF @ LAweek-5 | C | - | - | -3.5 | - | -3.2 | -3.0 | - | -3.5 | -3 | loss | 51.0 | 54.5 | 71 | over |
| SEA @ DENweek-6 | D | - | - | +2.5 | - | +1.5 | +2.5 | - | +2.5 | +3 | cover | 42.7 | 40.5 | 31 | under |
| HOU @ JAXweek-6 | C | - | - | -2.5 | - | -5.1 | -2.5 | - | -2.5 | -3 | loss | 42.1 | 42.5 | 65 | over |
| PIT @ TBweek-6 | A | - | - | +2.5 | - | -0.9 | +2.5 | - | +2.5 | -7 | loss | 45.2 | 38.5 | 45 | over |
| CAR @ PHIweek-6 | A | - | - | +3.0 | - | -0.2 | +3.0 | - | +3.0 | -11 | loss | 44.2 | 39.0 | 39 | push |
| NO @ NYGweek-6 | C | - | - | +1.5 | - | -0.6 | +1.5 | - | +1.5 | -7 | loss | 45.0 | 46.0 | 61 | over |
| NYJ @ NEweek-6 | B | - | - | -7.5 | - | -10.9 | -7.5 | - | -7.5 | +7 | loss | 46.7 | 43.5 | 45 | over |
| TEN @ INDweek-6 | D | - | - | -6.5 | - | -8.2 | -7.0 | - | -6.5 | -6 | loss | 45.9 | 44.5 | 46 | over |
| BAL @ CLEweek-6 | A | - | - | +3.0 | - | +5.6 | +3.0 | - | +3.0 | +3 | cover | 45.3 | 39.5 | 23 | under |
| CHI @ ATLweek-6 | B | - | - | +1.5 | - | -1.2 | +1.5 | - | +1.5 | -8 | loss | 48.3 | 51.5 | 54 | over |
| ARI @ LAweek-6 | C | - | - | -12.5 | - | -10.8 | -12.5 | - | -12.5 | -2 | loss | 50.1 | 51.5 | 34 | under |
| BUF @ LVweek-6 | B | - | - | +5.5 | - | +6.5 | +4.5 | - | +5.5 | -3 | cover | 49.7 | 53.5 | 63 | over |
| LAC @ KCweek-6 | D | - | - | -7.5 | - | -6.9 | -7.5 | - | -7.5 | +16 | cover | 41.4 | 41.5 | 28 | under |
| DAL @ GBweek-6 | A | - | - | +1.5 | - | -4.5 | -1.0 | - | +1.5 | +10 | cover | 57.0 | 52.5 | 36 | under |
| WAS @ SFweek-6 | D | - | - | -7.5 | - | -8.3 | -7.5 | - | -7.5 | +6 | loss | 52.2 | 52.0 | 40 | under |
| NE @ CHIweek-7 | C | - | - | -3.0 | - | +0.2 | -3.0 | - | -3.0 | +6 | cover | 50.7 | 50.5 | 54 | over |
| PIT @ NOweek-7 | C | - | - | +3.0 | - | +0.6 | +3.0 | - | +3.0 | -6 | loss | 42.9 | 44.5 | 26 | under |
| CLE @ TENweek-7 | D | - | - | +1.5 | - | +2.7 | +2.5 | - | +1.5 | -3 | loss | 39.0 | 37.0 | 51 | over |
| MIA @ NYJweek-7 | A | - | - | -3.5 | - | -1.3 | -4.5 | - | -3.5 | -3 | loss | 46.5 | 39.5 | 53 | over |
| IND @ MINweek-7 | C | - | - | -6.5 | - | -4.1 | -6.5 | - | -6.5 | +6 | loss | 39.8 | 41.5 | 26 | under |
| NYG @ HOUweek-7 | D | - | - | -10.0 | - | -10.0 | -10.5 | - | -10.0 | -6 | loss | 42.2 | 42.5 | 48 | over |
| TB @ CARweek-7 | C | - | - | -3.0 | - | -4.1 | -3.0 | - | -3.0 | -30 | loss | 44.0 | 44.5 | 56 | over |
| CIN @ BALweek-7 | B | - | - | +3.0 | - | -2.6 | +1.5 | - | +3.0 | -22 | loss | 51.7 | 48.0 | 48 | push |
| SF @ ATLweek-7 | D | - | - | +2.5 | - | +2.4 | +2.5 | - | +2.5 | +9 | cover | 50.1 | 49.5 | 49 | under |
| DEN @ ARIweek-7 | C | - | - | +4.5 | - | +4.6 | +4.5 | - | +4.5 | -14 | loss | 46.7 | 43.5 | 46 | over |
| LA @ LVweek-7 | A | - | - | +3.5 | - | +6.2 | +3.0 | - | +3.5 | -14 | loss | 44.0 | 48.5 | 56 | over |
| GB @ DETweek-7 | D | - | - | -3.5 | - | -1.5 | -3.5 | - | -3.5 | +3 | loss | 53.5 | 53.5 | 37 | under |
| KC @ SEAweek-7 | D | - | - | -3.0 | - | -1.6 | -3.0 | - | -3.0 | +17 | cover | 42.6 | 42.5 | 23 | under |
| DAL @ PHIweek-7 | A | - | - | +4.5 | - | -4.9 | +4.5 | - | +4.5 | -17 | loss | 54.0 | 44.0 | 59 | over |
| CAR @ GBweek-8 | D | -3.0 | toward GB | -3.5 | hit (+0.5 pts) | -3.9 | -3.5 | - | -3.5 | +8 | cover | 48.0 | 47.0 | 46 | under |
| ATL @ TBweek-8 | C | -1.5 | No projected move | -2.5 | - | -1.1 | -2.5 | - | -2.5 | +16 | cover | 40.6 | 43.5 | 16 | under |
| CLE @ PITweek-8 | D | -4.5 | toward CLE | -3.5 | hit (+1.0 pts) | -3.7 | -3.5 | - | -3.5 | +21 | cover | 39.9 | 39.5 | 33 | under |
| LV @ NYJweek-8 | D | -1.5 | No projected move | -1.5 | - | -0.3 | -1.5 | - | -1.5 | -5 | loss | 44.2 | 45.5 | 71 | over |
| IND @ JAXweek-8 | C | -7.5 | No projected move | -10.0 | - | -7.7 | -10.0 | - | -10.0 | +35 | cover | 48.2 | 46.5 | 49 | over |
| MIN @ DETweek-8 | C | -3.0 | toward MIN | -3.0 | push (0.0 pts) | -1.3 | -3.5 | - | -3.0 | +4 | cover | 43.1 | 45.5 | 34 | under |
| ARI @ DALweek-8 | B | -6.5 | toward ARI | -7.0 | miss (-0.5 pts) | -2.9 | -7.0 | - | -7.0 | -3 | loss | 56.1 | 54.5 | 63 | over |
| TEN @ CINweek-8 | C | -10.5 | toward TEN | -13.5 | miss (-3.0 pts) | -9.7 | -12.5 | - | -13.5 | +7 | loss | 45.7 | 46.5 | 79 | over |
| BAL @ BUFweek-8 | D | -2.5 | toward BUF | -3.0 | hit (+0.5 pts) | -2.9 | -3.0 | - | -3.0 | +26 | cover | 55.8 | 54.5 | 46 | under |
| LAC @ LAweek-8 | A | -7.5 | No projected move | -6.5 | - | -8.1 | -6.5 | - | -6.5 | +15 | cover | 40.3 | 45.0 | 33 | under |
| NE @ MIAweek-8 | A | +8.5 | toward MIA | +7.0 | hit (+1.5 pts) | +6.5 | +7.0 | - | +7.0 | -5 | cover | 49.7 | 43.5 | 43 | under |
| KC @ DENweek-8 | A | +1.5 | toward DEN | -1.5 | hit (+3.0 pts) | -1.0 | +1.5 | - | -1.5 | +4 | cover | 46.4 | 40.5 | 52 | over |
| PHI @ WASweek-8 | A | -3.5 | toward PHI | -6.0 | miss (-2.5 pts) | +1.3 | -5.5 | - | -6.0 | +17 | cover | 48.8 | 40.0 | 37 | under |
| CHI @ SEAweek-8 | C | -3.0 | No projected move | -3.0 | - | -4.1 | -3.0 | - | -3.0 | -17 | loss | 43.6 | 46.5 | 51 | over |
Spread and total results are from the home side against the market line. Green/red shows whether the model's side won. Margin is home minus away. CLV = market spread minus closing spread. Only games whose analysis was published before kickoff are counted.