Practical overview
When it fits
Use it when you want a locally run NBA data and modeling workflow that turns statistics and odds into game-winner and totals estimates, or when you want to inspect the documented pipeline for adaptation.
Who it is for
- Developers who want to run or adapt an NBA prediction and odds-analysis codebase.
- Analysts working with NBA statistics, sportsbook odds, historical game data and model training.
Documented uses
- Collect NBA statistics, odds and scores into stored datasets.
- Combine matchup statistics, odds, scores and rest-day features for model inputs.
- Train models for moneyline and totals predictions.
- Generate matchup predictions and expected-value estimates, with optional Kelly Criterion sizing.
- Browse prediction outputs through a Flask app.
Requirements & limits
The project is available as a public GitHub repository. The documented interface includes command-line scripts and a Flask app.
- The documented stack requires Python 3.11 and several data-science and machine-learning packages.
- Odds may be fetched from listed sportsbook sources or entered manually.
- The current neural-network training scripts are described as using hard-coded dataset and model paths.
- The project reports estimates and expected value; the documentation does not present them as guaranteed outcomes.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Run a prediction with fetched sportsbook odds
Use the documented command to request XGBoost predictions with automatically fetched FanDuel odds.
Before you start
- Python 3.11
- Dependencies listed in requirements.txt, including TensorFlow, XGBoost, NumPy, Pandas, Colorama, Tqdm, Requests and Scikit-learn
- The repository's project files
Steps
Install the project dependencies with pip3 install -r requirements.txt.
Run python3 main.py -xgb -odds=fanduel.
Expected outcome
The script is configured to print predictions, expected value and matchup results using the XGBoost model and fetched odds.
Guide limitations
- The README documents the command and its intended output; it does not establish successful execution in a particular environment.
- FanDuel is one of the listed supported odds sources; availability of data from an external source is not guaranteed here.
Start the Flask results interface
Launch the documented Flask app for browsing project outputs.
Before you start
- Python 3.11
- Project dependencies installed
- The repository's Flask directory
Steps
Change into the Flask directory.
Run flask --debug run.
Expected outcome
The documented command starts the Flask development server for browsing outputs.
Guide limitations
- The README does not specify deployment configuration beyond this local development command.
- The command documents setup and launch instructions, not a verified deployment.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- kyleskom/NBA-Machine-Learning-Sports-Betting · Official homepage title · retained in its source language

