Pipeline Control
Manually trigger data pipeline tasks. All jobs run asynchronously via Celery.
Re-seed Prop Lines
Fetches the latest odds from The Odds API and seeds any missing games + prop lines into the database. Runs automatically every 30 minutes — use this to trigger immediately.
Generate game context
Builds per-game win probability, projected pace/scores, and blowout risk into fact_game_context_daily. The Today’s Slate context strip (win-prob bar, blowout chip)
reads this table — run after team profiles exist for the date, or if you rebuilt picks but the
strip is missing. Typically faster than a full projection rebuild.
Rebuild Projections
Re-scores all 7 prop markets (PTS · REB · AST · 3PM · PRA · BLK · STL) for the selected
date using the active ML model. Upserts into fact_picks_daily — safe to run
after a fresh ingest or whenever picks look stale. Takes ~2–4 minutes while markets run
sequentially. Does not refresh game context; use Generate game context for the
Slate win-probability strip.
Scoring Gate Configuration
Read-only reference — values are set in run_model.py. These gates determine which picks reach the slate and with what confidence band.
Strength Bands
Normalised edge relative to market RMSE (σ). Consistent thresholds across all markets.
Suppression Gates
Hard stops applied before band assignment. Each gate either drops the pick entirely or limits its grade.
| Gate | Trigger | Effect |
|---|---|---|
| Injury — Out | injury_risk = 2 (Out status) | Pick suppressed entirely |
| Injury — Suspended | injury_risk = 2 (Suspended status) | Pick suppressed entirely |
| Thin sample | hist_game_count < floor (see below) | Band capped at Marginal |
| Absurd projection | Projection < 32 % of rolling L5 for stars | Pick suppressed entirely |
| Z-cap (|z| > 3.5) | |edge| > 3.5 × σ (outlier zone) | Graded as Pass — not shown |
| No primary book | No line from Bovada / DraftKings / FanDuel | Risk warning shown, pick kept |
| Single book | Exactly 1 book has posted a line | Context note shown, pick kept |
Min Sample Floors
Players below this threshold have their band capped at Marginal — never Strong Lean or Lean.
| Markets | Min Games Required |
|---|---|
| PTS · REB · AST · PRA | 8 |
| 3PM · BLK · STL | 12 |
Z-cap: picks where |z| > 3.5 are graded Pass regardless of edge size.
Feature Flag Rollout
Phased release of context layers. Each flag enriches the scoring signal when enabled.