Playoff whistles, style changes, rare combinations, and outliers, all found by code rather than hand-picked
Who loses the whistle in the playoffs?
The cliché says referees “swallow their whistles” in the postseason. For every player with 3+ qualifying-season playoff runs (and 300+ playoff field-goal attempts), we compare shooting-foul free throws per shot in the playoffs with the same seasons’ regular seasons, net of the league-wide change that year.
Metta World Peace saw the steepest playoff drop: shooting-foul free throws per shot fell 37% relative to the league trend over 5 runs. Anfernee Hardaway went the other way (+51%).
Biggest whistle drop after the 2021-22 rule change
Players with 2+ qualifying seasons both before (2018-21) and after (2021-26) the “non-basketball move” crackdown, ranked by change in Whistle Score. A negative change means a cleaner, less whistle-reliant scorer after the rule.
Spencer Dinwiddie shows the largest drop in Whistle Score (-1.20 SD). Among the heaviest pre-rule three-point foul-drawers (top quartile), the steepest decline belonged to Terrence Ross, from 6.52 to 3.27 three-point fouls per 100 attempts. The single heaviest pre-rule drawer, James Harden, actually rose from 7.61 to 7.96. These are descriptive changes; the Rule Change page tests whether they are larger than the drift we’d expect without a rule.
Archetype switchers
Among players with 6+ qualifying seasons: how far did they travel across the map between their first three and last three qualifying seasons, and how often did their season-to-season archetype flip?
Dirk Nowitzki made the longest journey: from Downhill Bully early to Ethical Hooper late in the career, a shift of 3.52 standard deviations.
Ethical despite the volume
High-usage scorers usually draw more fouls, because the ball is in their hands more often. These seasons combine top-10% usage (scoring attempts per 36 minutes, within season) with EHI ≥ 65.
Only 55 player-seasons in thirty years clear both bars.
Statistical outliers
Any qualifying season where a component sits more than 3 SD from its season mean (component z-scores are capped at ±4 in the index). Each was checked for data bugs before being kept.
Show code
ol[, .N, component][, .(Component = COMP_LABELS[component], `Seasons with |z| > 3`= N)][order(-`Seasons with |z| > 3`)] |>small_gt()
An early version of the shrinkage produced |z| > 8 for a handful of seasons. Tracing it showed that tiny samples (e.g. a big man with a couple of three-shot fouls on a handful of three-point attempts) were inflating the estimated spread of true talent. The priors are now fit only on players with reliable samples. The remaining outliers are large-sample seasons, genuine extremes rather than noise.
Very low shot difficulty belongs to lob-and-dunk centers whose attempts are almost all at the rim. That is a real shot diet, not an error.
High three-point foul rates belong to famously effective three-point foul-drawers.
Team effects (exploratory)
Do some franchises make players more or less “ethical”? A regression of EHI on player fixed effects + franchise fixed effects asks how a player’s EHI shifts when on one franchise versus elsewhere in their career. Relocated franchises are merged (e.g. SEA → OKC).
Show code
te_tbl <-function(d) d[, .(Franchise = franchise, `EHI shift vs. own career`= effect, `Player-seasons`= player_seasons)] |>small_gt() |>fmt_number(2, decimals =1, force_sign =TRUE)
The spread is modest. The largest franchise effect (+5.4 EHI points) is smaller than the 9.6-point gap between a median and a top-quartile qualifying season, and coaching, roster construction and officiating aren’t separated. Treat this as a conversation starter, not a finding.