Every moving part, explained

How it
works

The short version. Before kickoff, we read what sportsbooks are charging for a game, remove their cut, and lock that probability in our database. During the game, our own live model reprices it with every score. If a pick we published pulls well ahead while the game is still running, we email you. Afterward, every call is graded against the final score, in public. Games no sportsbook is pricing yet get a rating of our own, always marked as an estimate.

What's the market's, and what's ours

We say this up front because it matters: our pre-game pick largely agrees with the market by design. We don't claim to out-predict the sportsbooks. What we build is everything around that number.

Pre-game pick

The market's. Sportsbook odds de-vigged book by book, then averaged; the pick is the favorite.

Power rating (est)

Ours. Rates games no book is pricing yet; never mixed into a market price.

Live win probability

Ours. Reprices every game from score, time left and the pre-game number.

Alert rule

Ours. Decides when an email is worth sending.

News read

AI-written, ours. Reads injury and lineup news before NFL games; shown separately.

Capture and grading

Ours. Locks every call before kickoff and scores it afterward.

I

The NFL pipeline

Eight steps. Every number on the board is the output of this exact sequence, and each step names where it came from.

  1. 01

    Read the schedule

    Every game of the season, with its week, stage, live score and clock, comes from API-Sports. An odds feed only lists what it's currently pricing; the schedule feed covers the whole season.

    source · API-Sports
  2. 02

    Read the market

    We take every sportsbook the feed carries for a game, remove each book’s margin from its own prices, and average the fair chances that are left. The number of books varies by game and is shown on each card as “N books.” Removing the margin book by book means a book that charges more can’t tilt the average toward the favorite. The margin comes off by the power method, which takes more of it from the longshot, where books load most of it. Books usually open a game 1–2 days before kickoff, so most of the season has no market price at any given moment.

    source · API-Sports odds
  3. 03

    Remove the sportsbooks' cut

    A sportsbook prices a two-sided game at roughly 104–108% instead of 100%. The extra is its margin. We strip it out so both sides add up to exactly 100%. This is what turns a price into a probability.

    method · de-vig
  4. 04

    Rate what the market hasn't priced

    A game with no odds yet still gets a number from our own power rating, built only from past results. It weights margin of victory so one blowout can't dominate, regresses last season toward average, and caps any game at 95%. It's marked est and is never blended into a market price.

    model · Elo power ratings
  5. 05

    Lock the call

    Two hours before kickoff, the call is saved: the side, the probability, the number of books and the time. Until then the board's pick is provisional and can still move. Once saved, it is never overwritten. The final pre-game price is saved separately as the closing line, and the database refuses a closing price once the game has started.

    method · capture
  6. 06

    Read the news (AI)

    Before NFL games, an AI model reads the latest team news from ESPN's public NFL news feed, above all injuries and who is actually playing, and writes a short news read. It's shown separately, never blended into the pick, and graded against the result like everything else.

    AI · news read
  7. 07

    Watch the game and alert

    During the game, our live win-probability model reprices every pick as the score and clock change. An email goes out only when all four conditions in section III are true. One email per game, never repeated. An alert reports a position, not advice; the cash-out happens at your sportsbook, which we have no connection to.

    model · live win probability
  8. 08

    Grade it in public

    Every finished game is scored against the final result. We publish hit rate, Brier score (how far each stated probability was from what happened; 0.250 is a coin flip, lower is better), closing-line value, and what a flat stake would have returned, all in units, not dollars. Preseason and thinly priced calls are reported separately, with the reason, and nothing is removed from the record.

    output · the record
II

The alert, on a real game

Stage 05 stores a call before kickoff. This is what that buys you once the game is being played — the same live model, replayed against the real scoring plays, including the ones where it stayed quiet.

Worked example · a real game

Commanders at Ravens

Before kickoff the board called Ravens at 59%. Here is what happened next.

called 59%now 78%+19ppalerts at +10 points
  1. Q1 10:16Commanders 0–7 RavensRavens 78%+19pp

Alert fires — cash-out window open

“We called Ravens at 59% before kickoff. They are now 78% to win it. If you took that call, your sportsbook's cash-out is likely showing a strong number right now.”

Final: Commanders 3–41 Ravens.

Recomputed from the same live model that runs in production, against the real scoring plays of this game. An alert reports a position, not advice — cash-out happens at your sportsbook. 21+ where permitted.

One alert we actually sent, from the call to the final →

III

When an alert fires, and when it doesn't

Four conditions, all required. Each one exists to rule out a different way of being annoying or wrong.

  1. 01

    The position has to be in profit

    A bet returns the ratio between the price you took and the price now. At fair value, a ticket is worth the stake times the live chance divided by the chance we published, so it is in profit once our live model puts it above the probability we published before kickoff. No absolute level is required: a call made at 45% and now running at 55% is in profit, and one made at 85% and still at 85% is not, however commanding it looks. A floor of 59% is also applied.

    floor · 59%
  2. 02

    It has to have improved on what we published

    At least 10 percentage points clear of the probability we gave it before kickoff, which keeps windows rare and each one substantial.

    margin · +10pp
  3. 03

    The offer has to clear your stake

    A cash-out is the sportsbook buying your ticket back at the live price, then taking another cut, typically 5–15% under fair value. So fair-value profit is not enough: we only alert once an offer 10% under fair would still return more than you staked. Your stake size doesn't change this: $130 and $1,300 cash out at the same percentage. An early lead usually means the stake back plus a few percent, not the full win, which only exists if the pick wins.

    book's cut · 10%
  4. 04

    The game has to still be running

    Cash-out only exists before the final whistle. Once a game ends the bet simply settles and there was never a decision to make, so an alert then would be an email about something you cannot act on.

    rule · in play only
IV

Your account, and what we keep

What it unlocks

Every board — NFL, college, NBA, NHL, MLB, soccer and golf — the schedule, both calculators, the World Cup archive and your account page. The landing page (with a playable Calculator+), this page, the results record, every pick page and coverage are open to everyone — the gate is on the working tools, not on the evidence.

What we store

An email address, a password, when you confirmed you are 21 or older, the sports you follow and your email choices. The password is hashed with bcrypt inside the database and never reaches this application, so a compromise of the site cannot reveal it. There is no name, no payment detail and no tracking profile.

How the session works

Signing in sets a cookie signed with a secret only the server holds. Nothing about the session is stored server-side, and the cookie cannot be forged or replayed against the database directly.

The emails you get

Cash-out alerts for the NFL, college football and the NBA, and a pre-game email for the NBA, NHL, MLB and soccer. Each is claimed in the database before it is sent, so it goes once per game or slate, never twice. Change your sports or turn emails off under Sports you follow on your account page; every email also carries a one-click unsubscribe.

V

The golf board

A separate board with a separate source, and one important difference worth stating plainly.

Where it comes from

Data Golf, which supplies the tournament field, each player's chance of winning before and during the tournament, and the live leaderboard during a round.

Why it is not de-vigged

The probabilities in that feed sum to exactly 1.0, which means they are a model's output rather than a set of bookmaker prices. There is no margin in them to strip, so de-vigging would be meaningless — and the board says model rather than market for that reason.

How an outright field is handled

Where a real bookmaker field is priced, a 150-player market cannot be de-vigged by simple proportion the way a two-way market can. It is solved with the power method: raising every implied probability to an exponent found by bisection until the field sums to one.

