{
  "protocol": {
    "id": "win-value-v1-diagnostic",
    "specified_on": "2026-10-30",
    "model": "turf-weather-v5-052a2d503a87",
    "period": [
      "2026-09-01",
      "2026-10-25"
    ],
    "status": "retrospective_final_odds_diagnostic_not_blind_not_live",
    "fixed_before_this_comparison": true,
    "threshold_search": false,
    "minimum_expected_return_ratio_exclusive": 1,
    "stake_yen": 100,
    "policies": [
      "top_probability_always",
      "top_probability_positive_value",
      "highest_positive_value"
    ],
    "tie_break": "lowest horse number",
    "missing_odds": "exclude entire race from matched comparison; report separately",
    "settlement": "official win_payouts; never calculate actual returns from odds",
    "daily_drawdown": "maximum peak-to-trough cumulative net profit at race-day close, starting from zero",
    "ci": "race-day cluster bootstrap 1000 draws, seed 20261030, linear 2.5/97.5 percentiles; descriptive only",
    "odds_buckets": [
      1,
      2,
      5,
      10,
      20,
      50
    ],
    "production_adoption": false,
    "limitations_ja": [
      "既に結果を閲覧した期間の追加分析。未開封テストではありません。",
      "最終オッズは事前判断には使えないため、実運用の回収率として扱いません。",
      "単勝のみ。連系・複勝の確率や期待値に流用できません。",
      "推定勝率×オッズが1を超えても、勝率の推定誤差や締切までの変動で利益は保証されません。",
      "今回の比較結果によって閾値・モデル・対象レースを選び直しません。"
    ]
  },
  "source_hashes": {
    "data/model/value-protocol.json": "52c00a7ab9cf0fdf30fb5ee0fdbc6321722e8f35c478f310da651867a1df986f",
    "src/model-summary.json": "3078e5c101c96461f1c58d95bcfe781f47ccf8a07fe406b7be4a0f62fb2aac8f",
    "src/model.json": "2ebc3d3d3ba835f76ff5cb79a5fe7896dca7b44c2e2de8e9acb00bdbdba48030",
    "src/value.js": "9b47308b67d2044f1ce88767f3ec6b580ec6773a05360acd51439f90c666560c",
    "src/predict.js": "6e389ff93d0a4b420033d89bc4d59daf48df8fd76520f576f6c81d12c44228e4",
    "src/input-contract.js": "18e4c5235215b154c7453590e060fd362a5d85666d75db5849d2181c4f2e9148",
    "src/tree-model.js": "e1b9ed86408d1e964ea405d838c65827c7020591169480d8d2abd080182d3708",
    "public/evaluation-predictions.json": "c1da3b230749e2250e126549d5f8076776156f75028cfb5e3d99e3673b92a466",
    "data/packed-months/2026-09.json.br": "a172e23fe4fad382ed4df1a4389a7082459edd99da7e7f72a881fc36db322fba",
    "data/r2/private/features/2026-09.json": "29399b3212ed5c9429194236f24affa353176cc071be6f18e7b481c55e6a2cef",
    "data/packed-months/2026-10.json.br": "65aca4f7e889637e2a27667a541663b0658ad820da023bcb62f0f76108020f11",
    "data/r2/private/features/2026-10.json": "e0991e8a40f365d6f269d45d8415429a2343a816c8325ee06e7be426d32c0ce7"
  },
  "production_model_unchanged": true,
  "pre_race_odds_available": false,
  "coverage": {
    "eligible_races": 435,
    "matched_races": 435,
    "excluded_races": 0,
    "exclusions": []
  },
  "previous_baseline": {
    "races": 435,
    "stake_yen": 43500,
    "return_yen": 30830,
    "roi_pct": 70.8735632183908
  },
  "policies": [
    {
      "id": "top_probability_always",
      "label": "勝率1位を毎回購入",
      "races": 435,
      "bets": 435,
      "skips": 0,
      "hits": 121,
      "hit_rate": 0.27816091954022987,
      "stake_yen": 43500,
      "return_yen": 30830,
      "profit_yen": -12670,
      "roi_pct": 70.8735632183908,
      "estimated_roi_pct": 103.5200340231568,
      "maximum_daily_drawdown_yen": 12670,
      "roi_95pct_interval": [
        60.103267973856205,
        82.05335906626229
      ],
      "bootstrap_valid_draws": 1000
    },
    {
      "id": "top_probability_positive_value",
      "label": "勝率1位が期待回収率100%超のときのみ",
      "races": 435,
      "bets": 155,
      "skips": 280,
      "hits": 22,
      "hit_rate": 0.14193548387096774,
      "stake_yen": 15500,
      "return_yen": 9450,
      "profit_yen": -6050,
      "roi_pct": 60.96774193548387,
      "estimated_roi_pct": 166.37575709699308,
      "maximum_daily_drawdown_yen": 6100,
      "roi_95pct_interval": [
        39.68841515934539,
        85.00089928057554
      ],
      "bootstrap_valid_draws": 1000
    },
    {
      "id": "highest_positive_value",
      "label": "期待回収率が最大、100%超のみ",
      "races": 435,
      "bets": 435,
      "skips": 0,
      "hits": 11,
      "hit_rate": 0.02528735632183908,
      "stake_yen": 43500,
      "return_yen": 31770,
      "profit_yen": -11730,
      "roi_pct": 73.03448275862068,
      "estimated_roi_pct": 371.1206957762066,
      "maximum_daily_drawdown_yen": 13240,
      "roi_95pct_interval": [
        22.827365542845676,
        142.8848956681118
      ],
      "bootstrap_valid_draws": 1000
    }
  ],
  "odds_calibration": [
    {
      "minimum_odds": 1,
      "maximum_odds_exclusive": 2,
      "runners": 120,
      "expected_wins": 38.13119976409452,
      "actual_wins": 64,
      "mean_estimated_probability": 0.31775999803412097,
      "observed_win_rate": 0.5333333333333333
    },
    {
      "minimum_odds": 2,
      "maximum_odds_exclusive": 5,
      "runners": 685,
      "expected_wins": 131.45004571570428,
      "actual_wins": 159,
      "mean_estimated_probability": 0.1918978769572325,
      "observed_win_rate": 0.2321167883211679
    },
    {
      "minimum_odds": 5,
      "maximum_odds_exclusive": 10,
      "runners": 937,
      "expected_wins": 107.09776101044606,
      "actual_wins": 105,
      "mean_estimated_probability": 0.11429857098233305,
      "observed_win_rate": 0.11205976520811099
    },
    {
      "minimum_odds": 10,
      "maximum_odds_exclusive": 20,
      "runners": 989,
      "expected_wins": 68.9531700818967,
      "actual_wins": 57,
      "mean_estimated_probability": 0.0697200910838187,
      "observed_win_rate": 0.057633973710819006
    },
    {
      "minimum_odds": 20,
      "maximum_odds_exclusive": 50,
      "runners": 1201,
      "expected_wins": 53.396483441787446,
      "actual_wins": 42,
      "mean_estimated_probability": 0.04446001951855741,
      "observed_win_rate": 0.034970857618651124
    },
    {
      "minimum_odds": 50,
      "maximum_odds_exclusive": null,
      "runners": 1817,
      "expected_wins": 35.97133998607124,
      "actual_wins": 8,
      "mean_estimated_probability": 0.019797105110661115,
      "observed_win_rate": 0.004402861860209136
    }
  ]
}
