| SEASON | GAMES | STRAIGHT-UP | VS THE LINE | ATS % | BRIER | ML ROI |
|---|---|---|---|---|---|---|
| 2016 | 760 | 70.3% | 358–382–20 | 48.4% | .190 | no ML data |
| 2017 | 776 | 70.4% | 390–365–21 | 51.7% | .185 | no ML data |
| 2018 | 772 | 72.4% | 391–361–20 | 52.0% | .175 | no ML data |
| 2019 | 774 | 73.1% | 377–384–13 | 49.5% | .176 | no ML data |
| 2020 (COVID) | 534 | 71.2% | 274–251–9 | 52.2% | .187 | no ML data |
| 2021 | 770 | 69.5% | 383–378–9 | 50.3% | .187 | -4.0% |
| 2022 | 776 | 68.7% | 389–374–13 | 51.0% | .199 | -4.6% |
| 2023 | 792 | 72.3% | 395–381–16 | 50.9% | .185 | -1.2% |
| 2024 | 798 | 69.2% | 391–388–19 | 50.2% | .193 | -5.4% |
| 2025 | 808 | 72.5% | 396–394–18 | 50.1% | .184 | +1.0% |
| STRATEGY | BETS | WINS | FLAT ROI |
|---|---|---|---|
| bet every straight-up pick | 3,771 | 2,619 | -2.81% |
| any modeled edge | 1,537 | 895 | -0.62% |
| edge > 2 points | 1,278 | 709 | -0.35% |
| edge > 5 points | 968 | 514 | +2.91% |
| robot backs the favorite | 3,301 | 2,415 | -4.83% |
| robot backs an underdog | 470 | 204 | +11.38% |
| SIGNAL | VERDICT | EVIDENCE |
|---|---|---|
| talent_gap | AUDITIONING | passes 2/3 criteria — needs more seasons of evidence |
| returning_production | AUDITIONING | passes 2/3 criteria — needs more seasons of evidence |
| rush_def_trend | GRADUATED | improves held-out Brier (mean +0.00003), stable sign, holds 2021+ |
| pass_off_trend | GRADUATED | improves held-out Brier (mean +0.00003), stable sign, holds 2021+ |
| rush_off_trend | CUT | no lift on held-out seasons (mean Brier delta -0.00003) |
| turnover_luck | CUT | no lift on held-out seasons (mean Brier delta -0.00002) |
| letdown_spot | CUT | no lift on held-out seasons (mean Brier delta -0.00014) |
| lookahead_spot | GRADUATED | improves held-out Brier (mean +0.00020), stable sign, holds 2021+ |
| travel_km | GRADUATED | improves held-out Brier (mean +0.00020), stable sign, holds 2021+ |
| body_clock | CUT | no lift on held-out seasons (mean Brier delta -0.00014) |
| line_movement | ADVISORY | evaluated but cannot graduate on backtest evidence — open→close movement is not observable at Tuesday lock time |
No injury or roster awareness. The model uses no injury reports, practice news, or depth charts. Ratings adjust to a missing starter only after games are played, while betting lines typically adjust immediately. Mid-week line movement of 3+ points against a locked pick is flagged 'steamed' in the ledger so the cost of this limitation can be measured.
Does not beat the closing spread — at any confidence level. Backtested 2016–2025, the model hits ~50% against the closing line, and this holds when filtered to only its highest-conviction picks (48.9–50.2% across thresholds). Break-even at standard odds is 52.4%. There is no demonstrated spread edge; the bet card marks disagreements with the market, not profitable plays, and runs on paper. The genuine product is the calibrated win probabilities and the rankings.
Margins are variance-matched, not independently validated. The model derives a point margin from its win-probability by matching the market's margin dispersion (an earlier version shrank margins toward zero, which made the card take the underdog ~90% of the time — a fixed bug). This gives two-sided, properly-scaled picks but does not, and cannot, manufacture an edge that the backtest says is not there.
One signal carries most of the predictive weight. The rating-gap (Elo) signal accounts for most of the model's accuracy. The other signals passed evaluation but contribute marginally to career Brier score.
Positive subsets rest on small samples. The positive underdog moneyline ROI comes from 470 bets across five seasons and was identified while testing six strategies. It is treated as unconfirmed until live paper results agree.
Historical odds are a proxy. Backtests price against Bovada/DraftKings/consensus lines (CFBD), not FanDuel directly. Live pricing uses FanDuel via The Odds API.
• Predictions lock at publication and are not edited. The scorecard grades the locked record.
• The model does not use in-week news. Line movement ≥3 points against a locked bet is flagged 'steamed', graded normally, and reported separately.
• If the available line improves on a locked bet's number by ≥1 point, a paper top-up may be recorded at the better line. Bets are never added after adverse movement.
• Bets are restricted to games with |spread| ≤ 21. The margin model underestimates large favorites' margins, which can produce spurious large-underdog edges; the restriction stands until live paper results show the mapping holds in the tails.
• Live betting mode requires positive held-out backtest ROI and positive live paper closing-line value over at least half a season, followed by manual confirmation.
• 2020 is reported separately and excluded from headline metrics due to COVID-shortened schedules.