{
  "version": "nfl-historical-winner-v1",
  "generatedAt": "2026-09-13T15:53:57.474Z",
  "kind": "retrospective-replay",
  "season": 2025,
  "modelVersion": "gridiron-fundamental-v0.2",
  "modelHash": "6a83f1c9e91d856dc1bb293fdc7cf7f84054e29a3fd33e983e62edf5a25ca50e",
  "datasetId": "nfl-2025-8edb56469e8c18a5",
  "status": "candidate-needs-prospective-validation",
  "promoted": false,
  "injuries": false,
  "scope": "winner probabilities only",
  "policy": {
    "version": "nfl-historical-winner-v1",
    "temperatures": [
      1,
      1.2,
      0.8
    ],
    "trainingLastWeek": 9,
    "validationFirstWeek": 10,
    "validationLastWeek": 18,
    "minimumTrainingGames": 64,
    "minimumValidationGames": 32,
    "automaticPromotion": false
  },
  "coverage": {
    "games": 285,
    "regularSeason": 272,
    "playoffs": 13,
    "binaryGames": 284
  },
  "chronological": {
    "trainingGames": 134,
    "freezeAt": "2025-11-07T00:00:00.000Z",
    "candidates": [
      {
        "temperature": 0.8,
        "games": 134,
        "brier": 0.22441408022961182,
        "logLoss": 0.6396171563207881
      },
      {
        "temperature": 1,
        "games": 134,
        "brier": 0.22590936123880598,
        "logLoss": 0.6431628885787706
      },
      {
        "temperature": 1.2,
        "games": 134,
        "brier": 0.22776530900942743,
        "logLoss": 0.6473767560168591
      }
    ],
    "temperature": 0.8,
    "baseline": {
      "games": 137,
      "brier": 0.2200016308116787,
      "logLoss": 0.6297272090182198
    },
    "challenger": {
      "games": 137,
      "brier": 0.2184178434228447,
      "logLoss": 0.6252040085898637
    },
    "market": {
      "games": 137,
      "brier": 0.21381204379562055,
      "logLoss": 0.6090144806042447
    }
  },
  "folds": [
    {
      "week": 6,
      "trainingGames": 77,
      "freezeAt": "2025-10-09T23:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 15,
        "brier": 0.24485757317333334,
        "logLoss": 0.6840422351530325
      },
      "challenger": {
        "games": 15,
        "brier": 0.2471919858455213,
        "logLoss": 0.6904330335425442
      },
      "market": {
        "games": 15,
        "brier": 0.20448333333333332,
        "logLoss": 0.5949343315122069
      }
    },
    {
      "week": 7,
      "trainingGames": 92,
      "freezeAt": "2025-10-16T23:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 15,
        "brier": 0.20408803477333334,
        "logLoss": 0.5979894220075598
      },
      "challenger": {
        "games": 15,
        "brier": 0.19638289926539254,
        "logLoss": 0.5802416593843301
      },
      "market": {
        "games": 15,
        "brier": 0.17521166666666665,
        "logLoss": 0.5314800895520049
      }
    },
    {
      "week": 8,
      "trainingGames": 107,
      "freezeAt": "2025-10-23T23:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 13,
        "brier": 0.18355988101538462,
        "logLoss": 0.5539272769293273
      },
      "challenger": {
        "games": 13,
        "brier": 0.1742115542969572,
        "logLoss": 0.5313128946325038
      },
      "market": {
        "games": 13,
        "brier": 0.16926923076923078,
        "logLoss": 0.5162066357421211
      }
    },
    {
      "week": 9,
      "trainingGames": 120,
      "freezeAt": "2025-10-30T23:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 14,
        "brier": 0.2541295976,
        "logLoss": 0.7024741756514138
      },
      "challenger": {
        "games": 14,
        "brier": 0.2592866914944113,
        "logLoss": 0.7153643920999534
      },
      "market": {
        "games": 14,
        "brier": 0.26472500000000004,
        "logLoss": 0.7406631860277313
      }
    },
    {
      "week": 10,
      "trainingGames": 134,
      "freezeAt": "2025-11-07T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 14,
        "brier": 0.21078210142857148,
        "logLoss": 0.6116972378659135
      },
      "challenger": {
        "games": 14,
        "brier": 0.20636017141481713,
        "logLoss": 0.6012687630535007
      },
      "market": {
        "games": 14,
        "brier": 0.20641607142857138,
        "logLoss": 0.6030720513482962
      }
    },
    {
      "week": 11,
      "trainingGames": 148,
      "freezeAt": "2025-11-14T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 15,
        "brier": 0.20795037087999999,
        "logLoss": 0.6062630998883368
      },
      "challenger": {
        "games": 15,
        "brier": 0.2012126802444459,
        "logLoss": 0.5907406424124169
      },
      "market": {
        "games": 15,
        "brier": 0.181985,
        "logLoss": 0.5443337247157101
      }
    },
    {
      "week": 12,
      "trainingGames": 163,
      "freezeAt": "2025-11-21T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 14,
        "brier": 0.1832362170857143,
        "logLoss": 0.5524023709269729
      },
      "challenger": {
        "games": 14,
        "brier": 0.17379537374095005,
        "logLoss": 0.5288349975826309
      },
      "market": {
        "games": 14,
        "brier": 0.16498214285714288,
        "logLoss": 0.4961958728886501
      }
    },
    {
      "week": 13,
      "trainingGames": 177,
      "freezeAt": "2025-11-27T17:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 16,
        "brier": 0.238752861925,
        "logLoss": 0.6710592138539307
      },
      "challenger": {
        "games": 16,
        "brier": 0.24184571730297066,
        "logLoss": 0.6789568047506278
      },
      "market": {
        "games": 16,
        "brier": 0.2524546875,
        "logLoss": 0.7027896574653201
      }
    },
    {
      "week": 14,
      "trainingGames": 193,
      "freezeAt": "2025-12-05T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 14,
        "brier": 0.22543460897142859,
        "logLoss": 0.6419817238383406
      },
      "challenger": {
        "games": 14,
        "brier": 0.22498968656075874,
        "logLoss": 0.6403393890198064
      },
      "market": {
        "games": 14,
        "brier": 0.24737321428571435,
        "logLoss": 0.686736690593122
      }
    },
    {
      "week": 15,
      "trainingGames": 207,
      "freezeAt": "2025-12-12T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 16,
        "brier": 0.195052265975,
        "logLoss": 0.574612350729002
      },
      "challenger": {
        "games": 16,
        "brier": 0.1895831751450854,
        "logLoss": 0.5585101199247479
      },
      "market": {
        "games": 16,
        "brier": 0.19546249999999998,
        "logLoss": 0.560260595835072
      }
    },
    {
      "week": 16,
      "trainingGames": 223,
      "freezeAt": "2025-12-19T00:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 16,
        "brier": 0.24589232522499999,
        "logLoss": 0.6819253763502329
      },
      "challenger": {
        "games": 16,
        "brier": 0.25009225560974674,
        "logLoss": 0.6899356603995618
      },
      "market": {
        "games": 16,
        "brier": 0.22687499999999997,
        "logLoss": 0.6392430358518528
      }
    },
    {
      "week": 17,
      "trainingGames": 239,
      "freezeAt": "2025-12-25T17:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 16,
        "brier": 0.24263080687500005,
        "logLoss": 0.6778485130985932
      },
      "challenger": {
        "games": 16,
        "brier": 0.24387814341557668,
        "logLoss": 0.6803493167899148
      },
      "market": {
        "games": 16,
        "brier": 0.23986250000000003,
        "logLoss": 0.6660846330314439
      }
    },
    {
      "week": 18,
      "trainingGames": 255,
      "freezeAt": "2026-01-03T20:00:00.000Z",
      "temperature": 0.8,
      "baseline": {
        "games": 16,
        "brier": 0.224460919575,
        "logLoss": 0.6379009509891107
      },
      "challenger": {
        "games": 16,
        "brier": 0.22666452735360007,
        "logLoss": 0.6426003134752645
      },
      "market": {
        "games": 16,
        "brier": 0.204075,
        "logLoss": 0.5732416630928735
      }
    }
  ],
  "postseason": {
    "baseline": {
      "games": 13,
      "brier": 0.2027069700923077,
      "logLoss": 0.5962611501861084
    },
    "challenger": {
      "games": 13,
      "brier": 0.1940300202143882,
      "logLoss": 0.577150438184445
    },
    "market": {
      "games": 13,
      "brier": 0.1839173076923077,
      "logLoss": 0.5543196757598433
    }
  },
  "notes": [
    "Retrospective replays are separate from genuine live forecast receipts. This season has already been inspected; the chronological split is not an untouched validation set.",
    "Confidence temperature is selected only on earlier settled regular-season games, using Brier score. The same frozen choice is checked on later weeks; market prices are a benchmark, never a calibration input.",
    "No division, road-under or price-band profit is converted into a probability boost. No injury, score, spread, total or team-total calibration is inferred from winner results.",
    "A candidate may improve the core and still trail the market. Historical success does not authorize automatic promotion. New pregame shadow receipts provide prospective validation."
  ],
  "currentCoreMatches": true,
  "marketPatterns": {
    "available": true,
    "status": "research-only",
    "probabilityBoostsEnabled": false,
    "notes": [
      "Cheap-longshot NO and division-underdog patterns are hypotheses, not model multipliers.",
      "Road team unders had only nine eligible regular-season observations; no adjustment is supported."
    ],
    "coverage": {
      "downloadedReceipts": 1668,
      "usableQuoteRows": 2339,
      "noCandle": 1045,
      "rejected": 1620,
      "byHorizon": {
        "1": {
          "winner": {
            "games": 285,
            "regularGames": 272,
            "teamOrGameThresholds": 570,
            "firstKickoff": "2025-09-05T00:20:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "teamTotal": {
            "games": 24,
            "regularGames": 11,
            "teamOrGameThresholds": 45,
            "firstKickoff": "2025-12-05T01:15:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "gameTotal": {
            "games": 229,
            "regularGames": 216,
            "teamOrGameThresholds": 229,
            "firstKickoff": "2025-09-06T00:00:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          }
        },
        "24": {
          "winner": {
            "games": 285,
            "regularGames": 272,
            "teamOrGameThresholds": 570,
            "firstKickoff": "2025-09-05T00:20:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "teamTotal": {
            "games": 8,
            "regularGames": 2,
            "teamOrGameThresholds": 11,
            "firstKickoff": "2025-12-12T01:15:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "gameTotal": {
            "games": 81,
            "regularGames": 70,
            "teamOrGameThresholds": 81,
            "firstKickoff": "2025-09-07T20:05:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          }
        },
        "72": {
          "winner": {
            "games": 284,
            "regularGames": 271,
            "teamOrGameThresholds": 568,
            "firstKickoff": "2025-09-05T00:20:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "teamTotal": {
            "games": 2,
            "regularGames": 0,
            "teamOrGameThresholds": 3,
            "firstKickoff": "2026-01-10T21:30:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          },
          "gameTotal": {
            "games": 30,
            "regularGames": 24,
            "teamOrGameThresholds": 30,
            "firstKickoff": "2025-09-26T00:15:00.000Z",
            "lastKickoff": "2026-02-08T23:30:00.000Z"
          }
        }
      }
    }
  },
  "candidate": {
    "id": "historical-winner-6048676f430955e5",
    "mode": "shadow-only",
    "scope": "winner-no-injuries",
    "modelVersion": "gridiron-fundamental-v0.2",
    "modelHash": "6a83f1c9e91d856dc1bb293fdc7cf7f84054e29a3fd33e983e62edf5a25ca50e",
    "datasetId": "nfl-2025-8edb56469e8c18a5",
    "temperature": 0.8,
    "frozenAt": "2026-09-13T15:53:57.474Z",
    "trainingWeeks": "2025 weeks 1–9",
    "validationWeeks": "2025 weeks 10–18, previously inspected season",
    "promoted": false
  }
}
