Week 7 Recap: Model vs. Market
Report card time. Every prediction below was locked in before its game kicked off, no do-overs and no peeking. For each game, the model's pick is simple: if it predicted more points than the sportsbooks' over/under, that's an Over; fewer, an Under. Then we keep score like a team does: wins and losses. Reminder: the model is an experiment, not a crystal ball. Tested on every season from 2010 to 2025, it won 50.3% of its picks, basically a coin flip, so one good or bad week is just noise. Here's how the model works.
Season win rate: 49.7%. Why 52.4% to break even? Sportsbooks take a cut, called the vig: you risk $110 to win $100, so going 50–50 still loses money. (Betting is for adults, and the house usually wins. We just keep score.) Average miss this week: the model was off by 13.0 points, the sportsbooks by 12.7; the model was closer on 28 of 59 games.
The 5 biggest misses
The games where our model's guess ended up furthest from the real final total. Blowouts, shootouts, and games that just went totally off script. Humbling, every week.
| Matchup | Posted O/U | Model | Actual | Off by | Pick | Result |
|---|---|---|---|---|---|---|
| Louisiana Tech @ UL Monroe | 56.5 | 59.8 | 24–0 (24.0) | 35.8 | Over | Loss |
| Western Kentucky @ Sam Houston | 53.5 | 53.4 | 16–3 (19.0) | 34.4 | Under | Win |
| Mississippi State @ LSU | 55.5 | 60.3 | 0–31 (31.0) | 29.3 | Over | Loss |
| TCU @ Baylor | 50.5 | 51.1 | 17–6 (23.0) | 28.1 | Over | Loss |
| Washington State @ Oregon State | 52.5 | 50.8 | 30–48 (78.0) | 27.2 | Under | Loss |
Every game, every call
| Matchup | Posted O/U | Model | Actual | Conditions | Pick | Result |
|---|---|---|---|---|---|---|
| Louisiana Tech @ UL Monroe | 56.5 | 59.8 | 24–0 (24.0) | 6mph wind | Over | Loss |
| Western Kentucky @ Sam Houston | 53.5 | 53.4 | 16–3 (19.0) | 11mph wind | Under | Win |
| Mississippi State @ LSU | 55.5 | 60.3 | 0–31 (31.0) | 16mph wind | Over | Loss |
| TCU @ Baylor | 50.5 | 51.1 | 17–6 (23.0) | 8mph wind | Over | Loss |
| Washington State @ Oregon State | 52.5 | 50.8 | 30–48 (78.0) | 9mph wind | Under | Loss |
| Cincinnati @ West Virginia | 63.5 | 60.8 | 42–45 (87.0) | 14mph wind | Under | Loss |
| Nebraska @ Oregon | 51.5 | 56.1 | 14–17 (31.0) | 6mph wind | Over | Loss |
| Wisconsin @ UCLA | 42.5 | 48.8 | 7–17 (24.0) | 7mph wind | Over | Loss |
| Florida Atlantic @ Army | 55.5 | 55.4 | 24–56 (80.0) | 15mph wind | Under | Loss |
| Colorado State @ Texas State | 70.5 | 68.6 | 27–66 (93.0) | 6mph wind | Under | Loss |
| Florida State @ Miami | 56.5 | 53.8 | 35–43 (78.0) | 0.19in rain, 6mph wind | Under | Loss |
| Arizona State @ Texas Tech | 49.5 | 54.0 | 25–53 (78.0) | 4mph wind | Over | Win |
| Northern Illinois @ Wyoming | 42.5 | 40.2 | 23–41 (64.0) | 7mph wind | Under | Loss |
| Arkansas State @ Southern Miss | 61.5 | 58.2 | 23–13 (36.0) | 11mph wind | Under | Win |
| UNLV @ Air Force | 48.5 | 50.9 | 31–41 (72.0) | 12mph wind | Over | Win |
| Missouri @ Ole Miss | 57.5 | 54.8 | 3–31 (34.0) | 15mph wind | Under | Win |
| Alabama @ Tennessee | 50.5 | 56.7 | 10–26 (36.0) | 14mph wind | Over | Loss |
| New Mexico @ Hawai'i | 46.5 | 51.0 | 21–10 (31.0) | 13mph wind | Over | Loss |
| Kent State @ South Florida | 46.5 | 48.9 | 2–29 (31.0) | 11mph wind | Over | Loss |
| San José State @ UTEP | 45.5 | 52.1 | 24–11 (35.0) | 6mph wind | Over | Loss |
| Virginia @ SMU | 51.5 | 52.3 | 13–23 (36.0) | 7mph wind | Over | Loss |
| Navy @ UTSA | 54.5 | 55.7 | 34–38 (72.0) | dome | Over | Win |
| App State @ Coastal Carolina | 48.5 | 51.5 | 35–32 (67.0) | 9mph wind | Over | Win |
| Charlotte @ Temple | 45.5 | 53.8 | 38–31 (69.0) | 14mph wind | Over | Win |
| Washington @ Purdue | 50.5 | 49.3 | 38–26 (64.0) | 0.14in rain, 16mph wind | Under | Loss |
| Georgia State @ James Madison | 57.5 | 57.9 | 22–49 (71.0) | 16mph wind | Over | Win |
| Troy @ Louisiana | 48.5 | 51.9 | 6–33 (39.0) | 14mph wind | Over | Loss |
| Ohio State @ Indiana | 49.5 | 46.7 | 19–15 (34.0) | 9mph wind | Under | Win |
| Georgia Southern @ Old Dominion | 44.5 | 50.7 | 23–15 (38.0) | 9mph wind | Over | Loss |
| Kentucky @ Oklahoma | 43.5 | 45.9 | 21–13 (34.0) | 4mph wind | Over | Loss |
| Ball State @ Bowling Green | 46.5 | 51.3 | 32–31 (63.0) | 8mph wind | Over | Win |
| Delaware @ Middle Tennessee | 48.5 | 51.8 | 30–33 (63.0) | 6mph wind | Over | Win |
| Massachusetts @ Buffalo | 42.5 | 53.9 | 18–25 (43.0) | 9mph wind | Over | Win |
| Rutgers @ Maryland | 55.5 | 57.8 | 37–30 (67.0) | 15mph wind | Over | Win |
| Oklahoma State @ Houston | 62.5 | 59.1 | 32–35 (67.0) | 9mph wind | Under | Loss |
| Tulsa @ Rice | 46.5 | 47.7 | 38–17 (55.0) | 10mph wind | Over | Win |
| Penn State @ Michigan | 43.5 | 46.2 | 18–21 (39.0) | 6mph wind | Over | Loss |
| Kennesaw State @ Missouri State | 52.5 | 51.8 | 21–24 (45.0) | 5mph wind | Under | Win |
| Western Michigan @ Central Michigan | 43.5 | 41.6 | 21–14 (35.0) | 13mph wind | Under | Win |
| Florida @ Texas | 50.5 | 56.4 | 27–24 (51.0) | 11mph wind | Over | Win |
| East Carolina @ UAB | 48.5 | 51.6 | 17–30 (47.0) | 5mph wind | Over | Loss |
| Toledo @ Eastern Michigan | 52.5 | 52.5 | 34–14 (48.0) | 7mph wind | Push | Loss |
| Wake Forest @ California | 53.5 | 52.3 | 41–7 (48.0) | 6mph wind | Under | Win |
| Ohio @ Sacramento State | 46.5 | 50.9 | 48–7 (55.0) | 6mph wind | Over | Win |
| North Carolina @ Duke | 46.5 | 47.6 | 24–20 (44.0) | 12mph wind | Over | Loss |
| Kansas @ Kansas State | 55.5 | 55.6 | 24–35 (59.0) | 8mph wind | Over | Win |
| Florida International @ Jacksonville State | 44.5 | 47.8 | 24–27 (51.0) | 7mph wind | Over | Win |
| Georgia Tech @ Virginia Tech | 56.5 | 55.0 | 24–34 (58.0) | 14mph wind | Under | Loss |
| Akron @ Miami (OH) | 47.5 | 51.0 | 14–34 (48.0) | 7mph wind | Over | Win |
| Auburn @ Georgia | 49.5 | 53.8 | 27–24 (51.0) | 15mph wind | Over | Win |
| Nevada @ North Dakota State | 42.5 | 50.8 | 17–31 (48.0) | dome | Over | Win |
| Northwestern @ Michigan State | 49.5 | 47.6 | 24–21 (45.0) | 7mph wind | Under | Win |
| Memphis @ Tulane | 56.5 | 50.1 | 17–31 (48.0) | 17mph wind | Under | Win |
| Utah @ Colorado | 49.5 | 52.5 | 27–24 (51.0) | 10mph wind | Over | Win |
| Fresno State @ San Diego State | 46.5 | 47.5 | 23–26 (49.0) | 4mph wind | Over | Win |
| Pittsburgh @ Boston College | 42.5 | 46.6 | 21–27 (48.0) | 15mph wind | Over | Win |
| Notre Dame @ BYU | 46.5 | 50.7 | 24–28 (52.0) | 6mph wind | Over | Win |
| Louisville @ Syracuse | 56.5 | 58.8 | 34–26 (60.0) | dome | Over | Win |
| Arkansas @ Vanderbilt | 48.5 | 52.4 | 31–21 (52.0) | 8mph wind | Over | Win |
Shadow test: cooling off over streaks
We're trying out a tweak: shade a prediction down when a team's games have been beating the posted total, and up when they've been coming in under it, because hot over streaks have tended to cool off (here's where the idea came from). It isn't part of the model: the picks above don't use it. For the rest of the 2026 regular season we just keep score.
With the tweak, the picks on the 59 games it covered would have gone 30–28–1 this week (55–53–2 since it started in Week 6, 50.9%). It changed 5 picks this week, and the new picks went 1–4. Season to date, the picks it changed have gone 5–6.
Not betting advice. This is a running scorecard for an experimental model, posted automatically once each week's games are final. Every week's recap lives on the blog.