What it does not have

No capture, no closing lines and no cash-out alerts. Those are built on the NFL board and have not been extended here, so the golf record is a live read rather than a graded one.

VI

The college board

The same machinery as the NFL board pointed at a far bigger, far more thinly priced season.

Same model, different league

College football is the same two-way market as the NFL — no draw — so the de-vig, the goal-free win probability and the capture path are shared rather than rewritten. What is new is a normalizer: this feed uses its stage field to name the division rather than the season phase, and a college week 19 is a late week rather than a play-off round.

Why only FBS

The season carries 1,679 games across FBS, FCS and Division II/III. Only FBS is priced by bookmakers in any depth, so the board takes those 874 and leaves the rest — a game nobody quotes is a game the board can say nothing about.

Coverage is the first number

This feed quotes a minority of the slate, including real FBS matchups that bookmakers certainly price. So the record reports how many finished games could be graded at all, beside how many were called right. Unpriced games count as neither hits nor misses: a board can always look more accurate by saying less.

When a price appears

Roughly a day or two before kickoff, not weeks ahead. That is why the board is driven on a schedule rather than by whoever happens to visit — the window in which a call can honestly be stored is narrow, and a Saturday slate resolves inside an afternoon.

VII

The NBA, NHL, MLB and soccer boards

Four sports on one shape: the same feed, the same capture and the same grading, each with its own record.

Where it comes from

ESPN's public scoreboard: the schedule, the live score and DraftKings' moneyline for every NBA, NHL and MLB game, and for soccer across the Premier League, La Liga, Serie A, the Bundesliga, Ligue 1, the Champions League and MLS. Nothing is typed in by hand.

One book, said plainly

These boards carry a single bookmaker's line rather than an average of several, with the margin removed the same way. One book is a thinner read than five, so the results page names DraftKings rather than calling it a consensus, and the book-count rule the NFL headline applies is not used here.

Soccer has a draw

A match can end level, so its market is three-way: home, draw, away. The draw is a real pick and a real result — a level score is a hit for a draw call and a miss for either team. A game settled in extra time or on penalties is never graded, because the line was for ninety minutes.

What you get

A board, and a record graded from the day each one went live — nothing before it was filled in afterwards. Follow a sport and a pre-game email lists that slate's picks before the first game. The NBA also gets cash-out alerts, from a live model of its own; the NHL, MLB and soccer don't yet.

VIII

The World Cup archive

A different sport and a different model. The tournament is over, so this archive is a finished record rather than a live board — and because football has a draw, its market is three-way and a goal model does work the NFL never needs.

  1. 01

    Pull the odds

    Every market starts as real bookmaker prices. For each fixture we read the moneyline (home/draw/away) from every bookmaker that prices it, then average them into a consensus — more books, more reliable.

    source · The Odds API
  2. 02

    Remove the vig

    Bookmakers price every market slightly above 100% — that overround is their margin. We strip it out (“de-vig”) so the probabilities are fair and sum to exactly 100%. This is the single most important step.

    method · de-vig
  3. 03

    Fit a goal model

    For each fixture we solve for the pair of Poisson scoring rates whose implied win/draw/loss best matches the fair market. That score matrix gives us every goal market — over/under, BTTS, clean sheets, the most-likely scoreline and the full correct-score grid.

    model · Poisson
  4. 04

    Render the desk

    The dashboard consumes normalized JSON from server-side routes, so the interface is identical whether the data is live or sample. Upstream calls are cached and shared across visitors to respect the free quota.

    output · the board
IX

The tabs

Eight views onto the same de-vigged consensus and goal model.

Live

In-play scores, recent results and upcoming kickoffs, refreshed while a game is actually on.

Matches

Per-fixture win/draw/loss, expected goals, over/under lines, clean sheets and the correct-score grid.

Winner

Every team's probability of lifting the trophy, de-vigged from the outright market.

Predictor

Pit any two teams — even unscheduled — through the same goal model, with a neutral-venue toggle.

Goal Threat

Players ranked by their chance to score in the next fixture, from anytime-goalscorer odds.

Bets

A backtest of the model's flat-stake picks against real settled results — honest P&L, not a sales pitch.

Price check

Where one bookmaker's best price is longer than the fair consensus price. A comparison of prices, not a recommendation.

Groups

Group standings and qualification context for the tournament structure.

X

Where the data comes from

Every tab on both boards, and the feed behind it — including the ones running on sample data. This is the same text the info point beside each board shows, so the two can't drift apart.

NFL, college football
API-Sports (schedule, scores, odds)
NBA, NHL, MLB, soccer
ESPN's public scoreboard (the DraftKings line, one book)
World Cup archive
API-Football and The Odds API
Golf
Data Golf (its own model, so not de-vigged)
News read
An AI model, reading ESPN's NFL news feed

NFL board

BoardScores and odds from API-Sports
One feed does all of it. API-Sports' American Football endpoint carries the whole calendar — the Hall of Fame game, all three preseason weeks, the regular season and the play-offs — and states each game's stage, week, quarter scores and live clock outright. The same feed carries prices from five bookmakers: Bet365, Pinnacle, Marathon, BetVictor and 1xBet, quoting the moneyline (Home/Away), the handicap (Asian Handicap) and the game total (Over/Under). We average those in implied-probability space and strip the bookmaker margin out, so what you see sums to exactly 100% rather than the 104-108% a book actually prices. The bookmaker count on each game tells you how many were behind that number. One honest limitation, measured rather than assumed: books only start quoting a game about a day or two before kickoff. Five were quoting a game eleven hours out and none were quoting the games three days out. A game nobody is quoting yet still appears, carrying our own power rating instead — marked with a ~ as an estimate, and never mixed into the market number, because a rating built from scorelines and a price built from money are different kinds of claim. Play-off fixtures stay off the board until the teams are known.
StandingsAPI-Sports, falling back to ESPN — live standings
Records, points and streaks come from API-Sports' American Football feed, cached for an hour, with ESPN's public standings as a fallback if that plan does not cover the running season. Note what the table shows before the season opens — these are preseason records, because that is the phase being played; the board switches to regular-season records the moment week 1 starts, and preseason results never carry into them. The 1–7 playoff seeds are computed here rather than taken from a feed: four division winners ranked by win percentage, then the three best remaining teams per conference, the same rule for live and sample rows alike.

World Cup board

