← How Fantasy Joes works

How the Accuracy Score Works

UpdatedJune 12, 2026

Your Fantasy Joes score measures one thing: how close your player rankings came to what actually happened on the field. Every player you rank is compared against the historical value of the slot you put him in, the gaps are added up, and the lowest total wins — golf scoring. A perfect weekly ranking scores exactly 0. This page is the full methodology: every formula, weight, and edge case, exactly as the app computes it.

The five rules that govern everything

  1. Duels never score you. A duel ("who do you want — A or B?") only nudges your ranked list. Picking A over B is never recorded as right or wrong. You are graded solely on your final ordered list.
  2. Lower is better. Your score is accumulated error, measured in fantasy points. Every leaderboard sorts lowest-first.
  3. You're graded against the slot you assigned, not the player's actual finish. Call a player your RB1 and you're measured against what an RB1 is supposed to produce — wherever he actually finishes. Your job is to put each player in the slot that matches his real output.
  4. It rewards calibration, not boldness. Calling a breakout earns nothing unless you also placed him at roughly the right level. Directionally right but wrong on magnitude still costs you.
  5. Two separate games. The preseason Draft game (one board, graded on full-season totals) and the in-season Weekly game (a fresh board each week, graded every Tuesday). They share the same core math and differ in exactly the ways spelled out below.

Where the points come from

Every "actual" number in Fantasy Joes is Sleeper's half-PPR point total, used verbatim. Standard half-PPR scoring:

StatPoints
Passing yards1 per 25 yards
Passing TD4
Interception thrownnegative (Sleeper standard)
Rushing / receiving yards1 per 10 yards
Rushing / receiving TD6
Reception0.5 (the "half" in half-PPR)
2-point conversion2
Fumble lostnegative (Sleeper standard)

We don't recompute points from box scores — the authoritative number for any player and week is what Sleeper reports. If Sleeper issues a stat correction, our number changes on the next correction sweep (automatic, Wednesday and Friday after each week settles) and affected scores are recomputed; after 72 hours the week is final. Cash contest results are final at settlement — the correction policy is spelled out in the official contest rules.

Extra boards in other formats. Half-PPR is the default format, and your main board always uses it. Registered users can also keep extra boards in full-PPR or standard scoring (created from your profile). Those boards grade against Sleeper's full-PPR or standard totals under the same accuracy math; today their scores are visible only to you, and the leaderboard, contests, and your /u/ page run on your main board.

Only QB, RB, WR, and TE are ranked and scored. Kickers and team defenses don't exist in the scoring universe.

The curve: what each slot is "supposed" to score

The benchmark you're graded against is the curve — a lookup table of what each rank slot has historically been worth, built from real completed NFL seasons as a rolling 3-year average. No opinions, no projections — just what actually happened.

  • Weekly curve — what the Nth-best player at a position scores in a typical week. Example: weekly RB5 ≈ what the 5th-best RB of a given week has scored, averaged across the last three seasons.
  • Season-total curve — what the player who finishes as the Nth-best at a position totals across a full season. Used only by the Draft game.

Why a 3-year average instead of last season: one season is noisy. A slot's expected value should reflect what that slot is normally worth, not one anomalous year.

The shared core

For each player you're responsible for:

error     = | expected − actual |
term      = error × weight
yourScore = sum of all terms        (lower is better)
  • expected is the curve value for the slot you assigned.
  • actual is the player's real half-PPR output (that week, or the season total).
  • weight makes some players count more than others: exp(−2 × percentile). The most-weighted player in a position counts about 7.4× as much as the least-weighted one.

The absolute value cuts both ways: rank a player too high and you overrated him; too low and you underrated him. There's no credit for "at least I had him" — only for placing him correctly.

What differs between the two games is which players get summed, and what the weight keys off. Those two differences define the games.

The Weekly game

What's graded, and when

Each week you rank players within each position, starting from that week's consensus board (seeded fresh every Tuesday from the new week's projections) and refined through duels and manual reordering. Grading runs every Tuesday at 6:00 AM UTC, after Monday Night Football, using that week's actual points.

The formula

For each position, for every player on your board:

