Week of 2026-09-14 · performance + feature importances for every live model.
⚾ MLB: 61-57 (51.7%) · ⚽ Soccer: 82-86 (48.8%) · 🎓 College Football: 145-24 (85.8%) · 🏈 NFL: 10-5 (66.7%) · 🏀 NBA: off season (back 2026-10)
| Window | Record | Accuracy | Log loss | Brier |
|---|---|---|---|---|
| Season to date | 61/118 | 51.7% | 0.6967 | 0.2516 |
| Last 7 graded days | 44/88 | 50.0% | 0.6923 | — |
Edge vs. always-pick-home: Δlog-loss +0.0047 ± 0.0129 per game (positive = model beats the baseline). Graded through 2026-08-15. The MLB model is betting-blind Elo + home advantage + the starting-pitcher adjustment — it has no ML feature vector, so there are no SHAP/permutation importances to report; the record vs. baseline above is the model check.
| Window / league | Graded | Pick accuracy | Log loss |
|---|---|---|---|
| Last 7 days | 4 | 50.0% | 1.0326 |
| Last 30 days | 168 | 48.8% | 1.0121 |
| Season to date | 168 | 48.8% | 1.0121 |
| bundesliga | 18 | 44.4% | 0.9788 |
| championship | 47 | 44.7% | 1.0610 |
| epl | 29 | 44.8% | 1.0204 |
| la_liga | 30 | 46.7% | 0.9746 |
| ligue_1 | 18 | 44.4% | 1.1673 |
| serie_a | 26 | 69.2% | 0.8737 |
| elo_gap | +0.0474 ± 0.0022 | |
| value_diff_z | +0.0102 ± 0.0012 | |
| sot_net_diff | +0.0061 ± 0.0007 | |
| xg_net_diff | +0.0002 ± 0.0001 | |
| net_diff_z | +0.0000 ± 0.0000 | |
| spend_diff_z | +0.0000 ± 0.0000 | |
| wage_diff_z | +0.0000 ± 0.0000 |
| elo_gap | 0.1477 | |
| value_diff_z | 0.0601 | |
| sot_net_diff | 0.0363 | |
| xg_net_diff | 0.0029 | |
| net_diff_z | 0.0000 | |
| spend_diff_z | 0.0000 | |
| wage_diff_z | 0.0000 |
raises home-win oddslowers home-win odds
| elo_gap | +0.003 raises home-win odds | ||
| value_diff_z | +0.076 raises home-win odds | ||
| sot_net_diff | +0.061 raises home-win odds | ||
| xg_net_diff | +0.023 raises home-win odds | ||
| net_diff_z | +0.007 raises home-win odds | ||
| spend_diff_z | +0.024 raises home-win odds | ||
| wage_diff_z | +0.000 lowers home-win odds | ||
| ← lowers | raises → |
Multinomial logistic refit on matches before 2024-04-12 and evaluated on the 8845 most recent (15%) held-out matches. Permutation = how much held-out log loss degrades when the feature is shuffled (5 repeats, ± one standard deviation at the tip); SHAP is the exact linear attribution |coef · (x − x̄)| averaged over rows and classes. The bottom chart is the H-class weight on the z-scored feature — its sign is the direction of association. Features are ordered by permutation importance in all three charts.
| Model | Games | Accuracy | Log loss | Brier | Cal slope | ECE |
|---|---|---|---|---|---|---|
| production (qb+talent Elo) | 3018 | 66.5% | 0.6140 | 0.2127 | 0.978 | 0.013 |
| previous (base Elo) | 3018 | 66.5% | 0.6140 | 0.2128 | 0.981 | 0.015 |
| market (closing line) | 3018 | 66.1% | 0.6121 | 0.2122 | 1.056 | 0.018 |
| qb+talent Elo alone | 3018 | 65.2% | 0.6319 | 0.2202 | 0.806 | 0.034 |
| always base rate | 3018 | 55.0% | 0.6882 | 0.2475 | 0.038 | 0.000 |
Walk-forward out-of-sample scorecard (NFL/model/v2). The market row is the closing line — the bar the model is judged against.
| 1. spread_line | 0.856 avg rank 1.6 | |
| 2. market_home_prob | 0.847 avg rank 2.3 | |
| 3. elo_diff | 0.359 avg rank 3.9 | |
| 4. roll_margin_diff | 0.212 avg rank 6.0 | |
| 5. elo_vs_spread | 0.227 avg rank 10.3 | |
| 6. elo_spread | 0.279 avg rank 12.6 | |
| 7. elo_home_prob | 0.240 avg rank 13.4 | |
| 8. away_roll_pf | 0.110 avg rank 13.8 | |
| 9. away_ppg_diff_std | 0.103 avg rank 15.9 | |
| 10. total_line | 0.068 avg rank 17.4 | |
| 11. home_roll_total_vs_line | 0.065 avg rank 17.6 | |
| 12. travel_miles | 0.069 avg rank 18.0 | |
| 13. home_roll_margin | 0.119 avg rank 18.2 | |
| 14. away_roll_ats | 0.069 avg rank 19.0 | |
| 15. away_winpct_std | 0.054 avg rank 19.6 |
Bar = normalised importance score (0–1, permutation and SHAP averaged across logistic, random forest, extra-trees, XGBoost and LightGBM); the tip carries the feature's average rank across those five.
| spread_line | +0.0260 ± 0.0048 | |
| market_home_prob | +0.0253 ± 0.0042 | |
| roll_margin_diff | +0.0023 ± 0.0018 | |
| elo_diff | +0.0021 ± 0.0016 | |
| away_roll_total_vs_line | +0.0020 ± 0.0018 | |
| home_roll_total_vs_line | +0.0019 ± 0.0014 | |
| total_line | +0.0019 ± 0.0018 | |
| travel_miles | +0.0013 ± 0.0021 | |
| elo_home_prob | +0.0007 ± 0.0008 | |
| home_rest | +0.0004 ± 0.0003 |
| spread_line | 0.309 | |
| market_home_prob | 0.286 | |
| roll_margin_diff | 0.063 | |
| elo_diff | 0.104 | |
| away_roll_total_vs_line | 0.062 | |
| home_roll_total_vs_line | 0.047 | |
| total_line | 0.062 | |
| travel_miles | 0.061 | |
| elo_home_prob | 0.046 | |
| home_rest | 0.005 |
Fit 2002–2023 with production recency weighting, measured on a held-out 2024–25 window the model never saw. Regenerated offline by NFL/model/v2/feature_importance.py; beeswarm plots showing each feature's direction of association live in NFL/model/v2/artifacts/importance/.
Can Tre Beat Vegas · whosyurgoat.app/vegas
This email online: 2026-09-14 models · Previous: 2026-09-07 · All Models check emails