Wins above replacement

ffwar values every fantasy football player by the thing you actually care about: how many wins he added to the teams that started him, compared with what they'd have got from the waiver wire. And it does it for your league's settings.

Examples below use 2023, a 12-team half-PPR league with one QB, unless noted.

Why not total points or PPG?

Points are what the scoreboard counts, so ranking players by points feels natural. It's the wrong question, though. You don't need a player's points; you need the points he scores above whoever else you could have started.

Positions aren't equal

In 2023 the best available quarterback on waivers scored about 17 points a week in a 1QB league. The best available running back scored about 8. So every QB starts with 17 points that any team could have had for free.

2023PosPointsPoints rankWARWAR rank
Josh AllenQB38611.306
Christian McCaffreyRB35832.551
Jordan LoveQB31260.09100
Raheem MostertRB255181.344
Allen led the league in points, yet McCaffrey was worth nearly twice as many wins. Mostert, 18th in points, was the 4th most valuable player.

Points per game forgets the games you didn't get

PPG fixes nothing about position, and it creates a new problem: it pretends missed games don't exist. When a player sits, you don't score zero, but you don't score his average either. You start a replacement.

Joe Flacco averaged 21.8 points over five December games in 2023, 4th-best of any player. Over the season he added almost nothing (0.03 WAR), because for the other twelve weeks he wasn't playing and wasn't on rosters. Kyren Williams missed five games and still finished 5th in WAR: in the twelve he played he was far above replacement, and in the five he missed his teams simply started someone else.

Points aren't wins

The last step turns points into wins. A typical team's weekly score varies by about 23 points, and the first points above replacement swing more games than the last: a 40-point blowout week is worth less than four 10-point edges. ffwar converts each week's points above replacement into the chance it flipped a head-to-head result, using how spread out scores are in leagues like yours.

Why start % matters

Even points above replacement isn't enough. Points only count if they're in your lineup. A 40-point game on your bench wins you nothing, and the best weeks of many players came exactly when nobody played them.

ffwar learns, from real lineups in about 14,000 Sleeper leagues, the chance that a typical manager in a league like yours started each player each week, using only what was known before kickoff: projections, recent form, depth at his position. Each week's value is weighted by that chance.

2023Week 2Week 3Week 4Week 5
Points1.449.325.521.0
Started in2%2%69%92%
De'Von Achane's 49-point week 3 came when almost nobody had him in a lineup. It counts for almost nothing; his WAR comes from the weeks after, once managers started him.

The same thing sinks some big point totals:

Start % also works the other way. A player whose managers kept starting him through bad weeks is charged for those weeks, which is how a player can end with negative WAR: he cost the teams that played him.

Fitted to your league

A player's value depends on how many teams there are, how many players start at each position, the bench, and the scoring. ffwar recomputes everything for the settings you choose, or for your own Sleeper league.

  1. Points under your scoring. Every player-week is rescored from raw stats with your league's scoring rules.
  2. Start % for your league. The start model reads each player's rank against how many players your league starts at his position: league-wide, after filling every team's slots and flexes with the best available. RB24 is a sure starter in a 14-team league with two flexes and a fringe one in a 10-team league with none. Because it's learned in those relative terms, it carries over to combinations of settings that are rare in the data.
  3. Replacement level for your league. Each week, ffwar finds who would really be left on waivers once every team has rostered its players, and how many points the best of them scored. Replacement only goes down as a league starts more players at a position. In superflex, where teams start two quarterbacks, it falls from about 17 to 13 points.
  4. Wins, not points. Weekly points above replacement are turned into wins using how much team scores vary in leagues like yours, including the extra game against the league median if you play one.
2023 replacement, PPGQBRBWRTE
10 teams, half PPR17.29.99.97.4
12 teams, half PPR16.98.09.16.8
12 teams, PPR superflex12.88.29.77.9
In superflex, Josh Allen moves from 6th to 4th in WAR and Jordan Love from 100th to 24th.

Seasons from 2020 on are covered, through week 17 (week 16 before 2021) so fantasy playoffs count. The current season updates weekly, and games still being played are left out until they finish.

Back to the rankings ›