NBA 2014–15 Shot Logs · 33,362 Three-Point Shots

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.

Variable cards start empty. Click Load default model to load the published six-variable model as a starting point, then add or remove shot conditions to see how fit changes — or build one from scratch. Use the simulator at the bottom to test individual scenarios.

You can also open the Bayesian Network Analysis (BETA) directly — no prior model needed. It fits a constrained network on its own, mapping conditional dependencies among the selected shot conditions. It shows which conditions are connected to the make rate in the fitted network and whether those connections are represented as direct or indirect paths. Those paths do not establish causal or temporal direction.

How to Use This Tool

Not sure where to start? Variable cards begin empty — click Load default model to load the published six-variable model, then Run Analysis at the bottom to see how it performs and add or remove variables to explore. Or use Auto-Build to search automatically.

1. Pick an outcome

The outcome is 3-Point Shot Make — whether the shot went in (1 = made, 0 = missed). The case study uses this single outcome; all models predict it.

2. Pick predictors

Use the search box and category buttons to find shot-condition variables across Shot Mechanics, Shot Defense, and Game Context. Cards start empty — Load default model loads the six published-model predictors as a starting point; add or remove any. Run Analysis is capped at 20 predictors; Auto-Build searches the full set and isn't capped.

3. Fit and read

Click Run Analysis to fit the model with whatever variables you've checked. Or use Auto-Build Standard to let the algorithm search all variables automatically, or Auto-Build Actionable Predictors to weight selection toward variables coaches and players can influence (shot distance, defender distance) over fixed game context (period, game margin).

Optional: player

By default, the model is fit on all 33,362 shots from the 2014–15 season. Optionally pick a single player using the Showing dropdown to fit on just their attempts — useful for asking "what predicts this shooter's makes?" Players with fewer than 100 attempts are hidden.

Where to start. Variable cards start empty, so you are never anchored to one model. Three ways to begin: click Load default model to load the published six-variable three-point make-rate model, use Auto-Build to let the tool search the full set of shot conditions, or just check the variables you want.
Which conditions can you act on? BETA The Bayesian Network Analysis is a standalone tool — you don't need to build or Auto-Build a model here first. It resolves the factor set for you, fits a constrained Bayesian network, and ranks each shot condition by its model-implied do()-style projection on the make rate — separating conditions with a direct path to the make rate in the fitted network from those connected only indirectly or not at all. A what-if simulator lets you set a condition and read the projected change. These are conditional projections under the fitted structure, not causal effects; the arrows do not establish direction.
After you run — what to expect

Review results

Results show how well the model predicts shot makes and how much each condition contributes. The Other Conditions in This Data section lists every variable not yet in your model — each card shows whether adding it would likely improve fit.

Use the simulator

Click Launch in the Simulator panel to open an interactive tool. Set any combination of shot conditions — e.g. Defender Distance "Tight" and Shot Clock "Late" — and watch the predicted make probability update instantly.

Iterate and compare

Each run is saved in the Saved Analyses tray. Click Load to restore a run, or Pin two runs to view them side by side. Each card shows Tjur R², AUC, and Brier — higher Tjur R² and AUC, lower Brier means a better-performing model.

If you ran with a synthetic variable, results show three sections:

Full Model

Complete model including all selected predictors and the synthetic variable.

Base Model

Model performance without the synthetic variable.

Synthetic Variable Performance

How well the synthetic met its specifications and its impact on model fit.

What are you trying to predict?

Choose the outcome your model will try to explain.

Required
Loading outcomes…

Shot Conditions to Include in Your Model

Hide variable cards
Loading variables
Outcome:
0 of predictor variables selected
Synthetic-Variable Sensitivity Module — optional vulnerability check using a hypothetical omitted factor

What this checks. Adds a hypothetical omitted factor with a specified relationship to the outcome and a cap on its overlap with the model's predictors, then shows how much the model's fit diagnostics and predicted margins change. The exercise does not show that the factor exists or identify what it represents; it tests how vulnerable the published interpretation would be to a missing factor with those properties.

r =
-0.8 0.8
r =
0 0.8
2 (Binary) 5 (Max)
The model you're about to fit
Predictors (X)
No predictors selected yet. Check variable cards above or click Auto-Build below.
Outcome (Y)

A logistic regression model uses the predictors on the left to estimate the probability of the outcome on the right. This summary updates as you change your selection — and shows exactly what gets submitted when you click Run Analysis. Auto-Build ignores this selection and chooses predictors for you.

Run Analysis

Build a model from exactly the predictors you've selected above. Full analyst control.

Returns: model fit, predictor strengths, calibration, and an interactive simulator.

Auto-Build

Ignores your selection above. Searches the full set of available predictors and chooses a subset under the selected rule. Standard prioritizes held-out predictive fit; Actionable Predictors applies an additional movability classification. That classification is a planning aid, not evidence of causal effect.

Prioritizes predictors classified as more movable — a planning filter, not causal evidence.

Returns: a chosen subset of predictors plus full model fit, strengths, and an interactive simulator.

Bayesian Network Analysis

Runs a Bayesian network on the predictors you've selected above — which are directly vs. indirectly connected to the outcome, and how those connections are represented in the fitted network.

Returns: direct vs. indirect connections, link confidence, and a what-if simulator.

Auto-Building Optimal Model… 0s

Full Model Performance

Complete model including all predictor variables and the synthetic variable