expected   = weeklyCurve[ the slot you gave him ]
actual     = his half-PPR points this week
percentile = (yourRank − 1) / (playersRanked − 1)
weight     = exp(−2 × percentile)
term       = | expected − actual | × weight

Then a perfect-ordering floor is subtracted per position: the score a hypothetical perfect ranker would have gotten by ordering every player exactly by their actual finish. The floor is identical for everyone (it depends only on real results), and your position score is clamped at zero:

positionScore = max( 0, yourRawScore − perfectFloor )

A perfect weekly ranking therefore scores exactly 0. Your four position scores sum to your weekly total.

One worked term, so the scale is concrete: you rank a player WR10 out of 72. The weekly curve says a WR10 is worth about 14.0 points; he actually scores 22.3. Your error is 8.3 points. The WR10 slot's weight is exp(−2 × 9/71) ≈ 0.78, so this player adds about 6.5 to your raw WR score. Do that across every ranked player, subtract the perfect floor, and that's your WR number for the week.

Weight follows your conviction

In the Weekly game, percentile comes from your own rank. Your RB1 carries weight 1.0; your last-ranked RB carries about 0.14. Being wrong about a player you ranked highly costs you far more than being wrong about one you buried. The Weekly game's question is: were you right about the players you were most confident in?

Locks: your board freezes player by player

Each NFL player's slot on your board freezes at his game's kickoff. After kickoff he can't be moved, dueled, or affected by anything you do — and he is graded at the rank he held when his game started, even if your later moves would have shuffled the list around him. Locked players keep their frozen slots; your still-unlocked players fill in around them in your order. Everyone else on your board stays editable until their own kickoffs — there is no early-week board freeze.

Scratches and no-shows

A player who never plays in his game that week — late scratch, inactive, healthy scratch — is excluded from grading entirely, on every board that holds him, and excluded from the perfect floor too. A surprise inactive can't wreck your week. A player who plays at all, even one snap before an injury, counts normally. (Players officially ruled out before their games are handled earlier than that — see player removals and replacements for the swap rules.)

Positions you didn't touch

Before grading, any position you didn't rank is backfilled from that week's consensus board. You get a real score for all four positions whether or not you touched them — ignoring a position just means inheriting the consensus ordering for it.

Appearing on the leaderboard

You must complete at least one duel that week to appear on the weekly leaderboard. The weekly leaderboard sorts ascending; tied scores are listed in processing order (cash contests use their own published tie rules — see the contest rules).

For the season view, your weekly totals are summed — and for any week you didn't play, the week's average score is substituted, so sitting out a week never protects a good cumulative score.

The Draft game

What's graded, and when

Before the season you hold one draft board: exactly 26 QB, 56 RB, 72 WR, and 20 TE (174 players), ranked within each position. You start from a market consensus board and refine it with duels, drag-reordering, and the add/drop swap. Your board is snapshotted five days before Week 1 kickoff (Saturday, September 5 for 2026), and that frozen copy is what's graded — nothing you do after the snapshot changes it. Draft duels and board editing stay open through the final draft weekend for your real-life drafts; at Week 1 kickoff, draft mode retires and the board becomes view-only.

The locked board is graded on full-season half-PPR totals (all 18 NFL weeks). Standings update provisionally every Tuesday during the season; the final score lands after Week 18 is graded. A draft is a one-shot preseason call on full-season value, so it's judged exactly that way — a mid-season injury doesn't re-punish you week after week.

