How Bandwagon's odds are made
The model, the backtest and the record. Today's lines.
About this page
Bandwagon's lines come from its own Elo-style team ratings over the results it collects. This page is the method, the constants per sport, the out-of-sample backtest per league (Brier score, log loss, calibration, straight-up record, spread and total error) and the version history.
Bandwagon's model, not a sportsbook line. We do not take wagers. How the model works · Axle 2.0 · Betting guide
What Axle is
Bandwagon Axle 2.0 is Bandwagon's model: the Elo-style team ratings below, a win chance for every game from them, and the spread, total and moneyline that follow. "Axle" is its name and 2.0 is its method: the number changes only when the method does, never for a nightly refit of the same method, and the version history at the bottom of this page says what each number changed. Every line carries the version that made it. Prediction markets and the crowd are shown beside Axle's chances to compare with them; they are never inputs. Its live record, graded on the line stored before kickoff, is on the Axle record page.
What the numbers are
Every line on this site is produced by Bandwagon's own model from data the site collects: final scores scraped from public league pages (with the source page and fetch time on every row), the catalog of teams, and roster status. No sportsbook feed, no odds API, no lines copied from anywhere. The model is deliberately simple enough to explain on one page, and it is recomputed from scratch every night so the same results always give the same numbers.
Ratings
Each team has an Elo-style rating per league, mean 1500. Before a game, the home side gets the sport's home-advantage constant added (nothing on a neutral site), and the expected result follows the classic curve: a 400-point edge is a ten-to-one expectation. After the game both ratings move by the same amount in opposite directions: K × margin multiplier × (actual − expected). The margin multiplier is log(|margin| / scale + 1), so a blowout counts more than a close win but each extra point counts less than the one before, divided by a term that grows with the winner's pre-game edge, so a favorite running up the score moves less than an upset by the same margin. Between seasons a team keeps only part of its distance from the mean (two thirds in the NFL, three quarters in the NBA, …); a team seen for the first time starts at the mean, a promoted Premier League side a hundred points below it. Rest and travel are a placeholder in this version: present in the code, always zero.
From ratings to odds
- Win probability: a logistic curve on the rating gap plus home advantage, fitted per sport on past results (its scale and a residual intercept), so the curve is checked against what actually happened rather than trusted. Where a draw can happen (soccer) an ordered logistic adds a draw band around even, and the page shows all three.
- Spread: the rating gap (with home advantage) times a points-per-rating-point constant fitted by least squares on past margins, rounded to the half point, shown as the home side's line.
- Total: the average of what each side has scored and what the other has allowed over its recent games, shrunk toward the league's average total by how many games that rests on.
- Moneyline: the probabilities written the American way with no vig, so the two (or three) sides add up to 100%.
Backtest and record
Every night the model replays every final in the results history in order, oldest first, predicting each game with only the ratings and the fit that existed before it. The first season in the history is a burn-in that is never scored; every later season is scored out of sample with the constants fitted on the seasons before it. The numbers below are those predictions measured against what happened: the Brier score and log loss of the home-win probability (0.25 and 0.693 are a coin flip), how often the favored side won, the mean error of the spread and the total, and a calibration table: when the model said 60–70%, how often did the home side win.
National Football League
- Games scored976 2023, 2024, 2025, 2026
- Straight-up64%
- Brier score0.2236 0.25 is a coin flip
- Log loss0.6403 0.693 is a coin flip
- Spread error10.221 mean absolute, points
- Total error10.664 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 48 rating points, carryover 0.67 · fitted on 1260 games: scale 0.00557, shift -0.059, 0.0403 points per rating point, baseline total 45.1
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 2 | 8% | 0% |
| 10–20% | 17 | 16% | 29% |
| 20–30% | 64 | 25% | 36% |
| 30–40% | 102 | 36% | 32% |
| 40–50% | 184 | 45% | 43% |
| 50–60% | 185 | 55% | 52% |
| 60–70% | 177 | 65% | 60% |
| 70–80% | 164 | 75% | 76% |
| 80–90% | 73 | 84% | 78% |
| 90–100% | 8 | 91% | 88% |
NCAA Division I FBS football
- Games scored2909 2023, 2024, 2025, 2026
- Straight-up70%
- Brier score0.1935 0.25 is a coin flip
- Log loss0.5684 0.693 is a coin flip
- Spread error13.457 mean absolute, points
- Total error13.063 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 25, home advantage 55 rating points, carryover 0.70 · fitted on 3692 games: scale 0.00713, shift -0.001, 0.0699 points per rating point, baseline total 53.3
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 47 | 7% | 15% |
| 10–20% | 159 | 15% | 19% |
| 20–30% | 248 | 25% | 30% |
| 30–40% | 269 | 35% | 37% |
| 40–50% | 355 | 45% | 50% |
| 50–60% | 365 | 55% | 55% |
| 60–70% | 394 | 65% | 65% |
| 70–80% | 437 | 75% | 75% |
| 80–90% | 394 | 85% | 83% |
| 90–100% | 241 | 94% | 94% |
National Basketball Association
- Games scored4069 2023, 2024, 2025, 2026
- Straight-up67%
- Brier score0.2101 0.25 is a coin flip
- Log loss0.6069 0.693 is a coin flip
- Spread error11.263 mean absolute, points
- Total error15.214 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 100 rating points, carryover 0.75 · fitted on 5389 games: scale 0.00473, shift -0.219, 0.0332 points per rating point, baseline total 228.2
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 13 | 8% | 8% |
| 10–20% | 130 | 17% | 12% |
| 20–30% | 300 | 26% | 23% |
| 30–40% | 455 | 35% | 36% |
| 40–50% | 582 | 45% | 43% |
| 50–60% | 782 | 55% | 55% |
| 60–70% | 696 | 65% | 61% |
| 70–80% | 636 | 75% | 74% |
| 80–90% | 398 | 84% | 84% |
| 90–100% | 77 | 92% | 92% |
NCAA Division I men's basketball
- Games scored17026 2023, 2024, 2025, 2026
- Straight-up72%
- Brier score0.186 0.25 is a coin flip
- Log loss0.5496 0.693 is a coin flip
- Spread error9.723 mean absolute, points
- Total error13.897 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 28, home advantage 110 rating points, carryover 0.55 · fitted on 22584 games: scale 0.00782, shift -0.200, 0.0508 points per rating point, baseline total 145.4
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 110 | 7% | 6% |
| 10–20% | 481 | 16% | 16% |
| 20–30% | 824 | 25% | 26% |
| 30–40% | 1265 | 35% | 37% |
| 40–50% | 1721 | 45% | 45% |
| 50–60% | 2222 | 55% | 57% |
| 60–70% | 2713 | 65% | 65% |
| 70–80% | 3059 | 75% | 75% |
| 80–90% | 2944 | 85% | 84% |
| 90–100% | 1687 | 94% | 94% |
NCAA Division I women's basketball
- Games scored16226 2023, 2024, 2025, 2026
- Straight-up76%
- Brier score0.1624 0.25 is a coin flip
- Log loss0.4874 0.693 is a coin flip
- Spread error10.888 mean absolute, points
- Total error13.595 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 28, home advantage 95 rating points, carryover 0.60 · fitted on 21536 games: scale 0.00937, shift -0.382, 0.0644 points per rating point, baseline total 130.4
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 848 | 6% | 5% |
| 10–20% | 1023 | 15% | 16% |
| 20–30% | 1105 | 25% | 28% |
| 30–40% | 1211 | 35% | 37% |
| 40–50% | 1406 | 45% | 45% |
| 50–60% | 1548 | 55% | 56% |
| 60–70% | 1794 | 65% | 63% |
| 70–80% | 1983 | 75% | 74% |
| 80–90% | 2393 | 85% | 85% |
| 90–100% | 2915 | 95% | 95% |
Women's National Basketball Association
- Games scored1189 2023, 2024, 2025, 2026
- Straight-up68%
- Brier score0.2087 0.25 is a coin flip
- Log loss0.6063 0.693 is a coin flip
- Spread error10.003 mean absolute, points
- Total error14.046 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 22, home advantage 70 rating points, carryover 0.65 · fitted on 1429 games: scale 0.00580, shift -0.204, 0.0372 points per rating point, baseline total 166.3
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 9 | 9% | 11% |
| 10–20% | 64 | 16% | 25% |
| 20–30% | 127 | 25% | 25% |
| 30–40% | 154 | 35% | 38% |
| 40–50% | 169 | 45% | 46% |
| 50–60% | 171 | 55% | 62% |
| 60–70% | 190 | 65% | 63% |
| 70–80% | 157 | 75% | 74% |
| 80–90% | 130 | 84% | 85% |
| 90–100% | 18 | 92% | 83% |
National Hockey League
- Games scored4356 2023, 2024, 2025, 2026
- Straight-up57%
- Brier score0.2416 0.25 is a coin flip
- Log loss0.676 0.693 is a coin flip
- Spread error2.138 mean absolute, points
- Total error1.864 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 6, home advantage 33 rating points, carryover 0.70 · fitted on 5674 games: scale 0.00571, shift -0.049, 0.0080 points per rating point, baseline total 6.2
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 10–20% | 27 | 18% | 22% |
| 20–30% | 159 | 26% | 36% |
| 30–40% | 472 | 36% | 44% |
| 40–50% | 1129 | 46% | 50% |
| 50–60% | 1388 | 55% | 53% |
| 60–70% | 880 | 64% | 64% |
| 70–80% | 248 | 74% | 70% |
| 80–90% | 53 | 82% | 85% |
Major League Baseball
- Games scored9883 2023, 2024, 2025, 2026
- Straight-up56%
- Brier score0.2443 0.25 is a coin flip
- Log loss0.6817 0.693 is a coin flip
- Spread error3.461 mean absolute, points
- Total error3.573 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 4, home advantage 24 rating points, carryover 0.60 · fitted on 12349 games: scale 0.00502, shift -0.001, 0.0112 points per rating point, baseline total 8.9
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 20–30% | 38 | 28% | 34% |
| 30–40% | 536 | 37% | 37% |
| 40–50% | 2896 | 46% | 47% |
| 50–60% | 4654 | 55% | 54% |
| 60–70% | 1567 | 64% | 62% |
| 70–80% | 192 | 73% | 71% |
Premier League
- Games scored812 2023, 2024, 2025, 2026
- Straight-up48%
- Brier score0.2358 0.25 is a coin flip
- Log loss0.6652 0.693 is a coin flip
- Spread error1.319 mean absolute, points
- Total error1.315 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 60 rating points, carryover 0.80 · fitted on 1052 games: scale 0.00542, shift 0.025, draw width 0.577, 0.0054 points per rating point, baseline total 2.9
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 5 | 8% | 0% |
| 10–20% | 43 | 16% | 26% |
| 20–30% | 87 | 25% | 24% |
| 30–40% | 149 | 36% | 38% |
| 40–50% | 181 | 45% | 42% |
| 50–60% | 151 | 55% | 49% |
| 60–70% | 95 | 65% | 52% |
| 70–80% | 72 | 75% | 61% |
| 80–90% | 27 | 85% | 78% |
| 90–100% | 2 | 92% | 50% |
La Liga
- Games scored773 2023, 2024, 2025, 2026
- Straight-up52%
- Brier score0.2134 0.25 is a coin flip
- Log loss0.6167 0.693 is a coin flip
- Spread error1.133 mean absolute, points
- Total error1.319 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 60 rating points, carryover 0.80 · fitted on 980 games: scale 0.00692, shift -0.003, draw width 0.601, 0.0060 points per rating point, baseline total 2.7
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 7 | 9% | 57% |
| 10–20% | 70 | 15% | 16% |
| 20–30% | 93 | 25% | 32% |
| 30–40% | 149 | 36% | 32% |
| 40–50% | 197 | 45% | 45% |
| 50–60% | 112 | 55% | 52% |
| 60–70% | 66 | 65% | 71% |
| 70–80% | 52 | 75% | 83% |
| 80–90% | 26 | 83% | 96% |
| 90–100% | 1 | 90% | 100% |
Bundesliga
- Games scored620 2023, 2024, 2025, 2026
- Straight-up50%
- Brier score0.2153 0.25 is a coin flip
- Log loss0.6195 0.693 is a coin flip
- Spread error1.43 mean absolute, points
- Total error1.44 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 60 rating points, carryover 0.80 · fitted on 830 games: scale 0.00610, shift 0.000, draw width 0.601, 0.0069 points per rating point, baseline total 3.2
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 5 | 9% | 0% |
| 10–20% | 50 | 16% | 14% |
| 20–30% | 95 | 25% | 26% |
| 30–40% | 110 | 35% | 39% |
| 40–50% | 139 | 45% | 38% |
| 50–60% | 96 | 55% | 56% |
| 60–70% | 68 | 65% | 78% |
| 70–80% | 42 | 74% | 67% |
| 80–90% | 15 | 84% | 73% |
Serie A
- Games scored950 2023, 2024, 2025, 2026
- Straight-up52%
- Brier score0.215 0.25 is a coin flip
- Log loss0.6191 0.693 is a coin flip
- Spread error1.178 mean absolute, points
- Total error1.261 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 60 rating points, carryover 0.80 · fitted on 1132 games: scale 0.00637, shift -0.122, draw width 0.606, 0.0051 points per rating point, baseline total 2.6
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 12 | 8% | 0% |
| 10–20% | 81 | 16% | 22% |
| 20–30% | 140 | 25% | 21% |
| 30–40% | 162 | 35% | 32% |
| 40–50% | 207 | 45% | 42% |
| 50–60% | 165 | 55% | 56% |
| 60–70% | 109 | 65% | 64% |
| 70–80% | 61 | 74% | 67% |
| 80–90% | 13 | 84% | 85% |
Ligue 1
- Games scored659 2023, 2024, 2025, 2026
- Straight-up51%
- Brier score0.2358 0.25 is a coin flip
- Log loss0.6641 0.693 is a coin flip
- Spread error1.32 mean absolute, points
- Total error1.369 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 20, home advantage 60 rating points, carryover 0.80 · fitted on 869 games: scale 0.00596, shift -0.025, draw width 0.540, 0.0052 points per rating point, baseline total 2.9
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 0–10% | 9 | 8% | 0% |
| 10–20% | 39 | 15% | 26% |
| 20–30% | 109 | 25% | 34% |
| 30–40% | 141 | 35% | 41% |
| 40–50% | 116 | 45% | 49% |
| 50–60% | 117 | 55% | 48% |
| 60–70% | 75 | 64% | 65% |
| 70–80% | 40 | 75% | 65% |
| 80–90% | 11 | 83% | 73% |
| 90–100% | 2 | 95% | 100% |
Major League Soccer
- Games scored2078 2023, 2024, 2025, 2026
- Straight-up47%
- Brier score0.2395 0.25 is a coin flip
- Log loss0.6717 0.693 is a coin flip
- Spread error1.301 mean absolute, points
- Total error1.39 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 18, home advantage 80 rating points, carryover 0.70 · fitted on 2567 games: scale 0.00460, shift 0.050, draw width 0.566, 0.0052 points per rating point, baseline total 3.0
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 10–20% | 2 | 19% | 0% |
| 20–30% | 40 | 27% | 23% |
| 30–40% | 307 | 36% | 29% |
| 40–50% | 872 | 45% | 44% |
| 50–60% | 708 | 54% | 55% |
| 60–70% | 139 | 63% | 57% |
| 70–80% | 10 | 72% | 70% |
National Women's Soccer League
- Games scored755 2023, 2024, 2025, 2026
- Straight-up50%
- Brier score0.2422 0.25 is a coin flip
- Log loss0.6783 0.693 is a coin flip
- Spread error1.273 mean absolute, points
- Total error1.325 mean absolute
Replayed 2022, 2023, 2024, 2025, 2026 · Axle 2.0 · run 2026-11-04 10:03 UTC · K 18, home advantage 70 rating points, carryover 0.60 · fitted on 892 games: scale 0.00624, shift -0.250, draw width 0.479, 0.0049 points per rating point, baseline total 2.7
| Home win probability | Games | Predicted | Home actually won |
|---|---|---|---|
| 10–20% | 11 | 16% | 27% |
| 20–30% | 96 | 26% | 36% |
| 30–40% | 236 | 36% | 35% |
| 40–50% | 253 | 44% | 51% |
| 50–60% | 116 | 55% | 51% |
| 60–70% | 32 | 64% | 59% |
| 70–80% | 11 | 74% | 73% |
What the model does not know
Anything beyond the public injury lists (no depth charts, no starters, no game-time decisions inside a day), coaching changes, motivation at the end of a season, lineups in sports where one player is most of the team, and anything a sportsbook prices by hand. It also knows nothing about the betting market or the crowd: neither is an input, by decision. The record above is the honest size of those gaps.
Which signals exist for which league:
- Rest, back-to-back, form, travel and time zones: every league (travel needs a stored venue: not at neutral sites).
- Injuries: National Football League, National Basketball Association, Women's National Basketball Association, National Hockey League, Major League Baseball; NCAA Division I FBS football for a few teams. The other leagues have no public injury list.
- Weather: open-air leagues only (National Football League, NCAA Division I FBS football, Major League Baseball, Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Major League Soccer, National Women's Soccer League), at venues without a roof.
A league's line uses them only where a calibration layer beat rating-only out of sample, in tiers (internal inputs first, then external ones on top); each line's "How this line is made" block says which tier it is and which inputs it had.
Version history
- Axle 1.0 (October 28, 2026): First version. Elo-style ratings with a margin-of-victory multiplier and season carryover; win probability from a logistic curve fitted per sport on the rating gap; spread from the gap times a fitted points-per-rating-point; total from both sides' recent scoring shrunk toward the league average. Rest and travel are a placeholder at zero.
- Axle 1.1 (October 28, 2026): Nine more leagues: NCAA Division I men's and women's basketball, the WNBA, MLS, the NWSL, La Liga, the Bundesliga, Serie A and Ligue 1. The four European leagues use the Premier League's draw-aware constants; college basketball, the WNBA, MLS and the NWSL have their own. No constant of an existing league changed.
- Axle 2.0 (October 29, 2026): Internal and external inputs (ADR-0005). The rating model is unchanged and stays the base. A per-league logistic calibration layer is fitted walk-forward by season with regularization toward the rating-only fit and evaluated in tiers on the same held-out games: rating-only, internal (core weights refitted, rest, back-to-back and recent form, all from Bandwagon's own results) and blend (internal plus injuries, travel and time zones, weather). A league serves the highest tier that beats the tier below it by the ship rule, a change needs the same result on three consecutive nightly runs, and every stored line says which tier made it and which inputs were available for the game.
Data: results from public league scoreboards on a timer, with the source page recorded on each row; no official or real-time claim. The method is in docs/ODDS.md in the repository, and the same numbers are in the data API.