Every FBS game, every week, rated and published next to the sportsbook line — so you can see where the model disagrees with the market, and how often it has been right to.
Most public predictions are a number with no history attached. This site is the opposite: every pick is posted before kickoff and graded after it.
The goal isn't to beat the bookmakers on every game — nothing does. It's to find the handful of games each week where the model and the market genuinely disagree, and to be honest about the rest.
Every game on the picks page is one card. This is a real published pick — Army at Navy — with each part labelled.
Before kickoff: the local start time, or TBD when the TV window isn't set, plus an Upcoming chip. Afterwards: Final and how many points the model missed the margin by. A ◆ Toss-up chip appears when Vegas has the game inside 3.5 points — historically the model's best spot against the spread.
Away team on top, home team below with an @. Before the game the side the model picks carries a gold bar and a Pick tag; once it's played, the bar and a Win tag move to whoever actually won, beside the final score.
The sportsbook spread the model saw when it made the pick, favourite first: −6.5 means that team is favoured to win by 6.5. Before kickoff it also carries Edge, the gap between the model's number and the market's — replaced by a caution on heavy favourites, where that gap isn't value. Afterwards it becomes ✓ ATS, ✕ ATS or = Push.
The line when we first recorded it, then the line now, sampled every six hours. Green means the market is drifting toward the side the model backs; red means it's moving against it. The row is hidden when the line hasn't moved.
A separate model from the one that predicts the margin. It projects the two teams' combined score, and whether that lands Over or Under the posted total — never either team's individual score.
Written in the same notation as the Vegas line above, so the two compare directly:
Navy −4.5 means the model has Navy winning by 4.5.
Beneath it, that side's calibrated win probability.
Enhanced Check sends an AI agent to verify the pick against ESPN, DraftKings and FanDuel. Details opens the full matchup page with the team stats behind the number. Both work on the picks page; this card is only an illustration.
Team-strength features built from play-by-play going back a decade: opponent-adjusted EPA for passing and rushing on both sides of the ball, success rate, points per scoring opportunity, havoc rate, and an ELO rating that carries form across seasons.
A ridge regression predicts the final margin from the two teams' adjusted profiles — deliberately simple, because with this much noise per game a heavier model mostly learns the noise. A second model projects the combined total, and a calibrated win probability turns the margin into odds: when it says 70%, that side has historically won about 70% of the time.
Early-season picks lean on last season's numbers, regressed toward the league average, so treat September with some skepticism — by around week 5 the features are mostly this season's play, and the model is at its best from there on.
It understates lopsided games. The efficiency features measure raw per-play performance, so a team that feasted on a soft schedule can rate ahead of a genuinely better one, and ridge regression pulls the extremes toward the middle on top of that. Where the market lines a game at 21 points or more, the model has been calling about 17 — so treat a big gap on a heavy favorite as a known blind spot, not a lean.
The sweet spot is the close game. Across two seasons of backtesting, its picks in games the market lines inside 3.5 points covered 53% against the spread — the one spot it has beaten the books' breakeven in both seasons.
Each pick is published beside the sportsbook spread and total, along with how far the line has moved since we first recorded it. Games the market calls close are where the model earns its keep — and the against-the-spread record is tracked separately, so its edge is a number rather than a claim.
Enhanced Check sends a single game to an AI agent that pulls current injuries, weather, and live odds, then says whether it agrees with the model and why. It catches what a season-long statistical profile cannot see — a quarterback ruled out on Friday night, 30 mph wind.