How QuantRoster Works

A machine learning pipeline that turns raw NFL data into a draft board you can set to your scoring and league size.

Our Approach

QuantRoster is built on a walk-forward machine learning pipeline that generates per-player, per-position projections tuned to your league's scoring format. Here's what's under the hood.

Walk-Forward Models

Our models train walk-forward: to predict season T, we use only data from seasons strictly before T, so no future information leaks back into training. The track record page grades our earlier weekly model on past seasons. The 2026 board is graded in January.

What the Model Sees

The model trains on multiple seasons of NFL game-level data. For each player-game, we extract features including passing/rushing/receiving stats, snap count percentage, red zone usage, target share trends, and opponent defensive metrics (points allowed by position, sack rate).

Matchup adjustment is a big part of this. A running back facing the league's worst run defense is a fundamentally different proposition than the same player facing the best. The model captures these interactions through opponent-specific features rather than simple strength-of-schedule adjustments.

A Floor and a Ceiling, Not Just a Point

A point projection alone isn't enough to draft on. If two players both project at 12 points a game, but one has a range of 8-16 and the other has a range of 4-22, those are very different picks. Every player on the board carries a per-game floor and ceiling next to the projection.

League-Specific Projections

Set your scoring and league size, or connect a Sleeper league and we pull its scoring settings for you. Points re-derive for your exact rules; the order comes from the nearest of our three trained formats.

Board Fingerprints

Every saved board has a fingerprint. Copy it on draft day and check it against the saved board in January; Check a board shows how. Custom-scoring boards aren’t saved.

From Projections to Decisions

Take the board into a mock draft or your real one. The live assistant logs picks and keeps best-available current.

Live Draft Assistant

Real-time draft recommendations powered by value-based drafting. Snake drafts. As picks come off the board, the model recalculates positional scarcity and recommends the best available player for your roster. Includes look-ahead projections so you know who's likely to still be available on your next pick.

Post-Draft Grading

After your draft, get an ML-driven grade based on projected season-long value. See where you found value relative to our board, which positions are strong, and where you might need to target the waiver wire early.

Get the January grade by email

One note, no spam, no sharing.

Sign up

Legal

Privacy

QuantRoster is free, runs no ads, and doesn’t sell or share your data. This section lists everything we store, where it lives, and how to have it removed.

In your browser, never sent to us unless you use a feature that needs it:

  • a random device ID. It isn’t tied to your name; it’s tied to your email only if you sign in on this browser. It’s how the site recognizes your browser’s saved leagues;
  • the leagues you connected: each one’s platform, league ID, name, season, size and your team, when you connected it, whether it came from this browser or your account, and, if you found it by your Sleeper username, your Sleeper user ID;
  • your scoring settings;
  • your view preferences;
  • any projection adjustments you make on the lineup board. Those stay in your browser.
  • if you sign in, a token that keeps you signed in on this browser, and a note of any of your account’s leagues you disconnected here, so they aren’t brought back. Signing out removes the token;
  • a live draft in progress, so a reload can pick it up: its settings, your draft slot, the picks made so far, a random access token for that draft, and, for a draft that follows Sleeper, that draft’s ID and your Sleeper user ID. Ending the draft removes it;
  • when you first opened the site and when you last said “Not now” to installing it, so we don’t ask too often, and when a page last reloaded itself after one of its files failed to load;
  • where you were on a page (its tab, view and how far down), so Back returns you there. This is kept only until you close the tab;
  • copies of the pages you opened, of the site’s own files, and, for up to 15 minutes, of the answers our API gave those pages (for a connected league that includes its lineup, waivers, matchup and history), so the site still opens when your connection is slow or gone;

Clearing your browser’s site data removes all of it.

On our servers:

  • League connections. When you connect a Sleeper league or enter one by hand, we save the league’s ID, name, season, scoring, size and your team, and when you first connected it and last used it. For a league entered by hand we also save the roster you typed. These records are keyed to your device ID, or to your account once you sign in. For a league you enter by hand we store the device ID itself; connection records hold only a one-way hash of it, or of your account’s key. We keep these records until you ask us to delete them; disconnecting a league removes it from your browser, not from our servers.
  • A live draft. While you run a live draft our API holds it in memory: the picks you log, the league’s size, scoring and your draft slot, a random token your browser made for that draft, and the IP address it was started from. It is never written to our database, and it is dropped after a day without use or when the API restarts.
  • Email, if you sign up for updates. Your address, when you signed up, and whether you confirmed it. We email an address only after its owner confirms it through the link we send, and only for what you signed up for, such as the January grade of this season’s boards. An address that is never confirmed is deleted 30 days after its last confirmation link expires. Every email has an unsubscribe link, and unsubscribing deletes your address at once. The links we send are stored only as one-way hashes, with when each was sent, when it expires and when it was used.
  • Your account, if you sign in. Your email address, when you first and last signed in, and the leagues you save to it. We keep your account until you ask us to delete it. Sign-in works by an emailed link. When you ask for a sign-in link we save the address you typed and when the link was sent, when it expires and when it was opened. We delete that record an hour after the link expires. We store only one-way hashes of the links and of your signed-in session, never a password. With each sign-in we keep when it began, when it was last used, when it ends (30 days on) and when you signed out. We delete that record 30 days after the sign-in ends. When you sign in on a device, that device’s saved leagues move to your account. The sign-in link carries a one-way mark of the browser that asked for it, so that only that browser moves its leagues without asking you first.
  • Request logs. Each request’s IP address, time and page pass through our hosting providers’ logs, which they keep for a limited time. Our own API’s lines in those logs also say which league a request was for (its ID and your team’s number), a live draft’s ID, and, when you sign in, your account’s number. We use them only to keep the service running and to limit abuse. To limit abuse our API also counts requests by IP address, in memory, for up to an hour; the counts are never stored.
  • Usage statistics. Vercel Web Analytics counts page views without cookies and without identifying you.

Other services we use:

  • Railway, which hosts our API and database;
  • Vercel, which hosts the website and runs its analytics;
  • Resend, which delivers our emails (sign-in links, sign-up confirmations and the updates you ask for).

When you connect a Sleeper league, your browser and our API read that league’s public data from Sleeper. If you look a league up by your Sleeper username, your browser sends Sleeper that username and the user ID Sleeper returns for it. Otherwise Sleeper is sent only the IDs of the league and its drafts. Because your browser asks Sleeper directly, Sleeper sees your IP address, as any site you visit does. Our own servers send Sleeper nothing but the league ID and, for a matchup, the week’s number.

What we don’t do: we don’t sell data, show ads, use advertising trackers, or build profiles about you.

Removing your data. Email contact@quantroster.com and we’ll delete your account, your saved leagues and your email address. To stop our emails, use the unsubscribe link in any of them.

Changes. If this policy changes, the new version is posted here with its date.

Last updated: October 13, 2026