LiveAPI-Football — live fixtures feed
Scores come from API-Football (/fixtures), including the live elapsed minute, and refresh automatically while this tab is open. The Odds API scores feed is a fallback.
MatchesThe Odds API — bookmaker H2H, de-vigged
Match win/draw/loss probabilities come from a de-vigged consensus of bookmaker moneyline (H2H) odds. Goal and scoreline markets are read off a Poisson model fitted to that same consensus.
GroupsAPI-Football — group standings
Group tables come straight from API-Football (/standings) and update as results land. The top two of each four-team group advance.
WinnerThe Odds API — outright winner market, de-vigged
Tournament-winner odds are a de-vigged consensus of the 'FIFA World Cup Winner' outright market across every available bookmaker.
PredictorModel — Poisson over de-vigged team strengths
For unscheduled pairings there is no direct market, so team strengths are derived from the de-vigged outright odds and run through the same Poisson model used everywhere else.
Goal ThreatAPI-Football — tournament top scorers
The leaderboard is real top-scorer data from API-Football (/players/topscorers), ranked by goals then assists. If unavailable it falls back to The Odds API anytime-goalscorer probabilities.
BetsBacktest: API-Football · live tracker: The Odds API
The backtest replays finished WC2026 fixtures against their real pre-match consensus odds (captured offline from API-Football) through the same tested engine. The live tracker settles model-favorite bets against live results from The Odds API.
EdgeThe Odds API — best price vs de-vigged consensus
The value list compares every bookmaker's best price against the de-vigged consensus for the same outcome, and lists those where one book's price is longer. It is a comparison of prices, not a recommendation. It shares the matches odds cache, so it costs no extra quota. Alongside it, the goals-market edges compare our Poisson read against API-Football's own over/under prices per fixture. An empty list is the normal state of an efficient market, not a failure.
InjuriesAPI-Football — injuries & suspensions
Team news from API-Football (/injuries): players ruled out or carrying a late fitness doubt, deduped to each player's latest status. Availability materially affects match outcomes.
SignalsFusion — Market + Model live · Social & Online coming
CacheOut fuses independent signals per match. Two are live and genuinely fused: the Market signal (a de-vigged consensus of bookmaker odds) and a second Model read (API-Football's own win/draw/loss prediction). The Social signal (sentiment across X, Reddit, TikTok and YouTube) and the Online signal (virtual online-league results) are modeled placeholders, shown but not yet contributing, until their feeds are connected.
XI

What the numbers mean

Every term on a match card, in plain language. The same definitions power the in-app tooltips.

Win / Draw / LossW/D/L
The chance the home team wins, the match is drawn, or the away team wins. The three add up to 100%, de-vigged from bookmaker moneyline odds. Used on the soccer board, where a draw is a result and can be the pick, and in the World Cup archive.
Expected goalsxG
The average number of goals the model expects each team to score in this match. It is the scoring rate that feeds every goal market below — not a prediction of the exact final score.
Both teams to scoreBTTS
The probability that both teams score at least one goal (i.e. the final score is not a clean sheet for either side).
Clean sheetCS
The probability a team concedes zero goals — i.e. keeps a clean sheet. 'CS BRA' is the chance Brazil's opponent fails to score.
Over / UnderO2.5
The probability the two teams combine for more than a given number of goals. 'O2.5' is the chance of 3 or more total goals; the Under is simply 100% minus the Over.
Most likely scorelineMost likely scoreline
The single exact score with the highest probability under the model. Even the likeliest scoreline is usually well under 20% — football is high-variance, so treat it as the modal guess, not a forecast.
Correct-score gridCorrect-score grid
A heatmap of every exact scoreline's probability (home goals down the side, away goals across the top). Brighter cells are more likely; it is the full picture the 'most likely scoreline' is drawn from.
De-vigged (vig removed)VIG
Bookmakers price every market slightly above 100% — that overround is their margin (the 'vig'). We strip it out so the probabilities are fair and sum to exactly 100%. On the game boards it comes off by the power method, which takes more from the longshot than the favorite, because that is where books load it. The 'VIG' figure is how much was removed.
Bookmaker consensusbooks
On the NFL and college boards these numbers are not one bookmaker's view — they are an average across every bookmaker that priced the market, each book's margin removed before averaging. 'N books' is how many fed this fixture; more books means a more reliable consensus. The NBA, NHL, MLB and soccer boards use a single book, the DraftKings line from ESPN's scoreboard, with its margin removed the same way.
Consensus odds (decimal)ODDS
The actual decimal price a bet would get, averaged across bookmakers — still including the margin. Decimal odds of 2.50 means a winning $1 stake returns $2.50 ($1.50 profit) — the same price a US book shows as +150. These are the real prices behind the de-vigged percentages.
Win probabilityWin %
Each team's chance of winning the game, from a de-vigged consensus of bookmaker moneylines. Football, basketball, hockey and baseball are two-way markets (no draw priced), so the two percentages add up to 100%; soccer adds the draw, see Win / Draw / Loss. The split bar underneath shows the same number visually — the center tick is 50/50.
Point spreadSpread
The bookmakers' points handicap for the game, shown against the home team. 'Chiefs -3.5' means the market makes the Chiefs a 3.5-point favorite: they must win by 4+ to 'cover'. A plus number means the home side is the underdog and can lose by up to that many points and still cover.
Cover probabilityCover %
The chance the home team beats the spread — wins by more than the handicap — de-vigged from the spread market's two prices. It hovers near 50% by design: bookmakers set the line so both sides are roughly a coin flip.
Game total (over/under)O/U
The market line for the two teams' combined points, priced as Over or Under. 'O 44.5 52%' means a 52% de-vigged chance the teams combine for 45+ points. Higher totals mean the market expects a shootout; lower, a defensive grind.
Model pickModel pick
The side the de-vigged bookmaker consensus makes the favorite, with its win probability. Because these probabilities come from the market itself, betting the pick at market prices has no built-in edge — it is a read on expectations, not betting advice.
Playoff seedSeed
The team's current playoff position in its conference: seeds 1–4 go to the four division winners (ordered by record), seeds 5–7 to the three best non-winners (wild cards). Seven teams per conference make the playoffs; the 1 seed gets the only first-round bye.
Point differential+/-
Season points scored minus points allowed. A positive number means the team has outscored its opponents overall — a steadier quality signal than the win-loss record, which can swing on close games.
Anytime touchdownAnytime TD
The probability a player scores a touchdown at any point in their next game, de-vigged from bookmaker anytime-TD props. Rushing and receiving TDs count; a quarterback's passing TDs do not.
Before kickoffBefore kickoff
The call was written to the database while the game was still unplayed, and the timestamp says when. It matters because the alternative is pricing a finished game from odds that outlive it: honest, but reconstructed, and you would have only our word that the number was not chosen once the score was known. Only a captured call can be graded without that caveat.
Brier scoreBrier
The average squared error of the stated probability. Lower is better, and 0.250 is what you would score by calling everything a coin flip. It exists because a hit rate alone flatters a 51% call that wins and punishes a 90% call that loses, when the first was barely an opinion and the second was a real claim.
Closing-line valueCLV
How the board's price compares with where the market finished before kickoff. The closing line is the sharpest price a market produces, so beating it consistently is the usual evidence that a model knows something. Measured in percentage points, and over a small sample it is mostly noise.
Closing lineClosing line
The last price the market showed before kickoff. It is the price the most money has been bet into, which is why it is treated as the market's best guess and used as the benchmark rather than the opening price.
Fair priceFair
The decimal odds a probability implies with no margin attached — 50% is 2.00, 80% is 1.25. A bet struck at the fair price has an expected value of exactly zero by construction, so a profit at fair prices is variance rather than edge. A real bookmaker prices below fair; that difference is how they make money.
Unitu
One flat stake. Results are quoted in units rather than currency because this site has never taken a bet and a dollar sign would imply that it had. Ten units a call means every call is staked the same, so no single result can dominate the record.
Return on investmentROI
Profit divided by everything staked, not by the number of bets. Backing ten calls at ten units each stakes 100 units, so a 12-unit profit is a 12% ROI. It is the figure that makes a long run of small stakes comparable with a short run of large ones.
Hit rateAccuracy
The share of calls that named the winner. Read it beside the Brier score rather than alone: a board that only ever calls heavy favorites will post a high hit rate while saying almost nothing, and one that takes real positions will post a lower one while being better informed.
CoverageCoverage
How much of the finished slate could be graded at all. A game the odds feed never quoted carries no call, so nothing was ever claimed about it and it counts as neither a hit nor a miss. Coverage sits beside the record because a board can always look more accurate by saying less.
No priceNo price
No bookmaker in the feed was quoting this game when the board last looked, so there is no market to de-vig and the board makes no call. It is ordinary rather than broken — the feed carries a minority of the college slate, and most lines only appear a day or two before the game — and a game with no price never enters the record.
Cash-out windowCash-out window
A published call that is now worth more in play than the price it was published at, while the game is still running. That is the only period in which a sportsbook's cash-out is worth taking: once the whistle goes the bet simply settles and there was never a decision to make. The board reports the window; the exit happens at your own sportsbook. Alerts cover the NFL, college football and the NBA so far.
Pre-game emailPre-game email
One email before the first game of a slate, listing every pick on the record for it, sent for the NBA, NHL, MLB and soccer to members who follow that sport. It is not an alert: it goes out before anything has happened and makes no cash-out claim. Choose your sports on your account page.
Variance, not edgeVariance
A run of winning calls priced from de-vigged odds is not evidence of beating the market. The fair price already contains everything the market knows, so betting it breaks even in the long run and any short-run profit is the swing you would expect from chance. The record here measures whether the probabilities are well calibrated, not whether following them makes money.
XII

What the numbers say today

How well the stated probabilities are calibrated, whether they beat the closing line, how each signal scores on its own, and what a flat stake on every call would have come to. Including the numbers that are unflattering.

From Oct 15, 2026, a sportsbook's margin comes off its prices by the power method, which takes more of it from the longshot, so favorites read a point or two higher than under the even split we used before. Calls stored before then keep the chances they were stored with.

The record, by phase

Every NFL call the board has published and settled — 129 of them, kept whether or not the game is still on the feed.
RecordW–LHit rateProfitROIBrier
Regular and postseason17–577.3%+68.68u31.2%0.219
Thinly priced48–3756.5%−106.52u−12.5%0.241
Preseason8–1436.4%−85.53u−38.9%0.265
Every call73–5656.6%−123.36u−9.6%0.242

Thinly priced calls are counted separately. A bulk run wrote most of this season’s calls in a single day, for games still weeks away, storing whatever price existed at the time — a median of two bookmakers, against the eleven a game carries when it is read an hour before kickoff. Two quotes taken weeks out is a reading, not a market, and a headline resting on them would rest mostly on prices nobody was seriously offering.

They went 48–37 over 85 settled calls, against 17–5 for the fully priced ones — so on strike rate the thin ones look better, and this split is not a way of tucking a worse number out of sight. An early line is at its most lopsided before a real market forms, so those calls are mostly heavy favourites priced cheap: they win often and return little, which flatters a hit rate while saying very little about whether the board can price a game. That is why they are separated on how they were priced rather than on how they turned out. Nothing is deleted — a call, once published, stays published — and every one is in the list below.

Preseason is counted separately because it is barely the same contest: starters sit, rosters turn over by the quarter, and the result carries little information about the teams that play in September. The board priced 22 of them and went 8–14. It is shown rather than dropped — a record you are allowed to edit is not a record — but reading it beside the regular season as one number would describe neither.

Every settled call, newest first (129)
DateCallSaidResultScore
29 OctGreen Bay Packers over Carolina Panthers75%✓ Won27–19
26 OctPhiladelphia Eagles over Dallas Cowboys60%✕ Lost21–38
25 OctSeattle Seahawks over Kansas City Chiefs60%✓ Won20–3
25 OctLos Angeles Rams over Las Vegas Raiders75%✓ Won35–21
25 OctDetroit Lions over Green Bay Packers57%✓ Won20–17
25 OctDenver Broncos over Arizona Cardinals74%✓ Won30–16
25 OctNew York Jets over Miami Dolphins57%✕ Lost25–28
25 OctSan Francisco 49ers over Atlanta Falcons66%✕ Lost20–29
25 OctMinnesota Vikings over Indianapolis Colts57%✓ Won16–10
25 OctTennessee Titans over Cleveland Browns57%✕ Lost24–27
25 OctTampa Bay Buccaneers over Carolina Panthers53%✓ Won43–13
25 OctBaltimore Ravens over Cincinnati Bengals63%✕ Lost13–35
25 OctHouston Texans over New York Giants69%✕ Lost21–27
25 OctPittsburgh Steelers over New Orleans Saints55%✓ Won16–10
22 OctChicago Bears over New England Patriots52%✓ Won30–24
19 OctSan Francisco 49ers over Washington Commanders68%✓ Won23–17
18 OctGreen Bay Packers over Dallas Cowboys62%✓ Won23–13
18 OctBuffalo Bills over Las Vegas Raiders72%✓ Won33–30
18 OctKansas City Chiefs over Los Angeles Chargers57%✓ Won22–6
18 OctLos Angeles Rams over Arizona Cardinals86%✕ Lost16–18
18 OctBaltimore Ravens over Cleveland Browns70%✕ Lost10–13
18 OctChicago Bears over Atlanta Falcons60%✓ Won31–23
18 OctIndianapolis Colts over Tennessee Titans66%✕ Lost20–26
18 OctNew York Giants over New Orleans Saints59%✕ Lost27–34
18 OctPhiladelphia Eagles over Carolina Panthers72%✕ Lost14–25
18 OctNew England Patriots over New York Jets79%✓ Won26–19
18 OctTampa Bay Buccaneers over Pittsburgh Steelers53%✕ Lost19–26
18 OctHouston Texans over Jacksonville Jaguars50%✓ Won34–31
15 OctSeattle Seahawks over Denver Broncos53%✕ Lost14–17
12 OctLos Angeles Rams over Buffalo Bills63%✕ Lost34–37
11 OctBaltimore Ravens over Atlanta Falcons64%✓ Won30–23
11 OctGreen Bay Packers over Chicago Bears61%✓ Won31–7
11 OctDetroit Lions over Arizona Cardinals76%✓ Won45–21
11 OctSeattle Seahawks over San Francisco 49ers65%✕ Lost29–32
11 OctLos Angeles Chargers over Denver Broncos57%✕ Lost17–23
11 OctPittsburgh Steelers over Indianapolis Colts55%✓ Won34–22
11 OctNew England Patriots over Las Vegas Raiders77%✓ Won45–17
11 OctHouston Texans over Tennessee Titans61%✓ Won26–3
11 OctCincinnati Bengals over Miami Dolphins70%✓ Won31–24
11 OctNew York Jets over Cleveland Browns56%✓ Won17–12
11 OctMinnesota Vikings over New Orleans Saints51%✓ Won23–13
11 OctPhiladelphia Eagles over Jacksonville Jaguars53%✕ Lost17–19
8 OctDallas Cowboys over Tampa Bay Buccaneers63%✕ Lost16–24
5 OctNew Orleans Saints over Atlanta Falcons55%✕ Lost24–45
4 OctDetroit Lions over Carolina Panthers60%✕ Lost26–32
4 OctSeattle Seahawks over Los Angeles Chargers61%✓ Won30–23
4 OctKansas City Chiefs over Las Vegas Raiders68%✓ Won30–27
4 OctSan Francisco 49ers over Denver Broncos57%✓ Won24–14
4 OctMinnesota Vikings over Miami Dolphins76%✓ Won15–10
4 OctBaltimore Ravens over Tennessee Titans77%✓ Won24–18
4 OctNew York Giants over Arizona Cardinals72%✓ Won36–24
4 OctGreen Bay Packers over Tampa Bay Buccaneers52%✓ Won17–14
4 OctLos Angeles Rams over Philadelphia Eagles56%✓ Won24–20
4 OctChicago Bears over New York Jets77%✓ Won23–12
4 OctCincinnati Bengals over Jacksonville Jaguars57%✕ Lost17–22
4 OctBuffalo Bills over New England Patriots61%✕ Lost26–29
4 OctHouston Texans over Dallas Cowboys57%✕ Lost30–34
4 OctIndianapolis Colts over Washington Commanders51%✓ Won30–13
1 OctPittsburgh Steelers over Cleveland Browns57%✕ Lost24–27
28 SeptChicago Bears over Philadelphia Eagles52%✓ Won27–7
27 SeptLos Angeles Rams over Denver Broncos59%✕ Lost26–30
27 SeptNew Orleans Saints over Las Vegas Raiders63%✕ Lost27–35
27 SeptBaltimore Ravens over Dallas Cowboys55%✓ Won34–31
27 SeptTampa Bay Buccaneers over Minnesota Vikings55%✕ Lost16–23
27 SeptSan Francisco 49ers over Arizona Cardinals82%✓ Won36–30
27 SeptHouston Texans over Indianapolis Colts52%✕ Lost17–19
27 SeptJacksonville Jaguars over New England Patriots52%✓ Won35–6
27 SeptBuffalo Bills over Los Angeles Chargers60%✓ Won24–16
27 SeptDetroit Lions over New York Jets79%✓ Won31–24
27 SeptNew York Giants over Tennessee Titans61%✓ Won12–7
27 SeptKansas City Chiefs over Miami Dolphins77%✓ Won24–10
27 SeptCincinnati Bengals over Pittsburgh Steelers53%✕ Lost27–30
27 SeptCarolina Panthers over Cleveland Browns55%✕ Lost18–21
27 SeptSeattle Seahawks over Washington Commanders62%✕ Lost31–33
24 SeptGreen Bay Packers over Atlanta Falcons75%✕ Lost14–35
21 SeptLos Angeles Rams over New York Giants77%✓ Won28–6
20 SeptKansas City Chiefs over Indianapolis Colts73%✓ Won33–30
20 SeptSeattle Seahawks over Arizona Cardinals81%✓ Won31–7
20 SeptSan Francisco 49ers over Miami Dolphins82%✓ Won35–13
20 SeptDallas Cowboys over Washington Commanders64%✓ Won37–20
20 SeptLos Angeles Chargers over Las Vegas Raiders77%✕ Lost14–26
20 SeptDenver Broncos over Jacksonville Jaguars58%✓ Won20–13
20 SeptAtlanta Falcons over Carolina Panthers53%✕ Lost3–34
20 SeptChicago Bears over Minnesota Vikings64%✕ Lost3–9
20 SeptGreen Bay Packers over New York Jets69%✓ Won20–17
20 SeptNew England Patriots over Pittsburgh Steelers68%✓ Won20–3
20 SeptTampa Bay Buccaneers over Cleveland Browns70%✕ Lost19–23
20 SeptPhiladelphia Eagles over Tennessee Titans66%✓ Won24–20
20 SeptBaltimore Ravens over New Orleans Saints75%✕ Lost17–24
20 SeptHouston Texans over Cincinnati Bengals56%✕ Lost6–20
17 SeptBuffalo Bills over Detroit Lions59%✓ Won41–31
14 SeptKansas City Chiefs over Denver Broncos56%✓ Won31–10
13 SeptDallas Cowboys over New York Giants58%✕ Lost20–28
13 SeptMinnesota Vikings over Green Bay Packers52%✓ Won39–22
13 SeptLos Angeles Chargers over Arizona Cardinals81%✕ Lost14–26
13 SeptPhiladelphia Eagles over Washington Commanders66%✓ Won24–22
13 SeptLas Vegas Raiders over Miami Dolphins63%✓ Won27–13
13 SeptChicago Bears over Carolina Panthers58%✓ Won59–37
13 SeptBuffalo Bills over Houston Texans51%✓ Won36–31
13 SeptJacksonville Jaguars over Cleveland Browns76%✓ Won34–10
13 SeptCincinnati Bengals over Tampa Bay Buccaneers64%✓ Won33–27
13 SeptPittsburgh Steelers over Atlanta Falcons60%✓ Won20–13
13 SeptTennessee Titans over New York Jets55%✕ Lost10–23
13 SeptDetroit Lions over New Orleans Saints73%✓ Won31–30
13 SeptBaltimore Ravens over Indianapolis Colts62%✓ Won41–23
10 SeptLos Angeles Rams over San Francisco 49ers64%✕ Lost7–27
9 SeptSeattle Seahawks over New England Patriots63%✓ Won13–10
29 AugTennessee Titans over Chicago BearsPreseason57%✕ Lost15–24
29 AugIndianapolis Colts over Detroit LionsPreseason62%✕ Lost16–25
28 AugDenver Broncos over Minnesota VikingsPreseason62%✓ Won34–6
28 AugGreen Bay Packers over Arizona CardinalsPreseason51%✓ Won42–38
28 AugDallas Cowboys over New Orleans SaintsPreseason57%✕ Lost24–27
28 AugPhiladelphia Eagles over Cincinnati BengalsPreseason56%✕ Lost13–30
28 AugNew York Giants over New York JetsPreseason59%✓ Won23–6
28 AugTampa Bay Buccaneers over Jacksonville JaguarsPreseason58%✕ Lost0–19
28 AugHouston Texans over Carolina PanthersPreseason51%✕ Lost13–16
28 AugAtlanta Falcons over Miami DolphinsPreseason63%✓ Won17–12
28 AugBaltimore Ravens over Washington CommandersPreseason59%✓ Won41–3
27 AugLos Angeles Chargers over Los Angeles RamsPreseason61%✕ Lost18–20
27 AugBuffalo Bills over Pittsburgh SteelersPreseason58%✓ Won28–27
22 AugArizona Cardinals over Dallas CowboysPreseason50%✕ Lost13–34
22 AugTampa Bay Buccaneers over Kansas City ChiefsPreseason67%✓ Won16–15
22 AugPhiladelphia Eagles over New England PatriotsPreseason54%✕ Lost21–24
22 AugChicago Bears over Cincinnati BengalsPreseason53%✕ Lost9–27
22 AugNew York Giants over Miami DolphinsPreseason61%✓ Won26–3
22 AugNew Orleans Saints over Los Angeles RamsPreseason54%✕ Lost0–34
22 AugIndianapolis Colts over Atlanta FalconsPreseason62%✕ Lost6–34
22 AugMinnesota Vikings over Baltimore RavensPreseason61%✕ Lost3–13
22 AugCleveland Browns over Buffalo BillsPreseason58%✕ Lost7–31
Every college call the board has published and settled — 275 of them, kept whether or not the game is still on the feed.
RecordW–LHit rateProfitROIBrier
Regular and postseason169–7270.1%−52.66u−2.2%0.193
Thinly priced30–488.2%+23.88u7.0%0.085
Every call199–7672.4%−28.78u−1.0%0.180

Thinly priced calls are counted separately. A bulk run wrote most of this season’s calls in a single day, for games still weeks away, storing whatever price existed at the time — a median of two bookmakers, against the eleven a game carries when it is read an hour before kickoff. Two quotes taken weeks out is a reading, not a market, and a headline resting on them would rest mostly on prices nobody was seriously offering.

They went 30–4 over 34 settled calls, against 169–72 for the fully priced ones — so on strike rate the thin ones look better, and this split is not a way of tucking a worse number out of sight. An early line is at its most lopsided before a real market forms, so those calls are mostly heavy favourites priced cheap: they win often and return little, which flatters a hit rate while saying very little about whether the board can price a game. That is why they are separated on how they were priced rather than on how they turned out. Nothing is deleted — a call, once published, stays published — and every one is in the list below.

Every settled call, newest first (275)
DateCallSaidResultScore
29 OctNorth Texas over Florida Atlantic84%✓ Won48–41
29 OctJames Madison over Troy94%✕ Lost21–24
28 OctJacksonville State over New Mexico State60%✓ Won24–0
27 OctMissouri State over Sam Houston66%✓ Won24–3
24 OctUtah over Houston70%✓ Won21–13
24 OctNew Mexico over North Dakota State65%✓ Won21–16
24 OctUTSA over Tulane57%✓ Won42–19
24 OctTexas State over Utah State84%✓ Won20–17
24 OctTexas over Ole Miss59%✓ Won34–27
24 OctArizona over Iowa State78%✓ Won39–3
24 OctKentucky over Vanderbilt80%✓ Won34–17
24 OctUSC over Wisconsin57%✕ Lost7–24
24 OctNorth Carolina over Syracuse77%✕ Lost30–31
24 OctClemson over Virginia Tech59%✕ Lost16–20
24 OctGeorgia State over Arkansas State56%✕ Lost32–38
24 OctOklahoma State over Colorado84%✓ Won57–24
24 OctSan Diego State over Colorado State51%✕ Lost49–56
24 OctBoise State over Washington State86%✓ Won31–10
24 OctNevada over San José State69%✓ Won28–13
24 OctLouisiana Tech over Old Dominion86%✓ Won26–0
24 OctTroy over UL Monroe83%✕ Lost14–21
24 OctOhio over Eastern Michigan78%✓ Won24–20
24 OctKansas State over Arizona State53%✕ Lost17–28
24 OctAlabama over Texas A&M85%✓ Won31–20
24 OctUCLA over Michigan State87%✓ Won28–10
24 OctBYU over UCF73%✕ Lost31–39
24 OctOklahoma over Mississippi State56%✓ Won23–15
24 OctSouth Carolina over Tennessee55%✓ Won27–24
24 OctNorth Texas over Navy59%✓ Won49–39
24 OctIowa over Minnesota73%✕ Lost10–13
24 OctBuffalo over Bowling Green59%✓ Won31–24
24 OctGeorgia Tech over Boston College69%✕ Lost27–49
24 OctOregon over Illinois79%✕ Lost10–21
24 OctKent State over Akron58%✓ Won35–20
24 OctBaylor over Kansas52%✕ Lost24–25
24 OctMiami (OH) over Central Michigan61%✓ Won28–27
23 OctAir Force over Wyoming68%✕ Lost14–28
23 OctTulsa over Army50%✕ Lost35–38
23 OctVirginia over Duke54%✕ Lost16–19
22 OctMemphis over East Carolina80%✓ Won41–34
21 OctNew Mexico State over Sam Houston55%✓ Won30–24
20 OctSouth Alabama over Marshall58%✕ Lost13–20
20 OctDelaware over Missouri State59%✓ Won61–38
17 OctOregon over Nebraska70%✓ Won17–14
17 OctWake Forest over California78%✓ Won41–7
17 OctFresno State over San Diego State74%✕ Lost23–26
17 OctUtah over Colorado87%✓ Won27–24
17 OctSan José State over UTEP71%✓ Won24–11
17 OctUTSA over Navy70%✓ Won38–34
17 OctLouisiana Tech over UL Monroe87%✓ Won24–0
17 OctLouisville over Syracuse86%✓ Won34–26
17 OctNotre Dame over BYU80%✕ Lost24–28
17 OctHouston over Oklahoma State64%✓ Won35–32
17 OctOklahoma over Kentucky70%✕ Lost13–21
17 OctUCLA over Wisconsin56%✓ Won17–7
17 OctBaylor over TCU68%✕ Lost6–17
17 OctNorth Dakota State over Nevada86%✓ Won31–17
17 OctSouth Florida over Kent State94%✓ Won29–2
17 OctArkansas State over Southern Miss69%✓ Won23–13
17 OctVanderbilt over Arkansas68%✕ Lost21–31
17 OctOregon State over Washington State91%✓ Won48–30
17 OctTulsa over Rice64%✓ Won38–17
17 OctDuke over North Carolina59%✕ Lost20–24
17 OctMiami (OH) over Akron78%✓ Won34–14
17 OctAir Force over UNLV51%✓ Won41–31
17 OctToledo over Eastern Michigan70%✓ Won34–14
17 OctTexas Tech over Arizona State88%✓ Won53–25
17 OctAlabama over Tennessee75%✕ Lost10–26
17 OctMichigan over Penn State71%✓ Won21–18
17 OctVirginia Tech over Georgia Tech79%✓ Won34–24
17 OctGeorgia over Auburn93%✕ Lost24–27
17 OctWyoming over Northern Illinois75%✓ Won41–23
17 OctOle Miss over Missouri66%✓ Won31–3
17 OctWestern Michigan over Central Michigan70%✓ Won21–14
17 OctTemple over Charlotte95%✕ Lost31–38
17 OctBuffalo over UMass71%✓ Won25–18
17 OctMaryland over Rutgers66%✕ Lost30–37
17 OctKansas State over Kansas64%✓ Won35–24
17 OctArmy over Florida Atlantic56%✓ Won56–24
17 OctNorthwestern over Michigan State73%✓ Won24–21
17 OctPittsburgh over Boston College69%✕ Lost21–27
16 OctPurdue over Washington61%✕ Lost26–38
16 OctAppalachian State over Coastal Carolina51%✓ Won35–32
16 OctMemphis over Tulane71%✕ Lost17–31
15 OctTexas State over Colorado State85%✓ Won66–27
15 OctEast Carolina over UAB65%✕ Lost17–30
15 OctGeorgia Southern over Old Dominion62%✓ Won23–15
14 OctWestern Kentucky over Sam Houston52%✓ Won16–3
14 OctKennesaw State over Missouri State58%✕ Lost21–24
13 OctJacksonville State over Florida International57%✓ Won27–24
10 OctBoise State over Fresno State73%✓ Won38–31
10 OctMinnesota over Purdue55%✕ Lost13–41
10 OctUtah over Kansas84%✓ Won41–24
10 OctVirginia over Syracuse77%✓ Won28–25
10 OctPenn State over USC53%✕ Lost23–31
10 OctJames Madison over Georgia Southern71%✓ Won27–24
10 OctAlabama over Georgia53%✕ Lost17–20
10 OctAir Force over Northern Illinois72%✓ Won28–7
10 OctNevada over UTEP75%✓ Won30–13
10 OctLSU over Kentucky74%✕ Lost34–35
10 OctMemphis over UAB83%✓ Won38–13
10 OctMarshall over Coastal Carolina62%✕ Lost21–27
10 OctNorth Dakota State over UNLV56%✕ Lost7–13
10 OctOregon State over San Diego State85%✓ Won66–14
10 OctOhio State over Maryland98%✓ Won45–16
10 OctTennessee over Arkansas81%✓ Won24–17
10 OctTemple over UConn61%✕ Lost20–34
10 OctOle Miss over Vanderbilt75%✓ Won52–17
10 OctIllinois over Michigan State55%✓ Won38–37
10 OctNavy over Tulsa53%✓ Won34–26
10 OctToledo over Buffalo89%✕ Lost8–23
10 OctTexas over Oklahoma73%✕ Lost24–27
10 OctOregon over UCLA76%✕ Lost15–17
10 OctKansas State over Houston55%✕ Lost16–35
10 OctDuke over Georgia Tech68%✕ Lost25–28
10 OctVirginia Tech over California75%✕ Lost20–25
10 OctNorth Texas over Charlotte94%✓ Won50–10
10 OctEastern Michigan over Akron66%✓ Won25–23
10 OctOhio over Central Michigan54%✓ Won31–14
10 OctWestern Michigan over Kent State83%✓ Won38–7
10 OctMiami (OH) over UMass62%✓ Won20–19
10 OctAppalachian State over Old Dominion76%✕ Lost3–10
10 OctEast Carolina over Rice75%✓ Won28–12
8 OctUTSA over South Florida70%✓ Won31–24
8 OctArkansas State over South Alabama55%✕ Lost49–56
7 OctFlorida International over New Mexico State66%✓ Won22–3
7 OctJacksonville State over Kennesaw State58%✓ Won27–26
6 OctTroy over Southern Miss75%✓ Won55–34
3 OctTexas State over San Diego State75%✕ Lost29–31
3 OctArizona State over Baylor62%✕ Lost19–55
3 OctWashington State over Fresno State53%✕ Lost6–26
3 OctBoise State over Utah State89%✓ Won37–18
3 OctArmy over Louisiana Tech53%✕ Lost29–31
3 OctSouth Florida over Temple68%✕ Lost13–17
3 OctTexas Tech over Colorado80%✓ Won29–7
3 OctTexas A&M over Arkansas82%✓ Won34–7
3 OctSouth Alabama over UL Monroe83%✓ Won52–35
3 OctBYU over TCU67%✓ Won17–10
3 OctUTSA over Rice80%✓ Won16–14
3 OctGeorgia Southern over Coastal Carolina54%✓ Won31–24
3 OctOregon State over Colorado State67%✓ Won56–26
3 OctIllinois over Purdue76%✕ Lost17–24
3 OctSouth Carolina over Kentucky58%✕ Lost34–35
3 OctNew Mexico over UTEP92%✓ Won61–7
3 OctNebraska over Maryland83%✓ Won48–23
3 OctJames Madison over Marshall88%✓ Won45–17
3 OctOhio State over Iowa83%✓ Won31–14
3 OctNorth Dakota State over Wyoming87%✓ Won28–0
3 OctTennessee over Auburn71%✓ Won24–14
3 OctUMass over Eastern Michigan66%✕ Lost14–38
3 OctVirginia over Florida State56%✕ Lost7–38
3 OctMemphis over Charlotte90%✓ Won59–8
3 OctCentral Michigan over Akron68%✓ Won41–17
3 OctFlorida over Missouri65%✕ Lost17–45
3 OctMiami (OH) over Bowling Green82%✕ Lost20–24
3 OctUNLV over California56%✓ Won39–31
3 OctGeorgia State over Old Dominion55%✓ Won42–10
3 OctOhio over Kent State60%✓ Won13–10
3 OctToledo over Ball State89%✓ Won39–24
3 OctWestern Michigan over Buffalo82%✓ Won20–17
3 OctGeorgia over Vanderbilt93%✓ Won38–14
3 OctWisconsin over Michigan State76%✓ Won31–3
3 OctAlabama over Mississippi State66%✓ Won56–23
3 OctWake Forest over Stanford81%✓ Won57–3
3 OctMichigan over Minnesota66%✕ Lost14–20
3 OctHouston over UCF77%✓ Won27–17
3 OctAir Force over Navy60%✓ Won14–9
3 OctIowa State over West Virginia58%✓ Won45–42
3 OctSyracuse over UConn68%✓ Won42–41
3 OctSMU over Boston College90%✓ Won25–16
3 OctNotre Dame over North Carolina91%✓ Won37–26
26 SeptWashington over Minnesota76%✕ Lost24–27
26 SeptGeorgia Tech over Stanford61%✕ Lost27–34
26 SeptAir Force over Nevada67%✓ Won36–33
26 SeptFresno State over Rice81%✓ Won38–24
26 SeptSMU over Missouri State95%✓ Won34–24
26 SeptOregon State over UTEP78%✓ Won33–7
26 SeptAlabama over South Carolina78%✓ Won49–18
26 SeptPenn State over Wisconsin79%✕ Lost20–24
26 SeptMichigan over Iowa65%✕ Lost19–20
26 SeptFlorida over Ole Miss53%✓ Won52–28
26 SeptUCLA over Maryland52%✓ Won54–3
26 SeptBoise State over Western Michigan73%✓ Won32–7
25 SeptNavy over UAB70%✕ Lost20–24
25 SeptArmy over Temple58%✓ Won21–17
19 SeptFresno State over San José State68%✓ Won26–10
19 SeptUCLA over Purdue82%✓ Won52–38
19 SeptArizona over Northern Illinois97%✓ Won42–17
19 SeptSan Diego State over James Madison53%✕ Lost13–26
19 SeptTexas over UTSA94%✓ Won30–6
19 SeptTCU over Arkansas State88%✓ Won31–7
19 SeptTennessee over Kennesaw State98%✓ Won42–9
19 SeptBYU over Colorado State87%✓ Won41–23
19 SeptLSU over Ole Miss54%✕ Lost24–32
19 SeptNorthwestern over Colorado61%✓ Won41–7
19 SeptOklahoma over New Mexico91%✓ Won14–6
19 SeptVirginia Tech over Maryland53%✓ Won35–26
19 SeptNotre Dame over Michigan State93%✓ Won27–10
19 SeptVirginia over West Virginia50%✕ Lost27–38
19 SeptNebraska over North Dakota93%✓ Won34–7
19 SeptMissouri over Troy94%✓ Won27–17
19 SeptWestern Michigan over Rice75%✓ Won28–21
19 SeptJacksonville State over Georgia Southern60%✓ Won31–27
19 SeptUConn over Southern Miss59%✓ Won48–20
19 SeptFlorida over Auburn54%✓ Won44–39
19 SeptSouth Alabama over Ohio69%✓ Won41–36
19 SeptUCF over Georgia State87%✓ Won44–30
19 SeptMarshall over Missouri State62%✓ Won30–24
19 SeptOld Dominion over East Carolina56%✕ Lost17–20
19 SeptAppalachian State over Charlotte87%✓ Won26–21
19 SeptFlorida Atlantic over Florida International68%✓ Won16–10
19 SeptSouth Carolina over Mississippi State62%✕ Lost34–41
19 SeptDuke over Stanford75%✓ Won35–7
19 SeptBaylor over Louisiana Tech89%✓ Won36–19
19 SeptTexas A&M over Kentucky85%✕ Lost21–31
19 SeptLouisville over SMU52%✓ Won41–31
19 SeptUtah over Utah State94%✓ Won33–0
19 SeptUSC over Rutgers91%✓ Won42–35
19 SeptAlabama over Florida State86%✓ Won50–36
19 SeptMichigan over UTEP98%✓ Won52–17
19 SeptUMass over Stonehill98%✓ Won36–14
19 SeptToledo over Temple66%✓ Won49–48
19 SeptWyoming over Central Michigan51%✕ Lost10–24
19 SeptWisconsin over Eastern Michigan93%✓ Won54–10
19 SeptIowa State over Bowling Green93%✓ Won55–7
19 SeptTexas State over North Texas57%✓ Won49–35
19 SeptMinnesota over Akron93%✓ Won41–7
19 SeptClemson over North Carolina59%✓ Won28–20
19 SeptGeorgia over Arkansas92%✓ Won45–17
19 SeptArizona State over Kansas64%✓ Won24–17
19 SeptKansas State over Tulane90%✓ Won31–20
19 SeptDelaware over Coastal Carolina63%✓ Won22–14
18 SeptTexas Tech over Houston81%✓ Won28–26
17 SeptPittsburgh over Syracuse76%✓ Won27–13
12 SeptUtah over Arkansas79%✓ Won43–10
12 SeptNorth Dakota State over Air Force53%✓ Won38–32
12 SeptUTEP over Texas Southern94%✓ Won51–10
12 SeptAuburn over Southern Miss96%✓ Won43–8
12 SeptTexas Tech over Oregon State93%✓ Won35–24
12 SeptTexas over Ohio State52%✓ Won24–23
12 SeptIowa over Iowa State82%✓ Won16–13
12 SeptCoastal Carolina over Fordham97%✓ Won45–7
12 SeptNavy over Florida Atlantic64%✕ Lost30–38
12 SeptLSU over Louisiana Tech96%✓ Won45–14
12 SeptClemson over Georgia Southern89%✓ Won22–7
12 SeptUCLA over San Diego State79%✓ Won28–10
12 SeptWisconsin over Western Illinois98%✓ Won36–9
12 SeptTennessee over Georgia Tech79%✓ Won45–24
12 SeptTulane over South Alabama76%✓ Won28–24
12 SeptIllinois State over Northern Illinois63%✓ Won28–24
12 SeptArkansas State over West Georgia95%✓ Won52–7
12 SeptColorado State over Southern Utah90%✓ Won58–24
12 SeptNebraska over Bowling Green95%✓ Won56–7
12 SeptKennesaw State over Georgia State73%✕ Lost17–31
12 SeptTulsa over Sam Houston81%✓ Won23–17
12 SeptBoise State over Memphis74%✓ Won38–20
12 SeptFlorida International over Buffalo76%✓ Won33–20
12 SeptOhio over Jacksonville State55%✓ Won29–27
12 SeptVanderbilt over Delaware90%✓ Won35–26
12 SeptWyoming over Northern Colorado92%✓ Won21–13
12 SeptSMU over UC Davis94%✓ Won56–10
12 SeptUNLV over North Texas59%✕ Lost6–44
12 SeptUMass over Sacred Heart92%✓ Won37–10
12 SeptWashington over Utah State94%✓ Won16–14
12 SeptSyracuse over California61%✕ Lost18–21
12 SeptUAB over UL Monroe75%✓ Won26–20
12 SeptTexas State over UTSA53%✕ Lost26–31
12 SeptAkron over Robert Morris95%✓ Won45–10
12 SeptMichigan State over Eastern Michigan86%✓ Won35–7
12 SeptMaryland over UConn78%✓ Won38–14
12 SeptAlabama over Kentucky76%✓ Won45–17
12 SeptBYU over Arizona71%✓ Won28–17
12 SeptMississippi State over Minnesota50%✓ Won38–13
12 SeptColorado over Weber State97%✓ Won52–21
12 SeptPittsburgh over UCF70%✓ Won12–7

Closing-line value

Games closed
112
Mean CLV
-1.35pp
Beat the close
46%

The closing line is the market's last and best-informed price on a game. If our number consistently sits ahead of where the market ends up, that is evidence the numbers are well informed before any results are in — and it shows up in dozens of games where a win rate needs hundreds. Above 50% beaten, and a positive mean, is the signal. Below it is evidence the other way, however the games happened to land.

Signal by signal

SignalGamesRecordAccuracyBrier
Market consensus12973–5657%0.242
News read136–746%0.258
Line movement4526–1958%—
Public lean165–1131%—

What the calls would have been worth

Open the ledger (405 settled calls, flat 10-unit stakes)

Read the two lines together. Every call here was stored before kickoff, flat-staked at 10 units, and settled against the real final score. But we do not take bets and we do not store the price a bookmaker was offering — only the de-vigged consensus probability. The upper line prices each call at the fair odds that probability implies, and a bet struck at fair odds has an expected value of exactly zero by construction. So a profit there is variance, not edge. The lower line is the same run of results after a book takes a 4.5% margin, which is nearer what the same calls would actually have been struck at. These are units, not money, and nobody placed them.

Settled
405
Record
273–132
StakedUnitOne flat stake. Results are quoted in units rather than currency because this site has never taken a bet and a dollar sign would imply that it had. Ten units a call means every call is staked the same, so no single result can dominate the record.
4050u
Net, fair oddsFair priceThe decimal odds a probability implies with no margin attached — 50% is 2.00, 80% is 1.25. A bet struck at the fair price has an expected value of exactly zero by construction, so a profit at fair prices is variance rather than edge. A real bookmaker prices below fair; that difference is how they make money.
-142.14u
Net, at a bookVariance, not edgeA run of winning calls priced from de-vigged odds is not evidence of beating the market. The fair price already contains everything the market knows, so betting it breaks even in the long run and any short-run profit is the swing you would expect from chance. The record here measures whether the probabilities are well calibrated, not whether following them makes money.
-310.42u
At fair oddsFair priceThe decimal odds a probability implies with no margin attached — 50% is 2.00, 80% is 1.25. A bet struck at the fair price has an expected value of exactly zero by construction, so a profit at fair prices is variance rather than edge. A real bookmaker prices below fair; that difference is how they make money. At a book's priceDe-vigged (vig removed)Bookmakers price every market slightly above 100% — that overround is their margin (the 'vig'). We strip it out so the probabilities are fair and sum to exactly 100%. On the game boards it comes off by the power method, which takes more from the longshot than the favorite, because that is where books load it. The 'VIG' figure is how much was removed.Why the gap mattersVariance, not edgeA run of winning calls priced from de-vigged odds is not evidence of beating the market. The fair price already contains everything the market knows, so betting it breaks even in the long run and any short-run profit is the swing you would expect from chance. The record here measures whether the probabilities are well calibrated, not whether following them makes money.
+125-123-371-142.1u-310.4ufirst call405 settled
Hover the curve for the call at that point.

The graded record itself, every prediction and every alert, is on the record page.

XIII

The honest part