About & Methodology
HoopSplit publishes fantasy basketball rankings that are computed, not opined. Every number on this site traces back to official league box scores — there is no editorial thumb on the scale.
Data
Player identities, season statistics and game logs come from public sports data APIs covering official NBA box scores. Rosters and statistics are refreshed automatically on a nightly schedule.
Scoring
Points scoring: PTS + 1.2×REB + 1.5×AST + 3×STL + 3×BLK − TO. Players are ranked by fantasy points per game with a minimum of 20 games played.
Tiers and form
Tier breaks are placed in 8%-of-the-leader score bands — a natural-cliff method, not fixed buckets. The form arrow compares a player's last five games against his season average.
Floor, ceiling and consistency
An average hides how a player gets there, so we compute each player's full game-by-game distribution. Floor is his 10th-percentile game, ceiling his 90th-percentile game. Consistency is the share of games where he delivered at least 75% of his own average. Boom rate counts games at 125%+ of average; bust rate counts games under half of it. Two players with the same average can be very different assets — these numbers show the difference.
9-cat and 8-cat rankings
Category leagues value players differently than points formats, so we publish separate 9-cat and 8-cat boards. These are historical season-value ranks — what actually happened last season — clearly labeled with the season, not projections for the upcoming one.
Eligibility. A player needs at least 20 games in the season and 10 games with actual playing time in our game-log data to be ranked. Z-scores are computed against this ranked pool (roughly 400 players), not the whole league.
Counting stats. PTS, REB, AST, STL, BLK, 3PM and TO use per-game averages from played games only (DNPs excluded). Each becomes a z-score: (player − pool mean) / pool standard deviation.
Percentage stats.FG% and FT% are volume-weighted — a 55% shooter on 20 attempts moves your team FG% far more than one on 6 attempts. The formula is impact = (player% − pool average%) × attempts per game, then that impact is z-scored. Free-throw attempts are derived from the scoring identity PTS = 2×FGM + 3PM + FTM and the player's season FT%.
Turnovers. In 9-cat, the turnover z-score is subtracted from the total — high-usage creators pay a real price. In 8-cat it is simply excluded.
Scopes.The default board is per-game value. The "Season value" scope multiplies production by games played before z-scoring, so durable players rank ahead of per-game monsters who missed 30 games.
Projections & draft value
Projected points per gameblends the player's last-season average (65%) with his final-five-game form (35%), computed from played games only. Expected gamestakes last season's availability and regresses it 30% toward a full schedule — injuries don't fully repeat, but durability isn't random either. Projected totalis simply the two multiplied. The "typical game" range on the draft board is the middle 50% of last season's game results (25th–75th percentile) — it describes what already happened, not a projection confidence interval.
ESPN ADP is never an input to any projection or ranking. The market price is used for exactly one thing: measuring the gap between where we rank a player and where drafters take him. That gap, scaled to draft position (a 3-pick difference matters at the top, not in round 10), produces the five value grades — Strong value, Value, Fair, Rich, Very rich. Hover any grade to see the exact pick gap behind it.
Injury designationscome from the ESPN report and are shown with the date we fetched them. In the offseason a "day to day" tag often reflects the final report of last season rather than draft-day availability — treat it as a prompt to check the player's outlook, not as breaking news.
Risk grades
The outlook block on player pages shows three risk grades, each a transparent heuristic. Injury risk is based on games missed last season (under 12% missed = Low, 12–30% = Medium, over 30% = High) and jumps to High whenever a player is currently on the ESPN injury report. Age/workload riskcompares a player's age against the historical decline point for his position (33+ for NBA players): within two years of it = Medium, past it = High. Role security reads position rank and tier — top-3 at the position = Elite, tiers 1–3 = Solid, tier 4 = Contested, below = Unsettled. These grades feed context, not the rankings themselves.
News
News stories are aggregated from trusted outlets, verified against our own statistical database, rewritten by our editorial pipeline and tagged with a fantasy verdict (add, drop, start, sit, watch). Every article links the players involved to their live profiles.
Independence
HoopSplit is not affiliated with the NBA or any team. Team and league names are used for identification only.