How our model and grading work
The projection
For each game we build a projected score from recent scoring and scoring-allowed form, adjusted toward the league average, and compare it with the posted spread. The difference between our projected margin and the spread is the edge, and the size of that edge sets the model rating you see on the card. A rating is a description of the edge, not a calibrated probability.
The number we track
A pick is only published against a live DraftKings spread, before kickoff. The moment we publish, we store an immutable snapshot: the spread, the price where available, the book, and the time the book last moved that number. That snapshot is what the article explains and what the record grades. The current line shown alongside it can move, and is always labelled separately. If DraftKings has no market, we publish no pick and say so.
Player props
Player prop ratings are only produced against a posted DraftKings player line. We project the stat from a weighted recent-form baseline for that player, adjusted by how much of that specific stat the opponent has actually conceded per game, and we show the sample size behind every number. Total bases are counted properly from play-by-play as singles, plus two for doubles, three for triples and four for home runs.
Grading
Once a game is final we grade the tracked snapshot as a win, a loss, or a push when the result lands exactly on the number. A pick is voided if the market was withdrawn. Pushes and voids never count as losses and are excluded from the cover-rate denominator. Records published before this system began are kept exactly as they were and marked as legacy.
How the model changes over time
Each league has one live, versioned model, and every published pick permanently records the version that made it. Alongside it we run a candidate model on exactly the same pregame numbers, using only information that existed before each game started. Those candidate results are private: they are never shown as picks and never counted in the public record.
A candidate replaces the live model for one league only after it beats it on a meaningful number of real, already-decided games, tested in date order, with clean data and no timestamp problems. If the data or the grading later goes wrong for a league, new picks are paused or the previous model is restored automatically. Nothing about an already-published pick or grade ever changes. Candidate and historical testing results are not our public record, and we do not claim the model is profitable or that its ratings are calibrated probabilities.
Updates
Schedules, scores, lines, picks and grades refresh on an hourly sync, and lines are pulled more often as kickoff approaches. Numbers are never guaranteed to be current to the second.
AI disclosure
The predictions and ratings come from our statistical model. The written previews and recaps that explain them are drafted with AI assistance from those model outputs and published by the CoveredSports desk.
Full records, including misses and pushes, live on the cover rate page.