How we calculate

Show your work.

The Armchair Office doesn't invent player values. It blends public dynasty sources, maps them to your league's format (1QB, Superflex, TE premium tiers), and reads every scoring rule Sleeper publishes for that league — not just "PPR" or "3 RB." Bonuses, return yards, big-play thresholds, team defense, and IDP all show up in the league scoring panel and in game-log point math.

Share this

How a player number is built

Every value you see is a consensus base (nightly, format-specific) plus optional league adjustments (your roster slots and scoring rules). We show the sources in the player drawer — we don't hide disagreement.

Step 1 · Nightly

Consensus base

Worker pulls FantasyCalc, DynastyProcess, and KeepTradeCut for eight format keys (1QB / SF × TE premium tiers). Refreshes ~06:00 UTC.

Step 2 · Blend rule

Headline value

KTC when present — that's what most managers compare against. If KTC is missing, we average FC + DP. TE premium tabs get a calibrated TE bump when sources only publish base-format TE prices.

Step 3 · Your league

League adjustment

Starter slots and scoring rules produce a position fingerprint. Trade math applies a ±12% position tilt and, when your league scores returns, a KR/PR value boost from real production.

Step 4 · Signals

Not the headline

Real trades (crawled Sleeper swaps, 90-day median) and pick slot math show beside consensus — useful when the market disagrees, not a replacement until sample size is strong.

consensus = KTC value  |  avg(FC, DP) if no KTC TEP TE = consensus × {1.15, 1.30, 1.45} for TE+ / TE++ / TE+++ leagueValue = round(consensus × positionScaler) + returnBoost positionScaler = clamp(0.88 … 1.12) from RB/WR/TE/QB emphasis vs 12-team baseline pick value = slot price from composite  |  bucket × slot multiplier (1.01 ≠ 1.10) trade_implied = median inferred price from completed trades · shown in drawer, not blended into headline

What we don't do: run our own projections, invent insider info, or replace KTC/FC with a black-box number. What we do: map community consensus to your league context and surface where real trades diverge.

Player Values

An ensemble, not a single oracle

Nightly composites on our API blend FantasyCalc, DynastyProcess, and KeepTradeCut for 1QB, Superflex, and TE premium format tabs. The player drawer can also show individual source lines when available.

Each source has blind spots. KTC reflects crowd trade votes; FantasyCalc reflects calculator behavior; DynastyProcess reflects expert consensus. When they disagree, we show the spread — that's signal, not noise to hide.

Format & Scoring

Your league's rules, not a template

Values use format tabs (1QB / SF and TE premium tiers) from a nightly FC + DynastyProcess + KeepTradeCut composite. Separately, each league loads all non-zero point rules from Sleeper — reception scoring, position bonuses, yardage bonuses, kick and punt returns, fumbles, kicking, team defense tiers, and IDP where applicable.

Starter slots (2 vs 3 RB, 2 TE, Superflex, IDP positions) are part of the profile. Trade-value scalers already nudge RB/WR/TE/QB values in Trade Calc, waivers, and suggestions based on that fingerprint. Game logs and fantasy points use your league's full scoring_settings object.

Picks and Rookies

The 1.03 isn't the 1.10

Draft picks are valued at the slot level when the league's draft order is known. A 2026 1.03 and a 2026 1.10 aren't the same asset, and treating them as a generic "first-round pick" leaves money on the table.

Rookie classes carry through the chain of league history so future picks reflect the expected class strength as the dynasty community is currently perceiving it, not a flat historical average.

News and Signals

Curated feeds, no content farms

Player news pulls from a curated set of professional feeds — ESPN, RotoBaller, NBC Pro Football Talk, CBS Sports, Yahoo NFL, RotoWire — filtered to your actual rosters and refreshed continuously.

No clickbait blogs. No anonymous content aggregators. No fake-trending players juiced by add/drop bots. The signal-to-noise ratio is the whole point of the news layer.

Roster and League Truth

Sleeper is the source of truth

Roster data, trade history, draft results, league settings, transactions, and league chains all come directly from Sleeper's public API — the same source the Sleeper app uses.

The Armchair Office is strictly read-only. Nothing you see here changes anything on your actual leagues. You can't accidentally propose a trade or drop a player by clicking the wrong thing.

Refresh and Freshness

Daily for values, live for state

Composites refresh nightly (06:00 UTC) across eight format keys including TE premium tiers. League state — rosters, trades, transactions — pulls live each session from Sleeper.

The system is built for the manager who checks in often and expects the data to keep up.

Startup auctions

Yes — as a market signal, not the headline

Sleeper startup auctions record winning bid amounts on draft picks (type: auction). We can index those the same way we index completed trades: normalize $ spent to dynasty value units per format (budget, teams, SF/TEP), aggregate across leagues, and show an Auction implied line in the player drawer when sample size is meaningful.

We would not replace KTC/FC consensus with one league's auction — budgets ($200 vs $1000), nomination order, and manager tilt make single-league prices noisy. Same rule as real trades: consensus stays the headline; auction data is a confidence-weighted overlay you can compare.

Status: feasible with our existing Sleeper crawl + implied-value pipeline; not wired into the nightly composite yet. If your league is auction startup, completed draft results are already on Sleeper — we're building toward surfacing them.

Trade-implied values

Real trades, not just polls

We index completed Sleeper trades from your leagues and your leaguemates' leagues (crawl v1). From 1-for-1 swaps and multi-player packages, we infer market prices and compare them to the consensus composite. Package legs split proportionally: a known anchor side prices unknown legs on the other side (remainder after known values).

That Real trades line in the player drawer shows implied value, trade count, and % vs consensus. Market radar on All Leagues highlights the biggest gaps. Consensus stays the headline until sample size is strong — we show confidence via trade count, not fake precision.

Live draft room (in-app sidebar during active Sleeper drafts) ranks best available by roster need, flags value vs ADP deltas, and warns when a pick duplicates cross-league exposure or stacks an NFL team you already own heavily.

Cross-League Composition

The portfolio view is the wedge

Most dynasty tools treat your leagues as independent problems. The Armchair Office stitches them together — cross-league Assets (exposure), waivers, and trade workflow — while keeping per-league ranks honest (no blended value total across formats).

Your dynasty life is more than the sum of spreadsheets. The product is built around that — without pretending one number captures SF and 1QB in the same bucket.

Honest Limits

What we don't claim

We don't run our own crystal ball. We don't have insider information. We don't predict specific game outcomes or guarantee a winning trade. Anyone who tells you they do is selling something.

What we do is give you the cleanest possible view of the dynasty community's collective intelligence, mapped to your specific leagues, with the math on display.