SGA probably scored 30 points tonight. And you probably already knew that.
The Outlier finds the most statistically UNUSUAL individual and team performances in every NBA game.
Every performance gets a single number: the OutScore. The higher the OutScore, the more unusual the performance was relative to both the player's own history and the league as a whole.
The OutScore Formula
Each stat in each game generates two z-scores, which are averaged equally, then multiplied by a normalization weight:
This blend rewards performances that are unusual both for the individual and for the league. The normalization weights ensure every stat competes on equal footing — a historic blocks game, a 60-point night, and an elite efficiency performance all have a fair shot at the top.
Personal z-score vs. their own season averages. League z-score vs. all players league-wide for that stat.
Team z-score vs. the team's own season averages. League z-score vs. all teams league-wide for that stat.
How It Works
Update Frequency
- The Outlier has LIVE play-by-play feeds and boxscores for every game.
- A game's outlier rankings & final boxscore will be available to view within 10 minutes of it finishing.
- Season averages for every player and team update every morning.
- OutScores always reflects how unusual their performance was relative to their current season average, not a stale one.
- Outlier rankings are recomputed daily, using the new averages.
Example
A player averages 8 pts (std: 4). The league averages 14 pts (std: 6). Tonight they score 28 pts.
personal_z = (28 − 8) / 4 = +5.0 # (actual - player_avg) / player_std
league_z = (28 − 14) / 6 = +2.33 # (actual - league_avg) / league_std
OutScore = 0.5 × 5.0 + 0.5 × 2.33 = 3.67 × stat_weight
Stats Tracked
The Outlier monitors these stats for every player and team each game:
Blue label = player only · Green label = team only · No label = both
Quality Filters
Not every unusual number is meaningful. Several filters prevent noise from flooding the rankings:
- Minutes gate: Players with under 10 minutes are excluded — garbage time stat padding doesn't count.
- Attempt minimums: Percentage stats (FG%, 3P%, FT%, TS%) require a minimum number of attempts. Going 1-for-1 from three isn't an outlier.
- Minimum baseline average: Stats like PTS and AST require the player to have a meaningful season average before scoring. A player averaging 0.1 assists can't generate a real outlier in assists.
- Minimum raw difference: Each stat has a minimum gap between the actual value and the average. A tiny fluctuation won't register even if the z-score is technically high.
- TS% weight: True Shooting % lives in a tight range (roughly 0.35–0.75 for most players), so its raw z-scores tend to be much smaller than counting stats like points or assists. To keep it competitive in the rankings, its OutScore is multiplied by 2. This isn't a subjective judgment about TS% being "more important" — it's purely a scale correction so the stat isn't systematically buried.
Early Season Fallback
At the start of a season, players and teams haven't played enough games for their averages to be meaningful. If a player or team has fewer than 5 games played in the current season, their averages fall back to the previous season's data. This prevents the first few games of the year from generating unreliable outlier scores.