How an NBA Moneyline Model Reaches 79% — and What That Number Does Not Cover
The features, the play tier and what each confidence band actually hit; the playoff drop; and the price question a hit rate cannot answer.
The short version
Our NBA moneyline model went 156-41 (79.2%) on the plays it badged last season — about three a night over 66 game nights, playoffs included, every one settled against the final score the next morning. It is the best graded number on this site, and it is the easiest one to misread. This page explains where it comes from, shows what each confidence band hit, and is specific about the two things the number leaves out: the price, and the playoffs.
What the model is
Twenty-three team features, rolling ten games
Almost everything the model sees is a team-level statistic over each side's last ten games: net rating for each team and the difference between them; offensive and defensive rating and their differences; pace; the differences in rebounding, turnovers and effective field-goal percentage; last-ten win percentage; and how volatile each team's scoring has been. The rest is about tonight: the rest-day difference, whether either side is on the second night of a back-to-back (and whether both are), and the altitude of the venue, with a flag for Denver and Salt Lake City. There is no player data, no injury feed and no market price in the inputs.
A shallow forest, on purpose
The classifier is a Random Forest of 100 trees, each limited to three levels with at least 50 games in every leaf, trained on three seasons of games and retrained once a season after 50 games have been played. That is a small model for a reason. A few thousand games is not much data, and a deep model on it learns which teams were hot in a given month. The shallow one learns the durable relationships — net rating difference, rest, home court — and its probabilities have meant something when graded.
The play tier
The model gives every game a win probability for its pick. A play is any pick at 60% or higher; below that the game is listed with its number and no badge. That threshold is the grader's threshold, so the record on this page is exactly the record of what was badged — not a curated subset chosen afterwards.
What each band hit
Every play from March 12, 2026 to June 13, 2026, split by the model's stated probability at the time it was published. If the model were merely picking favourites the bands would be flat; they are not.
| Model probability | Record | Hit rate |
|---|---|---|
| 60–65% | 55-22 | 71.4% |
| 65–70% | 68-14 | 82.9% |
| 70–75% | 23-4 | 85.2% |
| 75–80% | 10-1 | 90.9% |
| All plays (60%+) | 156-41 | 79.2% |
Source: every settled pick from the archived files, replayed through the grader. The total is the tracker on the NBA performance page. The 70%+ rows are 38 plays together; read them as a direction, not a decimal.
The bands rise with the model's confidence, which is the property that matters: a 65-70% pick hit more often than a 60-65% pick, and the 70%+ picks hit more often still. Whatever the model is doing, its probability carries information about the outcome. The 156 wins came by a median of 15 points; 15 of the 41 losses were by five or fewer.
| Split | Record | Hit rate |
|---|---|---|
| Regular season (to April 12) | 123-25 | 83.1% |
| Play-in and playoffs | 33-16 | 67.3% |
| Picked the home team | 111-33 | 77.1% |
| Picked the away team | 45-8 | 84.9% |
What the 79% does not cover
The price
A hit rate is not a return. A moneyline pick at -300 needs to win 75% of the time to break even; at -200, 66.7%; at -150, 60%. Most of these plays were favourites, and some were heavy favourites, because a model built on net rating will like the better team most nights. We did not archive the closing price on these picks, so we cannot tell you what a bettor who followed every play would have made, and we will not guess. Logging the price beside every pick is the first item on our list; when it exists the record will show win rate by price band, which is the only version of this table that answers the money question. Until then our own rule, the one the daily email applies to every pick, is simple: past -250 is not a play, whatever the model says.
The playoffs
The window runs from mid-March, which is late regular season. That is the part of the schedule where favourites are most reliable — the standings are set, some teams are resting starters and others have stopped trying — and the model's regular-season plays hit 83.1%. In the play-in and playoffs the same model hit 67.3% on 49 plays. That is still a strong number, but it is a different number, and it is the one that applies when the matchups are even and everyone is trying.
Injuries and lineups
None of the 23 features knows who is playing. A ten-game net rating includes the games a star missed and the games he did not, weighted by nothing. When a starter is ruled out at 6 pm the model's number from that morning is wrong and it does not know it. We do not pull NBA game odds, so the board shows no line next to the pick either — the price and the late injury news are both yours to check at your book, and a line that has moved hard against the model since the morning is telling you something the model cannot.
Home court is in the features, and it shows
144 of 197 plays were on the home side. Home teams won 59.1% of all games in the window, so a model that leans home is leaning with the league. The interesting number is the other one: the 53 road picks hit 84.9%. A road team the model puts at 60%+ against the home-court prior is the model's strongest kind of statement, and last season it was right about it.
How to read a moneyline pick on the board
Take the probability seriously and the badge lightly. The bands say a 68% pick and a 62% pick are different bets, so the number matters more than whether both carry the same “Play” label. Then do the two things the model cannot: check the price against the band (a 65% pick at -240 is not a bet; the same pick at -140 is), and check the injury report before tip-off. When the number, the price and the lineup agree, that is the play. There are usually one or two a night.
The graded record, every market
Moneyline, spread, totals and every prop market, with the play rule that produced each row. Rebuilt from the archived pick files so every number is reproducible. First board of the 2026-27 season: opening night, October 20.
Frequently asked questions
How accurate is your NBA moneyline model?
156-41 (79.2%) over 197 plays at the 60%+ tier, graded March 12 to June 13, 2026, playoffs included. By confidence band: 60-65% hit 71.4%, 65-70% hit 82.9%, 70-75% hit 85.2%, 75-80% hit 90.9%. Regular-season plays hit 83.1%; play-in and playoff plays 67.3%.
What features does the model use?
Twenty-three, all from rolling ten-game team stats: net rating for each side and the difference, offensive and defensive ratings and their differences, pace, rebounding, turnover and effective field-goal differences, rest-day difference, back-to-back flags for either side, last-ten win percentage, points volatility, and venue altitude. No player or injury data.
Is a 79% moneyline hit rate profitable?
Not by itself. A hit rate has no meaning without the price: a -300 favourite has to win 75% of the time just to break even, and most of these picks were favourites. We did not archive the closing price on these picks, so we do not claim a return, and we will not until the odds are logged alongside every pick.
Why does the model prefer home teams?
144 of the 197 plays were home teams, because home court is in the net-rating features and the league's home side won 59.1% of games in the window. The away picks, though fewer, hit 84.9% — when the model backs a road team against the home-court prior it has usually found something.
What kind of model is it?
A Random Forest of 100 trees, each only three levels deep with at least 50 games in every leaf, trained on three seasons of games and retrained once a season after 50 games. Deliberately shallow: a deep model on a few thousand games learns which teams were hot in a given month, and the shallow one keeps the durable relationships.
The week ahead, once a week
Last week's graded record — wins and losses — the plays for the week ahead, and a subscriber discount code. One email, no daily noise, unsubscribe in a click.