About
About The Hoop Ledger
The Hoop Ledger is an independent project that predicts the final score of NBA games from information available before tip-off, turns each projection into a win probability, and grades every forecast once the game is over. The aim is a forecast that stands on basketball information alone and is honest about how well it works.
Why "ledger"
A ledger keeps every entry, wins and misses alike. Every game since 2022-23 has one forecast, from a model that had not seen it, graded against the final score. Two kinds of entry make up the record:
- Live forecasts, saved by the daily pipeline before tip-off and never revised after.
- Walk-forward forecasts, produced after the fact for every earlier game by retraining the model on prior seasons only. They show how the method holds up across thousands of games, but they were not published in advance.
The full record is on the Performance page and in the archive; how the two are produced is on the Methodology page.
What it predicts
For each game: a projected score for both teams, the projected winner, and the probability that the home team wins. It does not predict player statistics.
How it is built
A Python pipeline collects schedules, box scores and the official injury report, stores them in PostgreSQL, and runs gradient-boosted models built with scikit-learn. This website is a static site generated from a read-only export of that database, so it never connects to the database or runs the model itself. Details are on the Methodology page.
Data and attribution
- Schedules, results and box scores: NBA Stats (stats.nba.com).
- Player availability: the official NBA injury report.
Disclaimer
The Hoop Ledger is a personal, noncommercial project built to share my own basketball research: statistical findings, machine-learning experiments and forecast evaluations. It is free, has no advertising, and sells nothing.
Everything on the site is built from publicly available data. It does not use any private, proprietary or confidential data from any organization.
The project is not affiliated with, endorsed by, sponsored by, or connected to the National Basketball Association, any of its teams, or any other company or organization. It is my own work and does not represent the views of any employer. Team names are used only to identify games; no team logos or player images are used.
Limitations
Forecasts are uncertain. The site is updated by hand, so results can lag. Forecasts are published for research and educational purposes only. See Limitations for specifics.