How our fantasy trade values are calculated
Every value on this site comes from public data and a fixed set of rules, written out below. No one types values in by hand. The rules are the same for every player, and the numbers rebuild themselves as new data arrives.
The one idea behind every value
A trade value answers one question: how much does this player add compared with one you could get for free? We call the free player the replacement. The bigger the gap, the higher the value. The best player in each format is set to 10,000, and every other player is scaled to match, so a player at 5,000 adds about half as much as the best one.
Values under 20 are dropped and shown as waiver level. They are too close to zero to matter in a trade.
Football: redraft values
- Projected points. We add up each player's weekly projections from Sleeper for every week left in the fantasy season, through week 17. Before the season starts we use the full-season projection instead. Each scoring setting (PPR, half PPR, standard) uses its own points.
- Starters. We fill every lineup in a 12-team league: one quarterback, two running backs, two receivers, one tight end and one flex (running back, receiver or tight end). Superflex adds one more spot open to quarterbacks too. Each flex spot goes to the best remaining player.
- Replacement level. At each position, the replacement is the player ranked at 4/3 of the number of starters. That is one real fill-in for every three starters: the bench player a team actually starts during byes and injuries. In a one-quarterback league that is the 16th quarterback. In superflex it is the 32nd, because 24 quarterbacks start.
- Value. Projected points minus the replacement's points, scaled so the best player is 10,000. Kickers and defenses are left out; their trade value is close to zero in almost every league.
Football: dynasty values
- Draft position. Sleeper publishes the average draft position of every player in its dynasty startup drafts, with separate numbers for PPR, half PPR, standard and superflex leagues. That is the market's view of each player's whole career.
- Curve. We turn draft position into value with a curve that starts at 10,000 for the first pick and halves every 48 picks. So pick 49 is worth 5,000, pick 97 is worth 2,500, and so on.
- Season blend. During the season, a quarter of each dynasty value comes from the player's redraft value in the same format. Breakouts rise and injured players fall. Before the season, draft position carries all the weight.
- Rescale. The best player is set back to 10,000.
Rookie picks
We rank the current rookie class by dynasty value and give each pick slot the value of the rookie at that spot: the 1.01 is worth today's best rookie, the 1.05 the fifth-best, and so on, for three rounds. Early, mid and late picks average slots 1 to 4, 5 to 8 and 9 to 12. A plain "1st" averages the round. Picks two drafts away are worth 90 percent of next year's. From May on, after the NFL draft, "next year" means the following calendar year.
Basketball values
Sleeper's NBA projections give per-game numbers for points, rebounds, assists, steals, blocks, made threes, turnovers, and field goal and free throw makes and attempts.
- 9 categories. We take the top 156 players (12 teams of 13), compute each category's average and standard deviation, and score each player by z-score: how many standard deviations he sits above average. Turnovers count negatively. Field goal and free throw percentage are scored by impact, makes minus what an average shooter would make on the same attempts. The pool is picked twice, first by points and then by total z-score, so it settles on the players who would really be rostered.
- Points. We use 1 per point, rebound and made three, 2 per assist, 4 per steal and block, minus 2 per turnover, plus 2 per made field goal and minus 1 per attempt, and 1 per made free throw minus 1 per attempt.
- Value. In both formats, the total minus that of the 157th player, scaled so the best player is 10,000. Values are per game and do not account for missed games.
Baseball values
Baseball values use real season statistics from the MLB Stats API, scored for 5x5 rotisserie leagues.
- Hitters: runs, home runs, RBI, stolen bases and batting average, over a pool of 168 hitters (12 teams of 14).
- Pitchers: wins, saves, strikeouts, ERA and WHIP, over a pool of 108 pitchers (12 teams of 9).
- Rates by impact. Batting average counts hits above what an average hitter would get in the same at-bats. ERA and WHIP count earned runs and baserunners per out recorded, compared with the pool average, so a pitcher with more innings moves the needle more.
- Season blend. This season's stats count fully after about 60 games. Before that they are blended with last season, in proportion to games played.
- Value. Hitters and pitchers are each measured against the first player outside their pool and then put on one shared scale.
How a trade is judged
A trade analyzer cannot simply add values, because roster spots are limited. Two good players are not worth one great one if only one of them starts. So each side's total is computed like this: raise each value to the power 1.35, add them up, and take the result to the power 1/1.35. One player stays exactly at his value. Several smaller values count for less than their plain sum.
| Side | Plain sum | Counted as |
|---|---|---|
| One player at 8,000 | 8,000 | 8,000 |
| Two players at 5,000 | 10,000 | 8,355 |
| Two players at 4,000 | 8,000 | 6,684 |
| Three players at 3,000 | 9,000 | 6,769 |
The gap between the two sides, as a share of the bigger one, sets the verdict: 5 percent or less is fair, 5 to 15 percent is a slight edge, and more than 15 percent is a clear win. When a trade is not fair, the analyzer works out the single value that would make the two totals equal and suggests players close to it.
How values stay fresh
- Football values rebuild every six hours while the site is in use, so changes to weekly projections show up the same day.
- Basketball and baseball values rebuild once a day.
- Each rebuild downloads fresh data, recomputes every table and checks the result. If a source is down or returns too little data, we keep the last good values and try again later. You never see a half-built table.
- The line under every tool shows when the values you are looking at were built and what they are based on.
Limits you should know about
- Projections are averages. They do not know about a role change announced an hour ago.
- We assume 12-team leagues. In 10-team leagues stars are worth a little less relative to depth; in 14-team and deeper leagues depth is worth more.
- We do not model your roster. A player who fills your empty flex spot is worth more to you than his value shows.
- Dynasty values lean on what other managers pay. When the market is wrong about a player, these values will be wrong too.
Sources
- Sleeper API documentation: player data, projections and draft positions for football and basketball.
- MLB Stats API: season statistics for baseball.
Questions about the method, or a value that looks wrong? Write to hello@fantasy-trade-analyzer.com.
Got a trade offer on the table? Check it in ten seconds.
Open the fantasy trade analyzer