{
  "document_id": "quant_lab_research_pack",
  "pack_id": "lab_power_opponent_adjusted_epa_v1",
  "family": "power",
  "title": "Opponent-adjusted EPA (v1 outline + schema)",
  "created_at": "2026-09-17T15:47:34-05:00",
  "lab": "War Room Quant Lab",
  "label": "model",
  "blind_safe_for_power": true,
  "anti": [
    "not_official",
    "not_weekly_lean",
    "no_market_peek_into_power_packs"
  ],
  "summary_plain": "Opponent-adjusted team EPA for Power blind seals. Week-2 computed values READY (2025 iterative opp-adj precision-blended with 2026 w1; w_prior\u22480.889). Backtest plan BOARDED; metrics WAIT. No market inputs. Not an Official.",
  "features": [
    {
      "name": "off_epa_adj",
      "definition": "Opponent-adjusted offensive EPA/play; 2025 prior residualized vs mean opponent, precision-blended with 2026 observed efficiency.",
      "inputs": [
        "data/team_stats_weekly_2025.csv",
        "data/team_efficiency_2026_w1.fact.csv",
        "data/schedules_2026.nonmarket.csv",
        "data/schedule_week2_2026.games.json"
      ],
      "label": "model"
    },
    {
      "name": "def_epa_adj",
      "definition": "Opponent-adjusted defensive EPA/play allowed (same prior+update stack as off_epa_adj).",
      "inputs": [
        "data/team_stats_weekly_2025.csv",
        "data/team_efficiency_2026_w1.fact.csv",
        "data/schedules_2026.nonmarket.csv",
        "data/schedule_week2_2026.games.json"
      ],
      "label": "model"
    },
    {
      "name": "net_epa_adj",
      "definition": "off_epa_adj - def_epa_adj; Power may map to margin contribution without line peek.",
      "inputs": [
        "off_epa_adj",
        "def_epa_adj"
      ],
      "label": "model"
    },
    {
      "name": "shrink_weight",
      "definition": "Weight on 2026 observed sample vs 2025 prior (disclosed; n=1 week \u21d2 heavy prior).",
      "inputs": [
        "sample_size_weeks"
      ],
      "label": "model"
    }
  ],
  "backtest": {
    "status": "WAIT",
    "plan_status": "BOARDED",
    "plan_path": "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_backtest_plan_v1.md",
    "window": "2025 REG walk-forward weeks 6\u201318",
    "metrics": {},
    "note": "Week2 values READY; backtest plan boarded; metrics not yet run"
  },
  "artifacts": {
    "paths": [
      "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_build_plan_v1.md",
      "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_week2_2026.teams.csv",
      "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_week2_2026.games.json",
      "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_week2_2026.meta.json",
      "/workspace/war-room/docs/methods/quant_lab_methods_v1.md",
      "/workspace/war-room/docs/proprietary_feature_dictionary_v1.md",
      "/workspace/war-room/data/features/power/packs/opponent_adjusted_epa_backtest_plan_v1.md"
    ]
  },
  "consume_hints": {
    "power": "Use net_epa_adj / component EPAs as blind strength inputs only. Do not join live shop or consensus prices until post-seal Market. If computed rows missing, treat pack as WAIT and keep prior Power path.",
    "market": "No consume for v1 outline \u2014 joins stay post-seal.",
    "tape": "Optional later: OL/QB stacks are separate features; do not overload this pack.",
    "treasurer": "No sizing from this pack. Not an Official."
  },
  "status": "READY",
  "computed_values_status": "READY",
  "dictionary_refs": [
    "opponent_adjusted_epa"
  ],
  "updated_at": "2026-09-17T15:49:44-05:00"
}
