This project is a full-stack NBA playoff analytics and simulation tool which uncovers team and player playstyles and analyzes which archetypes are most important to a team's postseason success. It combines data collection, cleaning, clustering, deep learning, and monte carlo simulations to provide actionable roster construction strategies for front office management.
Click here to watch the demo video
-
Data Collection & Cleaning
- Fetched team, player, and matchup data from the NBA API.
- Joined and cleaned datasets to create structured inputs for modeling.
-
Player & Team Clustering
- Clustered players into playstyles using K-Means clustering.
- Transformed player clusters into team-level playstyle proportions.
-
Regression Modeling
- Built Random Forest and XGBoost models to forecast the number of playoff wins for a team.
-
Classification Modeling
- Shifted to a classification approach using TabNet neural networks.
- Used temporal sliding cross-validation to predict actual playoff matchups.
- Achieved 88% playoff prediction accuracy (2020–2024).
-
Simulation & Monte Carlo Analysis
- Introduced controlled randomness via Monte Carlo simulations.
- Predicted playoff winners and displayed round-by-round probabilities for each team.
Application Insight:
- Front office management can analyze which playstyles are most impactful for playoff performance.
- Users can simulate any playoff bracket and visualize the effect of different team archetypes.
To run this project (FOR NOW):
-
Navigate to the frontend folder:
cd frontend -
Install dependencies:
npm install -
Start the development server:
npm run dev
To set up the backend environment (you can skip directly to the pip install stuff if you don't want to set up a virtual enviorment):
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python3 -m venv .venv
-
Activate the virtual environment:
source .venv/bin/activate -
Install the required dependencies:
pip install Flask Flask-CORS pandas
-
Run the backend server:
python main.py
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python -m venv .venv
-
Activate the virtual environment:
.venv\Scripts\activate
-
Install the required dependencies:
pip install Flask Flask-CORS pandas
-
Run the backend server:
python main.py