Frequently asked questions
The questions a skeptical fantasy manager should ask, answered with what the site really does.
How are bench tax and lineup efficiency worked out?
For each team and week, the site finds the best legal lineup your roster could have fielded, using your league's own starting slots and the points your players actually scored. Bench tax is that best lineup's points minus the points you really scored. Lineup efficiency is your points divided by the best lineup's points, so a perfect week is 100%. The best lineup is solved exactly, not guessed, so slots that overlap (FLEX, SUPER_FLEX) are handled correctly.
Why does my receipt show a mistake I do not remember making?
Bench tax uses hindsight. It looks back at the final scores and asks who should have started, which nobody could know on Sunday morning. It also does not know about kickoff locks: a player whose game had already started may not have been swappable when you wanted to move him. A big bench tax is a fact about the week, not always a bad decision. Scores are read from Sleeper each time you open a report, so a stat correction can also change a number from one visit to the next.
Why was a player on my taxi squad or injured reserve not counted?
Sleeper only shows today's roster. A player who is on your taxi squad or injured reserve right now is treated as unable to start in every week, unless you actually started him that week. If you moved a player off taxi or IR after the week in question, the best lineup for that week will not consider him, so that week's bench tax can be lower than what you could really have done.
Why does a week say it has not been played yet, or why is a week missing?
A week counts as played once at least one team has scored points in it. Until then it appears greyed out in the week picker, and opening it says the week has not been played yet. A week that is still in progress can show partial scores. A league opens on the newest week that is done. If Sleeper does not return a week at all (a network problem, or a week the league never scheduled), it is treated as not played. Season totals and standings use regular-season weeks only: fantasy playoff weeks are left out.
Which kinds of leagues work?
Any Sleeper NFL league. The best-lineup maths understands QB, RB, WR, TE, K and DEF slots, FLEX (RB, WR, TE), SUPER_FLEX (adds QB), REC_FLEX (WR, TE), WRRB_FLEX (WR, RB), and the individual defender slots DL, LB, DB and IDP_FLEX. A player listed at more than one position can fill a slot for any of them. A slot type the site does not know is never filled in the best lineup, rather than guessed, so numbers for a league with an unusual slot can be off. Best ball and median scoring are covered below.
What about best ball leagues?
In best ball the platform sets your lineup for you, so there are no lineup decisions to judge. Shoulda Started detects best ball from the league settings and hides the bench tax and lineup efficiency columns, the penalty flags and the lineup stamps for it. You still get scores, all-play record, luck and the season standings.
Does it handle median scoring?
Yes, for the season report. When a league has median scoring turned on, each team gets an extra win, loss or tie against the weekly median score, and the season wins, losses, ties and expected wins include that extra game. The result shown on a weekly receipt is your result against your head-to-head opponent.
Is it free, and how will it pay for itself?
It is free to use, with no accounts and no paywall on past weeks. It is a hobby project, and the aim is only to cover its running costs. Ads are off today and there is no analytics. If ads are added later they will be few, clearly labeled, and never inside the image you share or next to the share buttons. The privacy page will be updated before that happens.
Do you store my data?
There are no accounts and nothing about you or your league is stored on a server. Your browser reads your league from Sleeper's public API and the reports are calculated on your device. The names and IDs of leagues you recently opened are kept in your browser's local storage so the home page can offer a shortcut; they never leave your device, and clearing your site data removes them. Sleeper sees the requests your browser makes to it, under Sleeper's own privacy policy. The one exception is a share link, described below.
Why Sleeper only?
Sleeper publishes a free, public, read-only API that a browser can call without logging in, so the site can work with no accounts and no server holding your data. This site is built around that, and it will never ask for your login.
What do the penalty names and stamps mean?
Each flag on a receipt is one real swap: start this player instead of that one, with the lineup still legal. The name is a referee call picked by how many points the swap cost: 15 or more is Illegal lineup or Unnecessary roughness, 8 or more is Holding or Illegal formation, 3 or more is Illegal substitution or Too many men on the bench, and anything smaller is Delay of game or Illegal shift. A receipt shows at most four rows; if there are more mistakes, the rest are rolled into one More flags row. A Slot shuffle row is a small credit for swaps that only look like losses because of FLEX-style slot rules. The rows always add up to the bench tax. Stamps such as BENCHED THE WIN (you lost, and the best lineup would have won), ROBBED, GRAND LARCENY or BENCH TAX: OVERDUE (25 or more points) each come with a number that backs them up.
Can I share a link instead of an image?
Yes. A manager report, a league week and the season report each have a Share link or Copy link button, and the manager report also offers the image. A link carries a short public summary of that one report (team and league names, the week or season, and the headline numbers) so chat apps can unfold it into a preview with a roast and a picture. The link itself always opens the live report, calculated in the visitor's browser, so editing the summary cannot change what the report shows. The image is drawn in your browser and is not uploaded anywhere unless you share it yourself. Link previews only work once the site is online at a public address.
What does a share link send, and who sees it?
Only what is in the link: a short summary of the one report you chose to share, which is public Sleeper data. When someone pastes the link into a chat, the chat app asks this site for a preview, and a small server function reads the summary in the link to write that preview. It does not save the summary, the preview, or who asked for it. Nothing is sent until you press Share link or Copy link and send it somewhere.
Is it affiliated with Sleeper or the NFL?
No. It is an independent project, not affiliated with, endorsed by or sponsored by Sleeper or the NFL. Team and player names come from Sleeper's public data, and the site uses no Sleeper logo or branding.
A number looks wrong. How do I report it?
First check the guides: most surprises are hindsight, kickoff locks or the taxi and injured-reserve rule above. If it still looks wrong, use the contact page and include your league ID and the week, so the report can be checked against the same data. The contact page lists the way to reach us once the site is public.