{"schema":"draftadynasty.public-data/v1","readOnly":true,"boundary":"Original observations, research and definitions are provided in full. Read each record's source, period, scoring and availability. Research visibility does not promote a model into public rankings. Missing means unavailable, never zero. No account records or provider write access.","id":"metric-definitions","title":"All football metric definitions","status":"Definitions","description":"47 metric formulas, meanings, uses, sources and availability states. Planned metrics are definitions, not measured results.","data":{"schemaVersion":1,"updatedAt":"2026-09-04","productPromise":"Decision-grade football context with transparent formulas, freshness, and source rights. No guaranteed outcomes or invented live prices.","sourceRegistry":{"nflverse":{"label":"nflverse","class":"open_research","url":"https://nflverse.nflverse.com/","commercialGate":"Verify each upstream dataset and attribution requirement before production use."},"nfl_ngs":{"label":"NFL Next Gen Stats","class":"official_nfl","url":"https://operations.nfl.com/gameday/technology/nfl-next-gen-stats","commercialGate":"Public metric definitions are research context; production data requires approved access and rights."},"sleeper":{"label":"Sleeper API","class":"first_party","url":"https://docs.sleeper.com/","commercialGate":"Read-only public league context; respect rate limits and platform terms."},"licensed_odds":{"label":"Licensed sportsbook feed","class":"licensed_odds","url":"https://the-odds-api.com/liveapi/guides/v4/","commercialGate":"API key, paid plan, allowed regions, attribution, storage, and redistribution rights required."},"kalshi":{"label":"Kalshi API","class":"prediction_market","url":"https://docs.kalshi.com/getting_started/orderbook_responses","commercialGate":"Public market-data use remains subject to current API and exchange terms."},"polymarket":{"label":"Polymarket public market data","class":"prediction_market","url":"https://docs.polymarket.com/market-data/overview","commercialGate":"Official public, no-auth market data is enabled for the current free noncommercial research product; re-review rights before any commercial or trading use."}},"metrics":[{"id":"dynasty-fair-value","label":"Dynasty fair value","category":"fantasy_value","formula":"Calibrated rest-of-career production + scarcity + age curve + role security","meaning":"A format-aware estimate of a player's long-horizon roster value.","decision":"Compare roster needs and trade prices without treating consensus as truth.","sourceRefs":["sleeper","nflverse"],"freshness":"Daily in season; weekly offseason","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"market-value-gap","label":"Market value gap","category":"fantasy_value","formula":"DraftADynasty fair value - rights-cleared market consensus","meaning":"The disagreement between the model and a permissioned market benchmark.","decision":"Find players worth deeper review; not an automatic trade signal.","sourceRefs":["sleeper"],"freshness":"Daily","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"vorp","label":"Value over replacement","category":"fantasy_value","formula":"Projected fantasy points - format-specific replacement baseline","meaning":"How much usable scoring a player adds above a waiver-level option.","decision":"Compare positions on the same lineup-value scale.","sourceRefs":["nflverse","sleeper"],"freshness":"Weekly","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"weekly-range","label":"Weekly floor / median / ceiling","category":"fantasy_value","formula":"10th / 50th / 90th percentiles from the outcome distribution","meaning":"A range of plausible weekly fantasy outcomes instead of one brittle point estimate.","decision":"Balance lineup safety and upside.","sourceRefs":["nflverse"],"freshness":"After news; at least daily","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"lineup-win-probability","label":"Lineup win-probability lift","category":"fantasy_value","formula":"P(win with player) - P(win with replacement)","meaning":"The estimated matchup impact of a start/sit decision.","decision":"Rank close lineup calls by actual matchup leverage.","sourceRefs":["sleeper","nflverse"],"freshness":"Hourly game day","availability":"planned","tier":"elite","licensedProviderRequired":false},{"id":"role-security","label":"Role security","category":"fantasy_value","formula":"Weighted stability of snaps, routes, touches, depth-chart status, and contract horizon","meaning":"How likely the current opportunity is to persist.","decision":"Separate sustainable value from fragile short-term production.","sourceRefs":["nflverse","sleeper"],"freshness":"Daily","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"rookie-hit-probability","label":"Rookie hit probability","category":"fantasy_value","formula":"Calibrated probability of crossing position- and round-specific fantasy thresholds","meaning":"A distribution-aware rookie outcome estimate.","decision":"Compare rookies with veterans and future picks.","sourceRefs":["nflverse"],"freshness":"Weekly offseason","availability":"research_only","tier":"pro","licensedProviderRequired":false},{"id":"format-scarcity","label":"Format scarcity","category":"fantasy_value","formula":"Replacement gap adjusted for teams, starters, premium scoring, and superflex","meaning":"How league settings change positional leverage.","decision":"Prevent one-size-fits-all rankings.","sourceRefs":["sleeper"],"freshness":"On league load","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"epa-per-play","label":"EPA per play","category":"player_performance","formula":"Mean change in expected points on credited plays","meaning":"Down-, distance-, field-position-, and score-aware efficiency.","decision":"Compare player and offense efficiency beyond raw yards.","sourceRefs":["nflverse"],"freshness":"Postgame","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"success-rate","label":"Success rate","category":"player_performance","formula":"Share of plays with positive EPA","meaning":"How consistently an offense or player keeps drives on schedule.","decision":"Distinguish steady efficiency from a few explosive plays.","sourceRefs":["nflverse"],"freshness":"Postgame","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"cpoe","label":"Completion percentage over expected","category":"player_performance","formula":"Actual completion rate - expected completion rate","meaning":"Quarterback completion performance adjusted for throw difficulty.","decision":"Evaluate passing accuracy in context.","sourceRefs":["nflverse","nfl_ngs"],"freshness":"Postgame","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"pressure-to-sack","label":"Pressure-to-sack rate","category":"player_performance","formula":"Sacks / pressured dropbacks","meaning":"How often quarterback pressure becomes a sack.","decision":"Price matchup and quarterback pocket-management risk.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"ryoe","label":"Rushing yards over expected","category":"player_performance","formula":"Actual rushing yards - model-expected rushing yards","meaning":"Rushing output relative to blocking, defenders, location, and speed context.","decision":"Separate runner contribution from environment where approved tracking data exists.","sourceRefs":["nfl_ngs"],"freshness":"Postgame","availability":"research_only","tier":"elite","licensedProviderRequired":true},{"id":"yards-after-contact","label":"Yards after contact","category":"player_performance","formula":"Rushing yards gained after first charted contact / attempts","meaning":"Contact-balance production independent of untouched running lanes.","decision":"Evaluate rushing sustainability and tackle-breaking style.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"targets-per-route","label":"Targets per route run","category":"player_performance","formula":"Targets / routes run","meaning":"How often a player earns a target while actually in the pattern.","decision":"Detect demand before box-score volume catches up.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"yards-per-route","label":"Yards per route run","category":"player_performance","formula":"Receiving yards / routes run","meaning":"Receiving efficiency on every route, not only targets.","decision":"Compare pass catchers with different snap and target totals.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"weighted-opportunity","label":"Weighted opportunity","category":"player_performance","formula":"Position-specific blend of routes, targets, carries, air yards, and high-value touches","meaning":"A role-volume signal that weights touches by fantasy importance.","decision":"Find workload changes before touchdowns distort perception.","sourceRefs":["nflverse"],"freshness":"Postgame","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"neutral-proe","label":"Neutral pass rate over expected","category":"player_performance","formula":"Actual neutral-situation pass rate - expected pass rate","meaning":"How aggressively a team chooses to pass after situation adjustment.","decision":"Project team-level opportunity and game-script sensitivity.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"opponent-adjusted-residual","label":"Opponent-adjusted performance","category":"player_performance","formula":"Actual output - expected output given opponent, role, venue, and game state","meaning":"A residual that controls for defensive and situational difficulty.","decision":"Avoid overreacting to raw production against extreme opponents.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"research_only","tier":"elite","licensedProviderRequired":false},{"id":"scheme-fit","label":"Scheme-fit score","category":"player_performance","formula":"Similarity-weighted performance by personnel, motion, play action, alignment, and concept","meaning":"How a player's demonstrated strengths fit the current offensive design.","decision":"Translate coordinator and role changes into explicit projection adjustments.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"research_only","tier":"elite","licensedProviderRequired":false},{"id":"defense-strength","label":"Defense-adjusted matchup strength","category":"player_performance","formula":"Opponent efficiency allowed by position and concept, regressed toward league average","meaning":"A matchup rating that controls for schedule and small samples.","decision":"Improve weekly ranges without using simplistic fantasy-points-allowed tables.","sourceRefs":["nflverse"],"freshness":"Weekly","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"prop-model-projection","label":"Prop model projection","category":"props_games","formula":"Median simulated player outcome for the exact stat market","meaning":"An independent projection comparable to a sportsbook line.","decision":"Establish the model side before looking at price.","sourceRefs":["nflverse"],"freshness":"After material news","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"consensus-line","label":"Consensus line","category":"props_games","formula":"Liquidity- and freshness-weighted median line across approved books","meaning":"The market's central threshold after stale and duplicate quotes are removed.","decision":"Compare books and detect outlier lines.","sourceRefs":["licensed_odds"],"freshness":"Target 60 seconds pregame","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"line-movement","label":"Line movement","category":"props_games","formula":"Current consensus line - opening consensus line","meaning":"How the market threshold changed through time.","decision":"Track news response and price discovery.","sourceRefs":["licensed_odds"],"freshness":"Target 60 seconds pregame","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"no-vig-probability","label":"No-vig probability","category":"props_games","formula":"Raw implied probability / sum of all outcome implied probabilities","meaning":"Bookmaker margin removed from a complete market.","decision":"Compare model probability with a fairer market baseline.","sourceRefs":["licensed_odds"],"freshness":"With every quote","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"model-edge","label":"Model-market edge","category":"props_games","formula":"Model probability - no-vig market probability","meaning":"The probability disagreement after removing the book margin.","decision":"Rank research opportunities while retaining uncertainty and price sensitivity.","sourceRefs":["licensed_odds","nflverse"],"freshness":"With every projection or quote","availability":"planned","tier":"elite","licensedProviderRequired":true},{"id":"expected-value","label":"Expected value per unit","category":"props_games","formula":"p(win) × decimal profit - p(loss) × 1","meaning":"The model's average theoretical return per unit at the quoted price.","decision":"Compare opportunities on a common price-aware scale; estimates can be wrong.","sourceRefs":["licensed_odds"],"freshness":"With every quote","availability":"planned","tier":"elite","licensedProviderRequired":true},{"id":"projection-interval","label":"Projection interval","category":"props_games","formula":"Calibrated percentile band from simulated player outcomes","meaning":"The uncertainty around the projection, including role and game-environment variance.","decision":"Avoid treating a small edge as meaningful when uncertainty is wide.","sourceRefs":["nflverse"],"freshness":"After material news","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"closing-line-value","label":"Closing line value","category":"props_games","formula":"Price- and line-normalized difference between entry quote and consensus close","meaning":"Whether an earlier decision beat the final market, independent of the result.","decision":"Evaluate process quality over a meaningful sample.","sourceRefs":["licensed_odds"],"freshness":"At market close","availability":"planned","tier":"elite","licensedProviderRequired":true},{"id":"game-win-probability","label":"Game win probability","category":"props_games","formula":"Calibrated simulation probability from team strength, injuries, venue, rest, and matchup","meaning":"An independent probability for the game outcome.","decision":"Connect team expectations to player workload and scoring environment.","sourceRefs":["nflverse"],"freshness":"After material news","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"game-total-distribution","label":"Game total distribution","category":"props_games","formula":"Simulated distribution of combined points","meaning":"A range of scoring environments rather than a single total.","decision":"Stress-test touchdowns, attempts, and game-script assumptions.","sourceRefs":["nflverse"],"freshness":"After material news","availability":"planned","tier":"elite","licensedProviderRequired":false},{"id":"futures-implied-probability","label":"Futures implied probability","category":"futures","formula":"Positive odds: 100/(odds+100); negative odds: -odds/(-odds+100)","meaning":"American futures odds translated into a probability-like number before margin removal.","decision":"Make prices comparable across teams and markets.","sourceRefs":["licensed_odds"],"freshness":"Target 5 minutes","availability":"planned","tier":"free","licensedProviderRequired":true},{"id":"futures-fair-probability","label":"No-vig futures probability","category":"futures","formula":"Outcome implied probability / sum across mutually exclusive outcomes","meaning":"A normalized probability estimate after removing market overround.","decision":"Compare Super Bowl, conference, division, playoff, award, and win-total prices fairly.","sourceRefs":["licensed_odds"],"freshness":"Target 5 minutes","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"model-fair-odds","label":"Model fair odds","category":"futures","formula":"American-odds conversion of calibrated model probability","meaning":"The price corresponding to DraftADynasty's estimated probability.","decision":"Expose model-market disagreement in both probability and familiar odds form.","sourceRefs":["nflverse"],"freshness":"Daily; after material news","availability":"planned","tier":"elite","licensedProviderRequired":false},{"id":"title-path","label":"Super Bowl path probability","category":"futures","formula":"P(make playoffs) × conditional probabilities through conference and title rounds","meaning":"A decomposed route to winning the championship.","decision":"Explain why a title probability moves instead of showing a black-box number.","sourceRefs":["nflverse"],"freshness":"Daily","availability":"research_only","tier":"elite","licensedProviderRequired":false},{"id":"probability-tree-check","label":"Probability-tree consistency","category":"futures","formula":"Validate nested and mutually exclusive probabilities against logical constraints","meaning":"A data-quality check across playoffs, division, conference, and Super Bowl estimates.","decision":"Catch incoherent forecasts before publication.","sourceRefs":["nflverse"],"freshness":"Every model run","availability":"planned","tier":"free","licensedProviderRequired":false},{"id":"season-win-distribution","label":"Season win distribution","category":"futures","formula":"Simulated probability for each regular-season win total","meaning":"The full range behind a team win projection.","decision":"Connect futures, schedule strength, and fantasy playoff environments.","sourceRefs":["nflverse"],"freshness":"Daily","availability":"planned","tier":"pro","licensedProviderRequired":false},{"id":"contract-probability","label":"Market probability","category":"prediction_markets","formula":"Polymarket's published primary-outcome probability","meaning":"The crowd's current probability for a football outcome.","decision":"Track outside expectations without treating the market as the DraftADynasty forecast.","sourceRefs":["polymarket"],"freshness":"Cached for up to 5 minutes","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"probability-movement","label":"Probability movement","category":"prediction_markets","formula":"Current probability - the provider's prior 1-hour, 1-day, 1-week, or 1-month probability","meaning":"How quickly the outside consensus is moving as information changes.","decision":"Flag player and team assumptions that deserve a fresh review before slower rankings catch up.","sourceRefs":["polymarket"],"freshness":"Cached for up to 5 minutes","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"best-bid-ask","label":"Best bid / ask","category":"prediction_markets","formula":"Highest published bid and lowest published ask","meaning":"The prices on either side of the current market.","decision":"Show how much agreement sits around the headline probability.","sourceRefs":["polymarket"],"freshness":"Cached for up to 5 minutes","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"bid-ask-spread","label":"Bid-ask spread","category":"prediction_markets","formula":"Best ask - best bid","meaning":"The gap between the two sides of the market.","decision":"Down-weight a headline probability when the market is thin or uncertain.","sourceRefs":["polymarket"],"freshness":"Cached for up to 5 minutes","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"market-depth","label":"Order-book depth","category":"prediction_markets","formula":"Cumulative quoted size within configured probability bands of midpoint","meaning":"How much size the market can absorb near the current price.","decision":"Compare liquidity beyond one top-of-book quote.","sourceRefs":["kalshi","polymarket"],"freshness":"Target 5 seconds","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"slippage","label":"Estimated slippage","category":"prediction_markets","formula":"Depth-weighted fill price - top-of-book price for a selected size","meaning":"The price impact of moving through the order book.","decision":"Prevent headline prices from overstating practical liquidity.","sourceRefs":["kalshi","polymarket"],"freshness":"On quote","availability":"planned","tier":"elite","licensedProviderRequired":true},{"id":"market-volume","label":"Market activity","category":"prediction_markets","formula":"Provider-reported 24-hour activity and current liquidity","meaning":"How much current participation supports the displayed probability.","decision":"Separate meaningful price discovery from a thin move.","sourceRefs":["polymarket"],"freshness":"Cached for up to 5 minutes","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"open-interest","label":"Open interest","category":"prediction_markets","formula":"Provider-reported outstanding contracts or positions","meaning":"Unsettled exposure still open in the market.","decision":"Measure participation without equating it to recent trading activity.","sourceRefs":["kalshi","polymarket"],"freshness":"Target 1 minute","availability":"planned","tier":"pro","licensedProviderRequired":true},{"id":"quote-age","label":"Update age","category":"prediction_markets","formula":"DraftADynasty retrieval time - provider update time","meaning":"How old the displayed market observation is.","decision":"Mark stale context before it can influence research conclusions.","sourceRefs":["polymarket"],"freshness":"Every render","availability":"live","tier":"free","licensedProviderRequired":false},{"id":"market-model-disagreement","label":"Market-model disagreement","category":"prediction_markets","formula":"Calibrated model probability - liquidity-qualified market probability","meaning":"The gap between DraftADynasty and a sufficiently liquid market.","decision":"Surface research questions while down-weighting stale or wide markets.","sourceRefs":["kalshi","polymarket","nflverse"],"freshness":"With every market or model update","availability":"planned","tier":"elite","licensedProviderRequired":true}]},"observedAt":"2026-09-04","sha256":"b0d480a5fff0c35e863d6751d6ba5c95a57817fda9f68243603c9e630491cc37","dataPointCount":555,"fields":[{"path":"$[\"schemaVersion\"]","types":["number"]},{"path":"$[\"updatedAt\"]","types":["string"]},{"path":"$[\"productPromise\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nflverse\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nflverse\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nflverse\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nflverse\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nfl_ngs\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nfl_ngs\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nfl_ngs\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"nfl_ngs\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"sleeper\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"sleeper\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"sleeper\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"sleeper\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"licensed_odds\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"licensed_odds\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"licensed_odds\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"licensed_odds\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"kalshi\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"kalshi\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"kalshi\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"kalshi\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"polymarket\"][\"label\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"polymarket\"][\"class\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"polymarket\"][\"url\"]","types":["string"]},{"path":"$[\"sourceRegistry\"][\"polymarket\"][\"commercialGate\"]","types":["string"]},{"path":"$[\"metrics\"][][\"id\"]","types":["string"]},{"path":"$[\"metrics\"][][\"label\"]","types":["string"]},{"path":"$[\"metrics\"][][\"category\"]","types":["string"]},{"path":"$[\"metrics\"][][\"formula\"]","types":["string"]},{"path":"$[\"metrics\"][][\"meaning\"]","types":["string"]},{"path":"$[\"metrics\"][][\"decision\"]","types":["string"]},{"path":"$[\"metrics\"][][\"sourceRefs\"][]","types":["string"]},{"path":"$[\"metrics\"][][\"freshness\"]","types":["string"]},{"path":"$[\"metrics\"][][\"availability\"]","types":["string"]},{"path":"$[\"metrics\"][][\"tier\"]","types":["string"]},{"path":"$[\"metrics\"][][\"licensedProviderRequired\"]","types":["boolean"]}],"freshness":{"mode":"frozen_snapshot","status":"not_live","note":"Original capture date; opening or downloading does not refresh the source. Per-record timestamps take precedence. Definitions may describe unavailable inputs."},"links":{"human":"https://draftadynasty.com/data/metric-definitions","json":"https://draftadynasty.com/api/data/metric-definitions","csv":"https://draftadynasty.com/api/data/metric-definitions?format=csv","view":"https://draftadynasty.com/api/data/metric-definitions/view"},"dictionary":{"notation":"JSON bracket paths; [] means every array element. CSV uses concrete zero-based indices. Types are observed, not a promise that future fields cannot change.","missing":"null is unavailable; empty array/object means an empty collection. Zero is preserved as a measured or supplied numeric value.","units":"Source-native units and scoring. Consult metric-definitions for formulas; ambiguous units remain unspecified, never inferred.","hash":"sha256 of UTF-8 JSON.stringify(data), excluding this envelope. Source receipt hashes remain inside data. CSV prefixes formula-looking text with an apostrophe; numeric signs are preserved. JSON keeps original strings."}}