Descriptive only — no edge claimed. These are career per-36 rates, not projections.
NBA players · NBA · as of 2026-04-12
Gary Harris
Descriptive card · conservative measured rates.
seasons played
3
Higher than 64% of 482 in pack
games
148
Higher than 49% of 482 in pack
minutes
2625.4
Higher than 42% of 482 in pack
PTS /36
8.7
Higher than 3% of 482 in pack
REB /36
2.9
Higher than 1% of 482 in pack
AST /36
2.3
Higher than 28% of 482 in pack
FG %
42.7
Higher than 25% of 482 in pack
3P %
37.4
Higher than 74% of 482 in pack
FT %
73.4
Higher than 31% of 482 in pack
Bars show where this card sits within its own pack (482 nba players), by simple rank of the measured value. Higher is only higher -- no quality judgement is implied.
Also measured elsewhere
Joined onto 330 of 482 player cards; the leaderboard badges cover far fewer.
Team win rate with/without this player
MIL: active 0.3125 vs missed 0.5000 (delta -0.1875)
n_active=48, n_missed=32, ci95_offset=[-0.2173, 0.2173]
WITH/WITHOUT = ROSTER CONFOUND: this is NOT a causal player-impact estimate. Why a player missed games is entangled with injuries clustering, rest-game scheduling, blowout pulls, and a different replacement lineup -- none controlled for. DESCRIPTIVE_ONLY, not a predictive or edge claim.
Consistency profile -- least_consistent_top15 #3
composite_cv_shrunk=0.8818
games=125
NOT a skill/value metric -- a low-volume role player can be very consistent at low output; NOT opponent/rest/role/home-away adjusted -- raw game-to-game dispersion only; NOT predictive -- describes past games, does not forecast future variance
Form curve mover -- top_movers_fallers #15
delta=-6.793
n_qual_games=131
NOT a live hot/cold streak or predictive signal (net-change over the whole span); NOT BPM/EPM/RAPM/DARKO (box-composite only, same limits as box_value_index.py); NOT age/opponent/role adjusted (raw box rates only); NOT player_id-deduped (accented names split across ids upstream -- carried through)