The scoring universe (you're not just graded on your own board)

For each position, a fixed universe is assembled, identical for every user:

universe = (top N by preseason consensus) ∪ (top N by actual season finish)

The scorer iterates the universe, not your board. Preseason favorites enter through the consensus side; breakouts enter through the actual-finish side. For each universe player:

  • On your board: you're charged | curve[your slot] − his season total |.
  • Not on your board: you're charged as if you'd ranked him one slot past the entire board (the N+1 "penalty slot"). For a player who finished well, that's a big number — and it's identical for every user who skipped him.

A player you ranked who's in neither set (a sleeper you swapped in who flopped) isn't scored at all; his cost was the slot you gave up to fit him.

Weight follows the player, not your conviction

In the Draft game the weight keys off prominence — a property of the player, identical for every user:

prominence = min( consensus rank , actual finish rank )
weight     = exp(−2 × (prominence − 1) / (N − 1))

A player is prominent if the market expected him to be good or he turned out good. A hyped bust is high-weight for everyone; a surprise breakout is high-weight for everyone. Your personal placement sets the expected value, not the weight — so stacking your board aggressively doesn't amplify your own errors the way it does in the Weekly game.

Worked examples (TE, N = 20)

Illustrative season-total curve: TE2 ≈ 210, TE3 ≈ 200, TE10 ≈ 110, TE15 ≈ 80, penalty slot TE21 ≈ 50.

The breakout. Market had him TE38; he finishes TE3 with 250 points. Prominence = min(38, 3) = 3 → weight ≈ 0.81.

What you didGraded slotCost
Added him, ranked him TE33|200 − 250| × 0.81 = 40.5
Added him, lazily left him TE1010|110 − 250| × 0.81 = 113.4
Never added him21 (penalty)|50 − 250| × 0.81 = 162.0

Calling him accurately beats grabbing him lazily beats ignoring him — in that order, always.

The chalk bust. Market had him TE2; he finishes TE28 with 60 points. Prominence = min(2, 28) = 2 → weight ≈ 0.90.

What you didGraded slotCost
Believed the hype, ranked him TE22|210 − 60| × 0.90 = 135.0
Faded him to TE1515|80 − 60| × 0.90 = 18.0
Dropped him off your board21 (penalty)|50 − 60| × 0.90 = 9.0

The people who trusted the market most pay the most. That's intended.

Add/drop, and why skipping it is fair

Adding a deeper player swaps him in for the bottom player at that position — the board stays exactly 174, always. The player you dropped stays in the universe (he was consensus top-N), so he becomes a penalty term for you if you're wrong. That's the risk you accept to back a sleeper.

If you never touch add/drop, every breakout's penalty hits you and everyone else identically — a shared constant that cancels out of the rankings. Users who skip add/drop keep their relative standings as if the feature didn't exist. It's genuinely optional; it only lets the engaged minority gain or lose ground against the field.

One honest limitation: a player the market feed doesn't rank at all (a true off-radar rookie) can't be added by anyone. The Draft game rewards calling deep-but-ranked sleepers, not unrankable nobodies.

Draft scoring details

  • The Draft game has no perfect floor — the best possible score is a small positive number, not 0. (Subtracting a floor wouldn't change anyone's order, so it's skipped.)
  • Final totals are rounded to 2 decimals.
  • The draft leaderboard sorts ascending, one row per user.

What is deliberately NOT graded

  • Cross-position order. Both expected and weight key off within-position rank, so ranking an RB above a WR has zero effect on your score in either game. Both games measure within-position accuracy. (Grading true cross-position draft value would require a positional-scarcity model — a different game.)
  • Individual duel picks. Worth repeating, because it's the most common misunderstanding: no single A-vs-B choice is ever scored.
  • Kickers and defenses. Not in the universe.
  • Boldness for its own sake. A bold call only pays if the magnitude is right too.

Quick reference

ConstantValue
Scored positionsQB, RB, WR, TE
Board size (N)QB 26 · RB 56 · WR 72 · TE 20 (174 total)
Weight decayexp(−2 × percentile) — top slot ≈ 7.4× bottom slot
Weekly weight keys offyour own rank (conviction)
Draft weight keys offplayer prominence = min(consensus rank, finish rank)
Weekly perfect scoreexactly 0 (perfect floor subtracted)
Draft perfect scoresmall positive (no floor)
Curverolling 3-year historical average, per position per slot
Points sourceSleeper half-PPR, verbatim
Weekly gradingTuesdays 6:00 AM UTC, after MNF
Draft gradingprovisional Tuesdays; final after Week 18
Draft board snapshotfive days before Week 1 kickoff (T−5)
Player lockseach player freezes at his own kickoff, graded at his locked rank
Never playedexcluded from grading and from the perfect floor
Leaderboard entry≥ 1 completed duel that week
Missed week (season view)week's average score substituted

Something here not match what you see in the app? The app is the source of truth — and we treat any mismatch on this page as a bug worth fixing.

Try Fantasy Joes →
How the Accuracy Score Works — Fantasy Joes