Fantasy Projection Lab Update Schedule: When and How Projections Refresh

Projection numbers sitting still while the world changes around them are worse than no numbers at all. This page explains exactly when Fantasy Projection Lab refreshes its models, what triggers an off-cycle update, and how to read the timestamp data on any projection output so the numbers in front of a decision are never stale by accident.

Definition and scope

A projection update is any event in which the underlying model re-ingests new inputs and produces revised point estimates or probability distributions for a player's expected fantasy output. The term covers two distinct operations: a scheduled refresh, which runs on a fixed calendar cadence regardless of external events, and an event-driven refresh, which fires when a specific data trigger crosses a defined threshold.

The distinction matters because most platforms publish a single "last updated" timestamp without clarifying which type of refresh generated it. A number stamped 6:00 AM on a Tuesday might reflect a full overnight model run or a narrow injury-flag patch — and those two outputs carry meaningfully different confidence levels. The projection confidence intervals page explains how those levels translate into practical uncertainty bands around each estimate.

The scope here covers all four major North American sports leagues tracked on Fantasy Projection Lab: NFL, NBA, MLB, and NHL. Each sport operates on a different refresh rhythm because its underlying data cadence — practice reports, lineup cards, injury designations, and game results — arrives on different schedules.

How it works

Every projection model is a pipeline. Raw inputs arrive, pass through transformation logic, and produce outputs. A refresh is, mechanically, just re-running that pipeline with newer inputs. What changes between refresh types is which inputs get updated and how much of the downstream logic gets re-evaluated.

Scheduled refreshes follow this structure:

  1. Overnight full model run — Executes once per day, typically between 2:00 AM and 5:00 AM ET. All statistical inputs are re-ingested: box scores, snap counts, target shares, pace data, and Vegas line movement. This is the heaviest computational cycle and produces new baseline projections for every rostered player. Details on the statistical inputs themselves live on the statistical inputs for fantasy projections page.
  2. Pre-game final lock refresh — Runs approximately 90 minutes before the first game of any slate. This cycle ingests confirmed starting lineups, official injury designations (e.g., NFL's final injury report, NBA's injury status ruling), and same-day weather data for outdoor venues. It is narrower than the overnight run but directly affects the players most likely to swing a daily fantasy lineup.
  3. Post-game results integration — Fires within 2 hours of final whistle. New box score data enters the rolling sample used by the model, updating usage-rate calculations, target-share baselines, and efficiency metrics. These changes are most visible in rest-of-season projections, where cumulative sample size drives confidence.

Event-driven refreshes fire outside the scheduled cycle when a qualifying trigger occurs. The threshold for an event trigger varies by data type — a player moving from "Questionable" to "Out" on an NFL injury report generates an immediate patch to that player's projection and cascades to teammates whose snap count and target share data would absorb the volume. A trade, a suspension, or a starting pitcher scratched the morning of a game all qualify as event triggers.

For deeper context on how Vegas lines and fantasy projections factor into these pipeline runs, the game-total and spread data are re-ingested at both the overnight run and the pre-game lock refresh.

Common scenarios

Three situations account for most confusion about whether a projection is still actionable:

NFL Sunday morning — The overnight model runs Friday night after the official injury report drops. Saturday sees no scheduled refresh. Sunday morning, the pre-game lock cycle fires roughly 90 minutes before the 1:00 PM ET kickoffs, incorporating any late Saturday designations and Sunday morning actives/inactives. A player verified as "Doubtful" Friday who is ruled out Sunday morning will show an updated projection only after that lock cycle runs — not before.

NBA back-to-back nights — Rest decisions and load management designations in the NBA frequently arrive less than 3 hours before tip-off. The pre-game lock cycle captures these, but any announcement after the lock window has closed requires an event-driven refresh. The model checks for late-breaking status updates at 30-minute intervals during game-day hours.

MLB starting pitcher change — A starter scratched the morning of his scheduled start triggers an immediate event-driven refresh for that pitcher, the likely replacement, and the opposing lineup's projected plate appearances. This is one of the most time-sensitive refresh scenarios across all sports, given how heavily starting pitcher projection methodology depends on confirmed assignment.

Decision boundaries

Two comparisons define how to use refresh timing as a decision input.

Overnight run vs. pre-game lock run — The overnight run produces higher-confidence baseline numbers because it incorporates full sample recalculation. The pre-game lock run is narrower but more current. For season-long roster decisions — start/sit, waiver adds — the overnight numbers are typically sufficient. For daily fantasy lineups, the pre-game lock output is the one to finalize against, not the overnight figure from 18 hours earlier.

Scheduled refresh vs. event-driven refresh — A scheduled refresh touches every player in the model. An event-driven refresh is surgical: it updates the affected player and immediate teammates, but it does not trigger a full recalculation of unrelated positions or matchups. This means a cascading event — say, a quarterback ruled out — may produce updated numbers for wide receivers and running backs, but the opposing defense's projection does not automatically re-run unless it crosses a separate event threshold. Injury adjustments in projections covers the cascade logic in detail.

The timestamp displayed on any projection output reflects the most recent refresh cycle — scheduled or event-driven — that touched that player's record. Two players on the same team can carry different timestamps if only one was touched by an event-driven patch. Reading those timestamps alongside the projection update schedule calendar is the cleaner way to assess whether a number still reflects the current state of the world.


References