The math behind the rankings, lineups, streamers and odds. Every number on the site is computed this way, not written by hand.
Players, positions, injury status, per-game projections, last season's stats, ADP and the full NBA schedule come from Sleeper's public data, refreshed through the day. Projections are sourced by Sleeper from RotoWire. ESPN leagues are read from ESPN's fantasy API. We do not invent numbers: if a player has no projection, he is left out and the page says so.
Every player gets a z-score in each category: his per-game number compared with the average of the 156 players worth rostering in a 12-team league, divided by the spread. FG% and FT% are weighted by attempts, so volume matters. Turnovers count against. The pool is computed twice, first to find who is worth rostering and then to measure everyone against that group. A player's value is the sum across the categories your league uses, minus anything you punt.
Points are the projected per-game stats multiplied by your league's own point values when we can read them, or ESPN's default scoring otherwise. Bonuses such as double-doubles are listed as not included rather than guessed.
For every night we take your healthy players with a game and fit them into your league's actual slots (PG, SG, G, F, UTIL and so on) to get the most value onto the floor. That gives tonight's lineup, the players who should sit, your usable starts this week and the nights you have an open slot.
Streamers are free agents in your league scored by the games they play on nights you have an open slot, times their per-game production, with extra weight on the categories you are losing. Waiver Hunter compares rest-of-season value: a free agent is suggested only when he beats one of your weaker players by a clear margin, and each drop is used once.
Both sides are compared category by category per game. Values are measured above replacement level, so in a 2-for-1 the side receiving more players pays for the roster spot it must clear. With your league connected, both teams' category ranks are recomputed after the trade.
For each remaining matchup we build every team's expected weekly stats from its fitted lineup and real game counts, with game-to-game variance for each stat. We then simulate the season 3,000 times. Each simulation also nudges every team's strength up or down a little to reflect projection error and injuries, so the odds are not overconfident. Matchups are scored the way your league scores them, and playoff seeds and the bracket are played out from the simulated records.
Ask the Coach and news summaries use Claude. The coach is handed the real numbers (tonight's games, game counts, injuries and the facts for any player you name) and told to use only those. It never supplies a stat on its own, and none of the rankings, lineups or odds on this site come from the AI.
Terms explained in the glossary. Questions or a number that looks wrong? Tell us.