Original research · Bankroll Guardian
A 65%-accurate NBA model still lost money: a full-season market-efficiency test
Published · Methodology and limitations below · No picks, no affiliate links
Key findings
- A walk-forward Elo rating model predicted the winner of 65% of 1,200+ NBA regular-season games — far better than a coin flip, and competitive with the market's own accuracy.
- Betting every model pick at historical closing prices from a simulated $1,000 bankroll lost roughly a third of the bankroll over the season, despite winning about two-thirds of the bets.
- Restricting to the model's “value” picks — games where it most disagreed with the market — performed worse, losing more than half the bankroll: the model's biggest disagreements were its biggest errors.
- Conclusion: winner accuracy is not an edge; price is. A model must beat the closing line's implied probabilities, not the coin flip, and near-market accuracy plus vig guarantees losses.
Every bettor’s dream is a model that beats the sportsbooks. We built a credible one and gave it the most honest test we could construct: a full NBA regular season, predictions locked in walk-forward with no hindsight, and a simulated bankroll betting its picks at real historical closing prices. This page is the structured record of that experiment; the narrative version is in the original write-up.
Methodology
Model. An Elo-style team rating system: every team rated from game results, producing a win probability for each matchup. Walk-forward: each prediction used only games already played at that point in the season — no future information, no retro-fitting.
Sample. 1,200+ NBA regular-season games (a full season). Betting simulation: a $1,000 starting bankroll placing flat-stake moneyline bets at historical closing odds. Two strategies tested: (1) bet the model’s pick in every game; (2) bet only “value” spots where the model’s probability diverged most from the closing line’s implied probability.
The result, in one table
| Strategy | Winner accuracy | Season outcome (simulated $1,000) |
|---|---|---|
| Bet every model pick | ~65% | Lost ≈ one-third of bankroll |
| Bet only “value” disagreements | (subset) | Lost > half of bankroll |
Why winning two-thirds of bets lost money
Because favorites are priced like favorites. A 65% win rate concentrated in short prices means routinely risking $200 to win $100 — and at those odds, 65% isn’t enough to clear the break-even rate plus the book’s margin. Win rate without price context is one of the most reliable illusions in betting.
That claim has an exact threshold, and it is worth stating precisely rather than as an intuition. A win rate of p breaks even at American odds of −p ÷ (1 − p) × 100. At p = 0.65 that is −185.7. Every price longer than that loses money at 65% accuracy, no matter how good the model feels — and NBA moneyline favorites routinely sit between −200 and −400.
The break-even threshold, priced out
Expected value per $100 staked, holding win rate fixed at 65% and varying only the price. Nothing about the model changes across these rows — only what the market charges for its picks.
| Price | Break-even rate | EV per $100 at 65% | Result |
|---|---|---|---|
| −110 | 52.4% | +$24.09 | profitable |
| −150 | 60.0% | +$8.33 | profitable |
| −170 | 63.0% | +$3.24 | profitable |
| −186 | 65.0% | −$0.05 | loses |
| −200 | 66.7% | −$2.50 | loses |
| −250 | 71.4% | −$9.00 | loses |
| −300 | 75.0% | −$13.33 | loses |
| −400 | 80.0% | −$18.75 | loses |
This is the whole result in one table. A 65%-accurate model is genuinely profitable — on prices of −170 or better. The market simply does not offer those prices on the games a 65% model likes, because it has already identified the same favorites and priced them accordingly. The model was not wrong. It was correctly priced, which for a bettor is the same as being wrong.
Why the “value” picks lost fastest
The second row of the results table is the more useful finding, and it is counter-intuitive enough to be worth walking through slowly.
Selecting the games where a model most disagrees with the closing line feels like selecting for value. It is only selecting for value if the model is better than the market. If the model is merely about as accurate as the market — which this one was — then the disagreement between them is mostly noise, and noise is symmetric: half of it is the market being off, half is the model being off.
But the two halves are not equally available. The market’s errors get corrected by other bettors before the close; the model’s errors do not get corrected at all. So filtering for maximum disagreement filters disproportionately for the model’s own worst estimates. That is adverse selection, and it is why the “value” subset lost faster than betting every pick: the filter was working exactly as designed, on the wrong signal.
The practical rule this yields: disagreement with the closing line is only evidence of value if you have independently established that you beat the closing line. Without that, a divergence filter is a mistake-amplifier. And the way to establish it is to measure closing line value on real bets over a real sample — which is a measurement problem, not a modelling one.
What we take from it
The uncomfortable conclusion is that the effort most bettors spend on prediction is spent in the most competitive part of the market. Thousands of people are trying to out-forecast NBA games; the closing line is the aggregate of all of them plus everyone with money at stake. Arriving with a good model means arriving with approximately the same opinion as the price.
What is left is not nothing — it is just somewhere else. The realistic edges are the ones that do not require out-predicting anyone: taking the best available number rather than the first one, paying less margin, measuring whether the prices you took beat the close, and sizing so that variance does not end the experiment early. Those are unglamorous and they are also the only part of this study that produced a positive result.
Limitations
One season, one league, one model family (Elo-class ratings), flat staking, and simulated execution at closing prices (no line shopping, no early numbers). A materially better model, or execution at better-than-closing prices, could change the outcome — indeed, that gap is the finding: the realistic edge lives in the price you get, not the picks you make.
Common questions
- Can a 65% accurate betting model lose money?
- Yes — ours did. Accuracy ignores price. A model that mostly picks favorites can call 65% of winners while every win pays less than even money, so the vig plus the short prices consume the entire edge. Our 65%-accurate NBA model lost about a third of a simulated bankroll over a season of closing-line bets.
- Why did the model's “value” picks perform worst?
- Adverse selection. The model was only about as accurate as the market, so the games where it disagreed most with the closing line were disproportionately the games where the model was wrong, not the market. Betting those spots concentrated its errors — the simulated bankroll fell by more than half.
- What actually works if models can't beat the closing line?
- Edges that don't require out-predicting the market: shopping every line and taking the best available price, measuring Closing Line Value to verify you're buying under market value, and disciplined staking. These are measurement edges, not prediction edges — and they persist.
Related: why a 60% win rate can still lose money · what Closing Line Value is · free CLV calculator
Cite this study
Bankroll Guardian (2026). A 65%-accurate NBA model still lost money: a full-season market-efficiency test. https://www.bankrollguardian.com/research/nba-model-market-test
Free to cite with attribution and a link. Questions about the data or method: support@bankrollguardian.com.
See your own numbers instead
Bankroll Guardian tracks your bets and grades every one against the closing line — the honest measure this research points to. Free to start.