NBA · Research
RefEdge — Referee Tendencies
How each NBA referee's games tend to play out — average total scoring, team fouls called, home win rate. Plus today's crew assignment for every scheduled game (refs typically lock several hours before tipoff).
How this works
Source data is ESPN's per-game summary endpoint — the same one used to build NBA player game logs. Each finished NBA game's three officials are extracted, then aggregated across the season. Finished games are cached so they're fetched at most once; today's scheduled games are re-fetched each pipeline cycle in case ESPN posts the crew between checks.
- Avg total — mean of home+away final scores across all games this ref worked. League avg shown in the header for context.
- vs Lg Avg — ref-specific average minus league pool average. Color cues: amber when ≥ +6, teal when ≤ −6, muted in the middle (no signal yet).
- Team fouls — average personal fouls called per team per game. Pulled from
boxscore.players[i].statistics[0]by summing the PF column across all athletes who played. - Home WR — share of this ref's games where the home team won.
- Sample pill — High (10+ games), Medium (5–9), Low (1–4), Insufficient (0). Early-season banner fires when no ref hits High.
Refreshes with each daily NBA pipeline run. Source feed: public/nba/referees.json, built by scripts/basketball/referees.py --league nba. Game cache at public/nba/referee_game_cache.json ensures finished games are fetched at most once.