Pricing every shot, and finding out which shooting skills are real
A box score tells you what went in. It cannot tell you whether the shooter
was good or the shots were easy. That distinction is worth real money. It
is the difference between a cold shooter and a broken shot diet, between
a breakout and a hot streak. This study prices all 218,701 field-goal
attempts of 2023-24 with a logistic xMake model built from location,
distance, angle, and nine action families, with the game clock
deliberately left out. Then it follows the consequences across three NBA
seasons, the G League, and the WNBA.
Terms used in this analysis
xPPS: Expected points per shot - the model's fair price of a shot diet: what an average shooter would score on the same attempts, judged from location and shot type alone, before knowing what went in.
xMake: The model's probability that a given shot goes in, estimated from location and shot type; the per-shot building block behind xPPS and xPTS.
shot-making: Actual minus expected points per 100 shots: conversion above or below what the shot diet itself explains. Positive means making shots the model prices as hard.
eFG%: Effective field-goal percentage: field-goal percentage with made threes counted 1.5x, putting twos and threes on one points scale.
2-for-1: Shooting early with 25-36 seconds left in a period so your team gets two possessions to the opponent's one before the buzzer.
decile calibration: Split shots into ten bins by predicted make probability and compare predicted vs actual rates per bin; the reported number is the worst bin's gap.
empirical Bayes: Estimate the spread of true skill across the league from the data, then pull each individual's noisy estimate toward the league mean in proportion to its noise.
shrinkage weight: The fraction of an observed number that survives empirical-Bayes regression: 1 means fully trusted, 0 means replaced by the league mean.
corner three: A three-pointer from the corner, where the NBA line is about 1.75 ft closer than the arc (22 ft vs 23 ft 9 in) - the geometry discount that makes it the cheapest three.
Shots priced
218,701
Every 2023-24 field-goal attempt, scored by a calibrated xMake model.
What repeats
.91 vs .60
Year-over-year correlation of shot selection versus shot-making.
Projection gain
11.4%
EB rule's edge over naive carry-forward in mean absolute error (10.0% on the second season pair).
Corner threes
25.5% → 12.9%
Share of all threes, NBA versus WNBA. Shot selection follows the rulebook.
The price check
First, prove the prices are right
Nothing downstream matters if the pricing is wrong, so the first figure is
the least glamorous and most important one.
Predicted versus actual make rate by prediction decile. The license for everything else on this page: the model's prices match reality within a point at the worst decile, and the same calibration holds on two later seasons the model never saw (worst out-of-season gap 0.014). An uncalibrated pricer would make every following chart meaningless.
Two skills
Selection and making have different rosters
With every shot priced, player skill splits cleanly in two. Selection
(xPPS) is the value of the shots a player chooses; making is
conversion above what those shots should yield. The two skills have
different rosters, and that is the decomposition's whole point. The
make-above-expected list is Jokić, Curry, Dončić: players who convert
hard shots. The best-diet list is rim-runners like Gafford, whose value
is standing in the right place. Box-score efficiency mixes the two;
this separates them.
How the decomposition works. The model prices every shot from where and how it was taken; a player's points per shot then split into selection (the price of the shots he takes, against the league average) and making (what he scores above that price). Jokić takes slightly cheaper shots than average and makes far more of them than their price says. Gobert takes the most valuable diet of any qualifying player and scores slightly below its price.Every qualifying player placed by shot selection (x) and shot-making (y). The figure that makes the decomposition concrete: the upper region is shot-makers, the right region is diet merchants, and the near-empty upper-right is the superstar corner. Two different skills, two different leaderboards, one chart.
The clock
Heaves are doubly bad. The 2-for-1 is nearly free.
The model's most quotable tactical result comes from what was left out of
it. Because the clock is not a feature, end-of-period effects appear in
the residuals, where they decompose: final-four-second heaves are worse
shots (−17 expected points per 100 by selection) and worse-executed
shots (a further −22 per 100). The 2-for-1 launch window at 25–36
seconds, meanwhile, costs almost nothing (~−0.8 per 100), upgrading the
sibling play-by-play study's eFG-proxy finding with a real per-shot
price.
End-of-period shots measured against normal play in two steps: selection (are the shots cheaper?) and execution (do they go in less often than their price?). In the final four seconds both steps drop. In the 2-for-1 window the selection step is close to zero, which is the near-free part; its shots still convert below their price, by about as much as other late-clock shots.
What repeats
Trust the diet, regress the making
Then comes the question that turns a descriptive model into a projection
tool: which of these skills repeats? Each season is scored with its
own refit model, so level drift cannot masquerade as skill. Shot
selection correlates at r ≈ .91/.87 year over year. Shot-making
correlates at only r ≈ .60/.59. And raw points per shot persists no better than making,
because box-score efficiency inherits all of making's noise.
Shot-making in 2023-24 versus 2024-25, player by player. The study's most consequential scatter: the cloud is wide because making only half-repeats (r ≈ .60), while the equivalent selection plot is a tight diagonal (r ≈ .91). This single contrast dictates the projection rule: trust the diet, regress the making.
The persistence finding then becomes a rule.
An empirical-Bayes projection carries each player's diet forward and
shrinks his making toward the league mean in proportion to its sampling
noise; its two fixed-weight corners are the natural baselines (weight 1 is
naive carry-forward, weight 0 is diet-only). On both held-out season
pairs, the EB rule beats naive carry-forward by 11.4% and 10.0% in mean
absolute error, and beats both corners, meaning the gain comes precisely
from regressing the noisy component and only that component.
From what repeats to the projection rule. Because selection repeats almost fully and making only about half, the rule carries a player's diet forward whole and pulls his making toward the league mean in proportion to its noise. Jokić and Kennard both posted high making numbers; with far more shots behind his, Jokić keeps most of it, while Kennard keeps less than half.Observed shot-making versus its empirical-Bayes posterior, sized by shot volume. The shrinkage rule made visible: high-volume shooters keep their number, small samples are pulled toward the league mean. This picture is why the projection beats carrying raw numbers forward.
The rulebook test
Shot selection follows the rulebook
Finally, the same pipeline refit on the WNBA (with its own play-by-play
gate) shows the deepest structural result: shot selection follows the
rulebook. The WNBA's three-point line is nearly uniform (the corner
discount that defines NBA geometry barely exists), and corner threes are
12.9% of WNBA threes versus 25.5% in the NBA.
Why the corner economy is a rulebook effect. In the NBA the three-point line runs straight along each sideline, closer to the basket than the arc, and corner threes are taken from there. The WNBA line sits at nearly the same distance all the way round, and its corner share of threes is about half the NBA's.NBA and WNBA shot diets side by side. Necessary because it shows shot selection is not a style preference: where the rulebook removes the corner-three geometry discount, the corner-three economy disappears with it. The persistence ordering (selection ≈ .80, making ≈ .66) also replicates in the WNBA: the finding is about basketball, not one league.
What this study cannot claim, it says out loud: the public feed has no
defender positions, so "selection" bundles openness with location. The
team-tracking versions of this model separate those, and this is the
public-data ceiling.
Method, code, and verification
The full technical write-up (data provenance, model specification, validation gates, and stated limitations) is the README. The analysis is implemented independently in R and Python and reconciled to numeric tolerance; run_checks.sh replays every gate.