Model Builder
Explore what predicted 3-point shot makes in the 2014–15 NBA season. Test whether adding different shot conditions improves the model — or build one from scratch.
All six shot-condition variables are pre-selected. Add or remove them to see how model fit changes. Use the simulator at the bottom to test individual scenarios.
How to Use This Tool
Not sure where to start? All six shot-condition variables are pre-selected. Click Run Analysis to see how the model performs, then add or remove variables to explore.
How to Use This Tool
Not sure where to start? All six shot-condition variables are pre-selected. Click Run Analysis to see how the model performs, then add or remove variables to explore.
1. Select Predictors
Check the shot-condition variables you want to test as predictors. All six are pre-selected by default. You can add or remove any — up to 20 for Run Analysis. Hover the icons for plain-English definitions.
2. Add a Synthetic Variable (Optional)
Check Configure Synthetic Variable to add a hypothetical shot condition — one not measured in the data but theoretically possible. You set how strongly it should correlate with the outcome and how different it should be from existing predictors. After running, the results show whether this imaginary variable would have improved the model, and which real shot-log variables come closest to capturing the same signal.
3. Select Outcome
Choose what you want the model to predict. 3-Point Make is the only outcome — whether the shot went in.
4. Run Analysis or Auto-Build
Run Analysis is the primary analyst tool — it builds a model from exactly the variables you selected. Use it when you want full control over what goes into the model.
Auto-Build Standard searches all available variables automatically and selects those that most improve predictive fit. Useful as a benchmark to see what the data prefers without imposing a prior.
Auto-Build Actionable Predictors applies an additional constraint: it excludes near-proxy variables (questions that are essentially restatements of the outcome) and weights selection toward variables that can realistically be moved by policy or communication. The result is a model suited for strategy — every predictor in it represents an independent lever. Fit will often be lower than Standard; that gap reflects the cost of the constraint, not a modeling error.
Auto-Build does not use a synthetic variable. To add one, run Auto-Build first to identify the best predictor set, then re-run with Run Analysis with the synthetic variable enabled.
5. Review Results
Results show how well the model predicts shot makes and how much each variable contributes. The Other Shot Conditions section below the results lists every variable not yet in your model — each card shows whether adding it would likely improve predictive fit. Click Add to model on any card to include it, then re-run.
6. Use the Simulator
After running, click Launch in the Simulator panel. Set any combination of shot conditions — for example, set Defender Distance to Very Tight and Shot Clock to Hurried — and see the predicted make probability update instantly.
7. Iterate and Compare
Each run is saved automatically in the Saved Analyses tray. Click Load on any saved card to restore that run's variables and settings. Use Compare to view two runs side by side — each card shows three scores: Tjur R² (how well the model separates makes from misses), AUC (overall predictive accuracy), and Brier (calibration error — lower is better). Higher Tjur R² and AUC and lower Brier means a better-performing model.
Understanding Your Results
After running your analysis, results are organized into up to three sections:
Full Model
Complete model including all selected predictors and the synthetic variable (a hypothetical predictor you define yourself), if configured
Base Model
Model performance without the synthetic variable (appears only when one is configured)
Synthetic Variable Performance
How well the synthetic variable met its specifications and its impact on model performance (appears only when one is configured)