{
  "schema": "ki.evaluation.v1",
  "generated_at": "2026-11-01T06:07:27.206928Z",
  "basis": {
    "source_view": "model.v_prediction_scored",
    "what_counts": "one rating per fixture per market per selection \u2014 the last one published at or before kickoff, pinned to the kickoff it was made for",
    "what_is_excluded": "superseded revisions of the same leg, and ratings whose fixture was later moved to a different kickoff. Measured 2026-10-19: 8,523 raw live legs reduce to 6,871 that count.",
    "known_defect_elsewhere": "model.v_performance, model.v_calibration and model.v_ece read the undeduped model.v_prediction_outcome and so overstate their samples by about 19% on live data. They are not used here.",
    "origins_never_pooled": {
      "live": "genuine pre-match forecasts published before kickoff \u2014 1,192 settled fixtures",
      "backtest": "walk-forward over history, not a published track record \u2014 57,632 fixtures",
      "shadow": "unpromoted candidates scored in parallel; never published"
    }
  },
  "definitions": {
    "brier_multiclass": "sum of squared error over every selection in the market. 0 to 2 for a three-way market and 0 to 2 for a two-sided over/under, which is twice its binary value.",
    "brier_binary": "squared error on one side only (home, or over). 0 to 1, and comparable with the Brier score other sources usually quote.",
    "log_loss": "negative natural log of the probability published for the outcome that actually happened. Lower is better; unbounded above.",
    "top_pick_hit": "share of fixtures where the highest-probability selection was the one that happened. A guard, not a driver \u2014 measured on 57,633 out-of-sample predictions it is twice as noisy as Brier in relative terms, and a rank-preserving change can improve Brier while leaving it exactly unchanged.",
    "calibration": "observed frequency against published probability, by decile. This is the question 'do 60% ratings happen 60% of the time'."
  },
  "live": {
    "by_model_version": [
      {
        "model_version": "football_v1_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 32,
        "scored_rows": 32,
        "brier_multiclass": 0.643045,
        "brier_multiclass_n": 32,
        "brier_binary": 0.225787,
        "brier_binary_n": 32,
        "log_loss": 1.057543,
        "log_loss_n": 32,
        "top_pick_hit": 0.46875,
        "top_pick_hit_n": 32,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "football_v1_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 32,
        "scored_rows": 32,
        "brier_multiclass": 0.514137,
        "brier_multiclass_n": 32,
        "brier_binary": 0.257068,
        "brier_binary_n": 32,
        "log_loss": 0.708748,
        "log_loss_n": 32,
        "top_pick_hit": 0.53125,
        "top_pick_hit_n": 32,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v2_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 24,
        "scored_rows": 24,
        "brier_multiclass": 0.4858,
        "brier_multiclass_n": 24,
        "brier_binary": 0.2429,
        "brier_binary_n": 24,
        "log_loss": 0.676385,
        "log_loss_n": 24,
        "top_pick_hit": 0.583333,
        "top_pick_hit_n": 24,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v2_cal",
        "market": "ou45",
        "market_description": "over or under 4.5 goals",
        "fixtures": 24,
        "scored_rows": 24,
        "brier_multiclass": 0.210997,
        "brier_multiclass_n": 24,
        "brier_binary": 0.105499,
        "brier_binary_n": 24,
        "log_loss": 0.354937,
        "log_loss_n": 24,
        "top_pick_hit": 0.833333,
        "top_pick_hit_n": 24,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v3_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 78,
        "scored_rows": 78,
        "brier_multiclass": 0.634783,
        "brier_multiclass_n": 78,
        "brier_binary": 0.230995,
        "brier_binary_n": 78,
        "log_loss": 1.049076,
        "log_loss_n": 78,
        "top_pick_hit": 0.461538,
        "top_pick_hit_n": 78,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v3_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 78,
        "scored_rows": 78,
        "brier_multiclass": 0.496748,
        "brier_multiclass_n": 78,
        "brier_binary": 0.248374,
        "brier_binary_n": 78,
        "log_loss": 0.689466,
        "log_loss_n": 78,
        "top_pick_hit": 0.551282,
        "top_pick_hit_n": 78,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v3_cal",
        "market": "ou45",
        "market_description": "over or under 4.5 goals",
        "fixtures": 78,
        "scored_rows": 78,
        "brier_multiclass": 0.263444,
        "brier_multiclass_n": 78,
        "brier_binary": 0.131722,
        "brier_binary_n": 78,
        "log_loss": 0.432007,
        "log_loss_n": 78,
        "top_pick_hit": 0.833333,
        "top_pick_hit_n": 78,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v4_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 1,
        "scored_rows": 1,
        "brier_multiclass": 0.132746,
        "brier_multiclass_n": 1,
        "brier_binary": 0.086344,
        "brier_binary_n": 1,
        "log_loss": 0.347919,
        "log_loss_n": 1,
        "top_pick_hit": 1.0,
        "top_pick_hit_n": 1,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v4_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 1,
        "scored_rows": 1,
        "brier_multiclass": 0.784931,
        "brier_multiclass_n": 1,
        "brier_binary": 0.392465,
        "brier_binary_n": 1,
        "log_loss": 0.984759,
        "log_loss_n": 1,
        "top_pick_hit": 0.0,
        "top_pick_hit_n": 1,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v4_cal",
        "market": "ou45",
        "market_description": "over or under 4.5 goals",
        "fixtures": 1,
        "scored_rows": 1,
        "brier_multiclass": 0.094529,
        "brier_multiclass_n": 1,
        "brier_binary": 0.047264,
        "brier_binary_n": 1,
        "log_loss": 0.245138,
        "log_loss_n": 1,
        "top_pick_hit": 1.0,
        "top_pick_hit_n": 1,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v6_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 5,
        "scored_rows": 5,
        "brier_multiclass": 0.329537,
        "brier_multiclass_n": 5,
        "brier_binary": 0.206904,
        "brier_binary_n": 5,
        "log_loss": 0.624592,
        "log_loss_n": 5,
        "top_pick_hit": 0.8,
        "top_pick_hit_n": 5,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v6_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 5,
        "scored_rows": 5,
        "brier_multiclass": 0.355729,
        "brier_multiclass_n": 5,
        "brier_binary": 0.177865,
        "brier_binary_n": 5,
        "log_loss": 0.544565,
        "log_loss_n": 5,
        "top_pick_hit": 0.8,
        "top_pick_hit_n": 5,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v6_cal",
        "market": "ou45",
        "market_description": "over or under 4.5 goals",
        "fixtures": 5,
        "scored_rows": 5,
        "brier_multiclass": 0.095701,
        "brier_multiclass_n": 5,
        "brier_binary": 0.047851,
        "brier_binary_n": 5,
        "log_loss": 0.244852,
        "log_loss_n": 5,
        "top_pick_hit": 1.0,
        "top_pick_hit_n": 5,
        "sufficient_for_a_claim": false
      },
      {
        "model_version": "goals_v7_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 1096,
        "scored_rows": 1096,
        "brier_multiclass": 0.592374,
        "brier_multiclass_n": 1096,
        "brier_binary": 0.218153,
        "brier_binary_n": 1096,
        "log_loss": 0.993426,
        "log_loss_n": 1096,
        "top_pick_hit": 0.512774,
        "top_pick_hit_n": 1096,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "goals_v7_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 1096,
        "scored_rows": 1096,
        "brier_multiclass": 0.478475,
        "brier_multiclass_n": 1096,
        "brier_binary": 0.239237,
        "brier_binary_n": 1096,
        "log_loss": 0.671067,
        "log_loss_n": 1096,
        "top_pick_hit": 0.577555,
        "top_pick_hit_n": 1096,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "goals_v7_cal",
        "market": "ou45",
        "market_description": "over or under 4.5 goals",
        "fixtures": 1096,
        "scored_rows": 1096,
        "brier_multiclass": 0.30344,
        "brier_multiclass_n": 1096,
        "brier_binary": 0.15172,
        "brier_binary_n": 1096,
        "log_loss": 0.479048,
        "log_loss_n": 1096,
        "top_pick_hit": 0.806569,
        "top_pick_hit_n": 1096,
        "sufficient_for_a_claim": true
      }
    ],
    "current_model": {
      "model_version": "goals_v7_cal",
      "markets": {
        "1x2": {
          "market_description": "home / draw / away",
          "fixtures": 1096,
          "scored_rows": 1096,
          "brier_multiclass": 0.592374,
          "brier_multiclass_n": 1096,
          "brier_binary": 0.218153,
          "brier_binary_n": 1096,
          "log_loss": 0.993426,
          "log_loss_n": 1096,
          "top_pick_hit": 0.512774,
          "top_pick_hit_n": 1096,
          "sufficient_for_a_claim": true,
          "calibration_bands": [
            {
              "band": "0.0-0.1",
              "legs": 77,
              "mean_predicted": 0.07192,
              "observed_frequency": 0.02597,
              "difference": -0.04594,
              "interpretable": true
            },
            {
              "band": "0.1-0.2",
              "legs": 349,
              "mean_predicted": 0.15971,
              "observed_frequency": 0.18338,
              "difference": 0.02367,
              "interpretable": true
            },
            {
              "band": "0.2-0.3",
              "legs": 1392,
              "mean_predicted": 0.25993,
              "observed_frequency": 0.24641,
              "difference": -0.01353,
              "interpretable": true
            },
            {
              "band": "0.3-0.4",
              "legs": 577,
              "mean_predicted": 0.34348,
              "observed_frequency": 0.34835,
              "difference": 0.00487,
              "interpretable": true
            },
            {
              "band": "0.4-0.5",
              "legs": 443,
              "mean_predicted": 0.44664,
              "observed_frequency": 0.43341,
              "difference": -0.01323,
              "interpretable": true
            },
            {
              "band": "0.5-0.6",
              "legs": 239,
              "mean_predicted": 0.54281,
              "observed_frequency": 0.58577,
              "difference": 0.04296,
              "interpretable": true
            },
            {
              "band": "0.6-0.7",
              "legs": 121,
              "mean_predicted": 0.64628,
              "observed_frequency": 0.66116,
              "difference": 0.01488,
              "interpretable": true
            },
            {
              "band": "0.7-0.8",
              "legs": 70,
              "mean_predicted": 0.74563,
              "observed_frequency": 0.82857,
              "difference": 0.08294,
              "interpretable": true
            },
            {
              "band": "0.8-0.9",
              "legs": 20,
              "mean_predicted": 0.83594,
              "observed_frequency": 0.8,
              "difference": -0.03594,
              "interpretable": false
            }
          ],
          "expected_calibration_error": {
            "value": 0.017496,
            "legs": 3268,
            "coverage_pct": 99.4,
            "note": "weighted mean absolute gap between published probability and observed frequency, over bands with at least 30 legs; coverage_pct says how much of the sample those bands hold"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "fixtures": 1096,
          "scored_rows": 1096,
          "brier_multiclass": 0.478475,
          "brier_multiclass_n": 1096,
          "brier_binary": 0.239237,
          "brier_binary_n": 1096,
          "log_loss": 0.671067,
          "log_loss_n": 1096,
          "top_pick_hit": 0.577555,
          "top_pick_hit_n": 1096,
          "sufficient_for_a_claim": true,
          "calibration_bands": [
            {
              "band": "0.1-0.2",
              "legs": 2,
              "mean_predicted": 0.18541,
              "observed_frequency": 0.0,
              "difference": -0.18541,
              "interpretable": false
            },
            {
              "band": "0.2-0.3",
              "legs": 36,
              "mean_predicted": 0.26409,
              "observed_frequency": 0.25,
              "difference": -0.01409,
              "interpretable": true
            },
            {
              "band": "0.3-0.4",
              "legs": 239,
              "mean_predicted": 0.36368,
              "observed_frequency": 0.36402,
              "difference": 0.00034,
              "interpretable": true
            },
            {
              "band": "0.4-0.5",
              "legs": 819,
              "mean_predicted": 0.45653,
              "observed_frequency": 0.44811,
              "difference": -0.00842,
              "interpretable": true
            },
            {
              "band": "0.5-0.6",
              "legs": 819,
              "mean_predicted": 0.54347,
              "observed_frequency": 0.55189,
              "difference": 0.00842,
              "interpretable": true
            },
            {
              "band": "0.6-0.7",
              "legs": 239,
              "mean_predicted": 0.63632,
              "observed_frequency": 0.63598,
              "difference": -0.00034,
              "interpretable": true
            },
            {
              "band": "0.7-0.8",
              "legs": 36,
              "mean_predicted": 0.73591,
              "observed_frequency": 0.75,
              "difference": 0.01409,
              "interpretable": true
            },
            {
              "band": "0.8-0.9",
              "legs": 2,
              "mean_predicted": 0.81459,
              "observed_frequency": 1.0,
              "difference": 0.18541,
              "interpretable": false
            }
          ],
          "expected_calibration_error": {
            "value": 0.006841,
            "legs": 2188,
            "coverage_pct": 99.8,
            "note": "weighted mean absolute gap between published probability and observed frequency, over bands with at least 30 legs; coverage_pct says how much of the sample those bands hold"
          }
        },
        "ou45": {
          "market_description": "over or under 4.5 goals",
          "fixtures": 1096,
          "scored_rows": 1096,
          "brier_multiclass": 0.30344,
          "brier_multiclass_n": 1096,
          "brier_binary": 0.15172,
          "brier_binary_n": 1096,
          "log_loss": 0.479048,
          "log_loss_n": 1096,
          "top_pick_hit": 0.806569,
          "top_pick_hit_n": 1096,
          "sufficient_for_a_claim": true,
          "calibration_bands": [
            {
              "band": "0.0-0.1",
              "legs": 116,
              "mean_predicted": 0.08575,
              "observed_frequency": 0.09483,
              "difference": 0.00908,
              "interpretable": true
            },
            {
              "band": "0.1-0.2",
              "legs": 711,
              "mean_predicted": 0.14659,
              "observed_frequency": 0.1744,
              "difference": 0.02782,
              "interpretable": true
            },
            {
              "band": "0.2-0.3",
              "legs": 225,
              "mean_predicted": 0.23457,
              "observed_frequency": 0.27111,
              "difference": 0.03654,
              "interpretable": true
            },
            {
              "band": "0.3-0.4",
              "legs": 35,
              "mean_predicted": 0.33159,
              "observed_frequency": 0.22857,
              "difference": -0.10302,
              "interpretable": true
            },
            {
              "band": "0.4-0.5",
              "legs": 9,
              "mean_predicted": 0.43827,
              "observed_frequency": 0.88889,
              "difference": 0.45062,
              "interpretable": false
            },
            {
              "band": "0.5-0.6",
              "legs": 9,
              "mean_predicted": 0.56173,
              "observed_frequency": 0.11111,
              "difference": -0.45062,
              "interpretable": false
            },
            {
              "band": "0.6-0.7",
              "legs": 35,
              "mean_predicted": 0.66841,
              "observed_frequency": 0.77143,
              "difference": 0.10302,
              "interpretable": true
            },
            {
              "band": "0.7-0.8",
              "legs": 225,
              "mean_predicted": 0.76543,
              "observed_frequency": 0.72889,
              "difference": -0.03654,
              "interpretable": true
            },
            {
              "band": "0.8-0.9",
              "legs": 711,
              "mean_predicted": 0.85341,
              "observed_frequency": 0.8256,
              "difference": -0.02782,
              "interpretable": true
            },
            {
              "band": "0.9-1.0",
              "legs": 116,
              "mean_predicted": 0.91425,
              "observed_frequency": 0.90517,
              "difference": -0.00908,
              "interpretable": true
            }
          ],
          "expected_calibration_error": {
            "value": 0.030046,
            "legs": 2174,
            "coverage_pct": 99.2,
            "note": "weighted mean absolute gap between published probability and observed frequency, over bands with at least 30 legs; coverage_pct says how much of the sample those bands hold"
          }
        }
      }
    },
    "by_competition": [
      {
        "competition": "championship",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 144,
        "scored_rows": 144,
        "brier_multiclass": 0.622585,
        "brier_multiclass_n": 144,
        "brier_binary": 0.228508,
        "brier_binary_n": 144,
        "log_loss": 1.036802,
        "log_loss_n": 144,
        "top_pick_hit": 0.465278,
        "top_pick_hit_n": 144,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "championship",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 144,
        "scored_rows": 144,
        "brier_multiclass": 0.494393,
        "brier_multiclass_n": 144,
        "brier_binary": 0.247197,
        "brier_binary_n": 144,
        "log_loss": 0.68753,
        "log_loss_n": 144,
        "top_pick_hit": 0.513889,
        "top_pick_hit_n": 144,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "championship",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 144,
        "scored_rows": 144,
        "brier_multiclass": 0.280317,
        "brier_multiclass_n": 144,
        "brier_binary": 0.140159,
        "brier_binary_n": 144,
        "log_loss": 0.448721,
        "log_loss_n": 144,
        "top_pick_hit": 0.826389,
        "top_pick_hit_n": 144,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "league-one",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 137,
        "scored_rows": 137,
        "brier_multiclass": 0.628845,
        "brier_multiclass_n": 137,
        "brier_binary": 0.233973,
        "brier_binary_n": 137,
        "log_loss": 1.044928,
        "log_loss_n": 137,
        "top_pick_hit": 0.467153,
        "top_pick_hit_n": 137,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "league-one",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 137,
        "scored_rows": 137,
        "brier_multiclass": 0.506713,
        "brier_multiclass_n": 137,
        "brier_binary": 0.253357,
        "brier_binary_n": 137,
        "log_loss": 0.700173,
        "log_loss_n": 137,
        "top_pick_hit": 0.525547,
        "top_pick_hit_n": 137,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "league-one",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 137,
        "scored_rows": 137,
        "brier_multiclass": 0.239039,
        "brier_multiclass_n": 137,
        "brier_binary": 0.11952,
        "brier_binary_n": 137,
        "log_loss": 0.400703,
        "log_loss_n": 137,
        "top_pick_hit": 0.861314,
        "top_pick_hit_n": 137,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "laliga-2",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 108,
        "scored_rows": 108,
        "brier_multiclass": 0.613943,
        "brier_multiclass_n": 108,
        "brier_binary": 0.240967,
        "brier_binary_n": 108,
        "log_loss": 1.021544,
        "log_loss_n": 108,
        "top_pick_hit": 0.481481,
        "top_pick_hit_n": 108,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "laliga-2",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 108,
        "scored_rows": 108,
        "brier_multiclass": 0.492533,
        "brier_multiclass_n": 108,
        "brier_binary": 0.246267,
        "brier_binary_n": 108,
        "log_loss": 0.685697,
        "log_loss_n": 108,
        "top_pick_hit": 0.537037,
        "top_pick_hit_n": 108,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "laliga-2",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 108,
        "scored_rows": 108,
        "brier_multiclass": 0.270082,
        "brier_multiclass_n": 108,
        "brier_binary": 0.135041,
        "brier_binary_n": 108,
        "log_loss": 0.447984,
        "log_loss_n": 108,
        "top_pick_hit": 0.842593,
        "top_pick_hit_n": 108,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "la-liga",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 96,
        "scored_rows": 96,
        "brier_multiclass": 0.557047,
        "brier_multiclass_n": 96,
        "brier_binary": 0.199954,
        "brier_binary_n": 96,
        "log_loss": 0.944775,
        "log_loss_n": 96,
        "top_pick_hit": 0.520833,
        "top_pick_hit_n": 96,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "la-liga",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 96,
        "scored_rows": 96,
        "brier_multiclass": 0.448326,
        "brier_multiclass_n": 96,
        "brier_binary": 0.224163,
        "brier_binary_n": 96,
        "log_loss": 0.639797,
        "log_loss_n": 96,
        "top_pick_hit": 0.645833,
        "top_pick_hit_n": 96,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "la-liga",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 96,
        "scored_rows": 96,
        "brier_multiclass": 0.346206,
        "brier_multiclass_n": 96,
        "brier_binary": 0.173103,
        "brier_binary_n": 96,
        "log_loss": 0.526754,
        "log_loss_n": 96,
        "top_pick_hit": 0.760417,
        "top_pick_hit_n": 96,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "serie-a",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 93,
        "scored_rows": 93,
        "brier_multiclass": 0.506875,
        "brier_multiclass_n": 93,
        "brier_binary": 0.180681,
        "brier_binary_n": 93,
        "log_loss": 0.878524,
        "log_loss_n": 93,
        "top_pick_hit": 0.634409,
        "top_pick_hit_n": 93,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "serie-a",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 93,
        "scored_rows": 93,
        "brier_multiclass": 0.487292,
        "brier_multiclass_n": 93,
        "brier_binary": 0.243646,
        "brier_binary_n": 93,
        "log_loss": 0.679945,
        "log_loss_n": 93,
        "top_pick_hit": 0.526882,
        "top_pick_hit_n": 93,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "serie-a",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 93,
        "scored_rows": 93,
        "brier_multiclass": 0.32525,
        "brier_multiclass_n": 93,
        "brier_binary": 0.162625,
        "brier_binary_n": 93,
        "log_loss": 0.502072,
        "log_loss_n": 93,
        "top_pick_hit": 0.784946,
        "top_pick_hit_n": 93,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "premier-league",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 87,
        "scored_rows": 87,
        "brier_multiclass": 0.63117,
        "brier_multiclass_n": 87,
        "brier_binary": 0.223158,
        "brier_binary_n": 87,
        "log_loss": 1.047258,
        "log_loss_n": 87,
        "top_pick_hit": 0.436782,
        "top_pick_hit_n": 87,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "premier-league",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 87,
        "scored_rows": 87,
        "brier_multiclass": 0.514128,
        "brier_multiclass_n": 87,
        "brier_binary": 0.257064,
        "brier_binary_n": 87,
        "log_loss": 0.707643,
        "log_loss_n": 87,
        "top_pick_hit": 0.505747,
        "top_pick_hit_n": 87,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "premier-league",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 87,
        "scored_rows": 87,
        "brier_multiclass": 0.273767,
        "brier_multiclass_n": 87,
        "brier_binary": 0.136884,
        "brier_binary_n": 87,
        "log_loss": 0.448208,
        "log_loss_n": 87,
        "top_pick_hit": 0.83908,
        "top_pick_hit_n": 87,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "eredivisie",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 77,
        "scored_rows": 77,
        "brier_multiclass": 0.446845,
        "brier_multiclass_n": 77,
        "brier_binary": 0.223423,
        "brier_binary_n": 77,
        "log_loss": 0.639995,
        "log_loss_n": 77,
        "top_pick_hit": 0.701299,
        "top_pick_hit_n": 77,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "eredivisie",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 77,
        "scored_rows": 77,
        "brier_multiclass": 0.461902,
        "brier_multiclass_n": 77,
        "brier_binary": 0.230951,
        "brier_binary_n": 77,
        "log_loss": 0.662054,
        "log_loss_n": 77,
        "top_pick_hit": 0.662338,
        "top_pick_hit_n": 77,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "eredivisie",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 77,
        "scored_rows": 77,
        "brier_multiclass": 0.613031,
        "brier_multiclass_n": 77,
        "brier_binary": 0.210592,
        "brier_binary_n": 77,
        "log_loss": 1.014128,
        "log_loss_n": 77,
        "top_pick_hit": 0.506494,
        "top_pick_hit_n": 77,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "ligue-1",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 70,
        "scored_rows": 70,
        "brier_multiclass": 0.573694,
        "brier_multiclass_n": 70,
        "brier_binary": 0.220611,
        "brier_binary_n": 70,
        "log_loss": 0.970586,
        "log_loss_n": 70,
        "top_pick_hit": 0.571429,
        "top_pick_hit_n": 70,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "ligue-1",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 70,
        "scored_rows": 70,
        "brier_multiclass": 0.447429,
        "brier_multiclass_n": 70,
        "brier_binary": 0.223715,
        "brier_binary_n": 70,
        "log_loss": 0.638932,
        "log_loss_n": 70,
        "top_pick_hit": 0.642857,
        "top_pick_hit_n": 70,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "ligue-1",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 70,
        "scored_rows": 70,
        "brier_multiclass": 0.256207,
        "brier_multiclass_n": 70,
        "brier_binary": 0.128103,
        "brier_binary_n": 70,
        "log_loss": 0.417312,
        "log_loss_n": 70,
        "top_pick_hit": 0.842857,
        "top_pick_hit_n": 70,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "bundesliga",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.592883,
        "brier_multiclass_n": 67,
        "brier_binary": 0.225061,
        "brier_binary_n": 67,
        "log_loss": 0.989222,
        "log_loss_n": 67,
        "top_pick_hit": 0.537313,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "bundesliga",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.427935,
        "brier_multiclass_n": 67,
        "brier_binary": 0.213967,
        "brier_binary_n": 67,
        "log_loss": 0.617108,
        "log_loss_n": 67,
        "top_pick_hit": 0.686567,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "bundesliga",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.465288,
        "brier_multiclass_n": 67,
        "brier_binary": 0.232644,
        "brier_binary_n": 67,
        "log_loss": 0.674914,
        "log_loss_n": 67,
        "top_pick_hit": 0.671642,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "super-lig",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.579452,
        "brier_multiclass_n": 67,
        "brier_binary": 0.214924,
        "brier_binary_n": 67,
        "log_loss": 0.974252,
        "log_loss_n": 67,
        "top_pick_hit": 0.537313,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "super-lig",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.473668,
        "brier_multiclass_n": 67,
        "brier_binary": 0.236834,
        "brier_binary_n": 67,
        "log_loss": 0.66658,
        "log_loss_n": 67,
        "top_pick_hit": 0.641791,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "super-lig",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 67,
        "scored_rows": 67,
        "brier_multiclass": 0.229767,
        "brier_multiclass_n": 67,
        "brier_binary": 0.114883,
        "brier_binary_n": 67,
        "log_loss": 0.386275,
        "log_loss_n": 67,
        "top_pick_hit": 0.865672,
        "top_pick_hit_n": 67,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "primeira-liga",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 64,
        "scored_rows": 64,
        "brier_multiclass": 0.553698,
        "brier_multiclass_n": 64,
        "brier_binary": 0.19925,
        "brier_binary_n": 64,
        "log_loss": 0.94233,
        "log_loss_n": 64,
        "top_pick_hit": 0.578125,
        "top_pick_hit_n": 64,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "primeira-liga",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 64,
        "scored_rows": 64,
        "brier_multiclass": 0.48034,
        "brier_multiclass_n": 64,
        "brier_binary": 0.24017,
        "brier_binary_n": 64,
        "log_loss": 0.672128,
        "log_loss_n": 64,
        "top_pick_hit": 0.53125,
        "top_pick_hit_n": 64,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "primeira-liga",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 64,
        "scored_rows": 64,
        "brier_multiclass": 0.196803,
        "brier_multiclass_n": 64,
        "brier_binary": 0.098401,
        "brier_binary_n": 64,
        "log_loss": 0.360265,
        "log_loss_n": 64,
        "top_pick_hit": 0.90625,
        "top_pick_hit_n": 64,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "scottish-prem",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 56,
        "scored_rows": 56,
        "brier_multiclass": 0.491776,
        "brier_multiclass_n": 56,
        "brier_binary": 0.245888,
        "brier_binary_n": 56,
        "log_loss": 0.685108,
        "log_loss_n": 56,
        "top_pick_hit": 0.571429,
        "top_pick_hit_n": 56,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "scottish-prem",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 56,
        "scored_rows": 56,
        "brier_multiclass": 0.190106,
        "brier_multiclass_n": 56,
        "brier_binary": 0.095053,
        "brier_binary_n": 56,
        "log_loss": 0.35381,
        "log_loss_n": 56,
        "top_pick_hit": 0.910714,
        "top_pick_hit_n": 56,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "scottish-prem",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 56,
        "scored_rows": 56,
        "brier_multiclass": 0.584011,
        "brier_multiclass_n": 56,
        "brier_binary": 0.197775,
        "brier_binary_n": 56,
        "log_loss": 0.981981,
        "log_loss_n": 56,
        "top_pick_hit": 0.5,
        "top_pick_hit_n": 56,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "champions-league",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 30,
        "scored_rows": 30,
        "brier_multiclass": 0.585158,
        "brier_multiclass_n": 30,
        "brier_binary": 0.257766,
        "brier_binary_n": 30,
        "log_loss": 0.98729,
        "log_loss_n": 30,
        "top_pick_hit": 0.533333,
        "top_pick_hit_n": 30,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "champions-league",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 30,
        "scored_rows": 30,
        "brier_multiclass": 0.655814,
        "brier_multiclass_n": 30,
        "brier_binary": 0.327907,
        "brier_binary_n": 30,
        "log_loss": 0.890887,
        "log_loss_n": 30,
        "top_pick_hit": 0.5,
        "top_pick_hit_n": 30,
        "sufficient_for_a_claim": false
      },
      {
        "competition": "champions-league",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 30,
        "scored_rows": 30,
        "brier_multiclass": 0.436674,
        "brier_multiclass_n": 30,
        "brier_binary": 0.218337,
        "brier_binary_n": 30,
        "log_loss": 0.629727,
        "log_loss_n": 30,
        "top_pick_hit": 0.666667,
        "top_pick_hit_n": 30,
        "sufficient_for_a_claim": false
      }
    ],
    "by_lead_time": [
      {
        "lead_time": "10 to 14h",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 537,
        "scored_rows": 537,
        "brier_multiclass": 0.564819,
        "brier_multiclass_n": 537,
        "brier_binary": 0.20585,
        "brier_binary_n": 537,
        "log_loss": 0.954803,
        "log_loss_n": 537,
        "top_pick_hit": 0.562384,
        "top_pick_hit_n": 537,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "14h or more",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 14,
        "scored_rows": 14,
        "brier_multiclass": 0.6373,
        "brier_multiclass_n": 14,
        "brier_binary": 0.282382,
        "brier_binary_n": 14,
        "log_loss": 1.096653,
        "log_loss_n": 14,
        "top_pick_hit": 0.571429,
        "top_pick_hit_n": 14,
        "sufficient_for_a_claim": false
      },
      {
        "lead_time": "6 to 10h",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 472,
        "scored_rows": 472,
        "brier_multiclass": 0.619783,
        "brier_multiclass_n": 472,
        "brier_binary": 0.231615,
        "brier_binary_n": 472,
        "log_loss": 1.030949,
        "log_loss_n": 472,
        "top_pick_hit": 0.461864,
        "top_pick_hit_n": 472,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "under 6h",
        "market": "1x2",
        "model_version": "goals_v7_cal",
        "fixtures": 73,
        "scored_rows": 73,
        "brier_multiclass": 0.609238,
        "brier_multiclass_n": 73,
        "brier_binary": 0.209288,
        "brier_binary_n": 73,
        "log_loss": 1.015124,
        "log_loss_n": 73,
        "top_pick_hit": 0.465753,
        "top_pick_hit_n": 73,
        "sufficient_for_a_claim": false
      },
      {
        "lead_time": "10 to 14h",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 537,
        "scored_rows": 537,
        "brier_multiclass": 0.470715,
        "brier_multiclass_n": 537,
        "brier_binary": 0.235358,
        "brier_binary_n": 537,
        "log_loss": 0.663111,
        "log_loss_n": 537,
        "top_pick_hit": 0.588454,
        "top_pick_hit_n": 537,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "14h or more",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 14,
        "scored_rows": 14,
        "brier_multiclass": 0.443217,
        "brier_multiclass_n": 14,
        "brier_binary": 0.221609,
        "brier_binary_n": 14,
        "log_loss": 0.630856,
        "log_loss_n": 14,
        "top_pick_hit": 0.5,
        "top_pick_hit_n": 14,
        "sufficient_for_a_claim": false
      },
      {
        "lead_time": "6 to 10h",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 472,
        "scored_rows": 472,
        "brier_multiclass": 0.4871,
        "brier_multiclass_n": 472,
        "brier_binary": 0.24355,
        "brier_binary_n": 472,
        "log_loss": 0.68001,
        "log_loss_n": 472,
        "top_pick_hit": 0.572034,
        "top_pick_hit_n": 472,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "under 6h",
        "market": "ou25",
        "model_version": "goals_v7_cal",
        "fixtures": 73,
        "scored_rows": 73,
        "brier_multiclass": 0.486552,
        "brier_multiclass_n": 73,
        "brier_binary": 0.243276,
        "brier_binary_n": 73,
        "log_loss": 0.679485,
        "log_loss_n": 73,
        "top_pick_hit": 0.547945,
        "top_pick_hit_n": 73,
        "sufficient_for_a_claim": false
      },
      {
        "lead_time": "10 to 14h",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 537,
        "scored_rows": 537,
        "brier_multiclass": 0.330481,
        "brier_multiclass_n": 537,
        "brier_binary": 0.165241,
        "brier_binary_n": 537,
        "log_loss": 0.512168,
        "log_loss_n": 537,
        "top_pick_hit": 0.782123,
        "top_pick_hit_n": 537,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "14h or more",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 14,
        "scored_rows": 14,
        "brier_multiclass": 0.121232,
        "brier_multiclass_n": 14,
        "brier_binary": 0.060616,
        "brier_binary_n": 14,
        "log_loss": 0.26101,
        "log_loss_n": 14,
        "top_pick_hit": 0.928571,
        "top_pick_hit_n": 14,
        "sufficient_for_a_claim": false
      },
      {
        "lead_time": "6 to 10h",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 472,
        "scored_rows": 472,
        "brier_multiclass": 0.296785,
        "brier_multiclass_n": 472,
        "brier_binary": 0.148393,
        "brier_binary_n": 472,
        "log_loss": 0.470391,
        "log_loss_n": 472,
        "top_pick_hit": 0.815678,
        "top_pick_hit_n": 472,
        "sufficient_for_a_claim": true
      },
      {
        "lead_time": "under 6h",
        "market": "ou45",
        "model_version": "goals_v7_cal",
        "fixtures": 73,
        "scored_rows": 73,
        "brier_multiclass": 0.182487,
        "brier_multiclass_n": 73,
        "brier_binary": 0.091243,
        "brier_binary_n": 73,
        "log_loss": 0.333194,
        "log_loss_n": 73,
        "top_pick_hit": 0.90411,
        "top_pick_hit_n": 73,
        "sufficient_for_a_claim": false
      }
    ],
    "lead_time_note": "Lead time varies with kickoff, not with when KI runs: the horizon is a wall-clock 06:00 UTC, so an early kickoff has a short lead and a late one a long one. These bands therefore compare kickoff times as much as they compare lead times."
  },
  "backtest": {
    "by_model_version": [
      {
        "model_version": "always_home",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 57632,
        "scored_rows": 57632,
        "brier_multiclass": 0.841378,
        "brier_multiclass_n": 57632,
        "brier_binary": 0.374876,
        "brier_binary_n": 57632,
        "log_loss": 1.383737,
        "log_loss_n": 57632,
        "top_pick_hit": 0.441873,
        "top_pick_hit_n": 57632,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "football_v1",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 57632,
        "scored_rows": 57632,
        "brier_multiclass": 0.619134,
        "brier_multiclass_n": 57632,
        "brier_binary": 0.227548,
        "brier_binary_n": 57632,
        "log_loss": 1.037478,
        "log_loss_n": 57632,
        "top_pick_hit": 0.484835,
        "top_pick_hit_n": 57632,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "football_v1",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 57632,
        "scored_rows": 57632,
        "brier_multiclass": 0.5077,
        "brier_multiclass_n": 57632,
        "brier_binary": 0.25385,
        "brier_binary_n": 57632,
        "log_loss": 0.702213,
        "log_loss_n": 57632,
        "top_pick_hit": 0.533957,
        "top_pick_hit_n": 57632,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "football_v1_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 57632,
        "scored_rows": 57632,
        "brier_multiclass": 0.607957,
        "brier_multiclass_n": 57632,
        "brier_binary": 0.22459,
        "brier_binary_n": 57632,
        "log_loss": 1.036955,
        "log_loss_n": 57632,
        "top_pick_hit": 0.494552,
        "top_pick_hit_n": 57632,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "football_v1_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 57632,
        "scored_rows": 57632,
        "brier_multiclass": 0.496594,
        "brier_multiclass_n": 57632,
        "brier_binary": 0.248297,
        "brier_binary_n": 57632,
        "log_loss": 0.69532,
        "log_loss_n": 57632,
        "top_pick_hit": 0.531979,
        "top_pick_hit_n": 57632,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "market",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 56678,
        "scored_rows": 56678,
        "brier_multiclass": 0.586272,
        "brier_multiclass_n": 56678,
        "brier_binary": 0.214869,
        "brier_binary_n": 56678,
        "log_loss": 0.983359,
        "log_loss_n": 56678,
        "top_pick_hit": 0.520555,
        "top_pick_hit_n": 56678,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "market",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 30888,
        "scored_rows": 30888,
        "brier_multiclass": 0.481324,
        "brier_multiclass_n": 30888,
        "brier_binary": 0.240662,
        "brier_binary_n": 30888,
        "log_loss": 0.674076,
        "log_loss_n": 30888,
        "top_pick_hit": 0.578768,
        "top_pick_hit_n": 30888,
        "sufficient_for_a_claim": true
      }
    ]
  },
  "shadow": {
    "by_model_version": [
      {
        "model_version": "e25_s2_shadow_v1",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 1002,
        "scored_rows": 1002,
        "brier_multiclass": 0.591363,
        "brier_multiclass_n": 1002,
        "brier_binary": 0.218363,
        "brier_binary_n": 1002,
        "log_loss": 0.991382,
        "log_loss_n": 1002,
        "top_pick_hit": 0.516966,
        "top_pick_hit_n": 1002,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "e8d_shadow_v1_cal",
        "market": "1x2",
        "market_description": "home / draw / away",
        "fixtures": 994,
        "scored_rows": 994,
        "brier_multiclass": 0.591833,
        "brier_multiclass_n": 994,
        "brier_binary": 0.219951,
        "brier_binary_n": 994,
        "log_loss": 0.992971,
        "log_loss_n": 994,
        "top_pick_hit": 0.515091,
        "top_pick_hit_n": 994,
        "sufficient_for_a_claim": true
      },
      {
        "model_version": "e8d_shadow_v1_cal",
        "market": "ou25",
        "market_description": "over or under 2.5 goals",
        "fixtures": 994,
        "scored_rows": 994,
        "brier_multiclass": 0.480555,
        "brier_multiclass_n": 994,
        "brier_binary": 0.240277,
        "brier_binary_n": 994,
        "log_loss": 0.67334,
        "log_loss_n": 994,
        "top_pick_hit": 0.582495,
        "top_pick_hit_n": 994,
        "sufficient_for_a_claim": true
      }
    ]
  },
  "market_comparison": {
    "current_model": "goals_v7_cal",
    "by_model_version": {
      "football_v1_cal": {
        "1x2": {
          "market_description": "home / draw / away",
          "paired_fixtures": 32,
          "bookmakers": {
            "pinnacle": 32
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 32,
            "mean": 0.001857,
            "ci95_low": -0.042991,
            "ci95_high": 0.051524,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "brier_binary_model_minus_market": {
            "n": 32,
            "mean": -1.5e-05,
            "ci95_low": -0.026682,
            "ci95_high": 0.027913,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "log_loss_model_minus_market": {
            "n": 32,
            "mean": 0.007898,
            "ci95_low": -0.063962,
            "ci95_high": 0.087134,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 32,
          "bookmakers": {
            "pinnacle": 32
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 32,
            "mean": 0.005567,
            "ci95_low": -0.044764,
            "ci95_high": 0.062008,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "brier_binary_model_minus_market": {
            "n": 32,
            "mean": 0.002784,
            "ci95_low": -0.022382,
            "ci95_high": 0.031004,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "log_loss_model_minus_market": {
            "n": 32,
            "mean": 0.006604,
            "ci95_low": -0.04682,
            "ci95_high": 0.067623,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          }
        }
      },
      "goals_v3_cal": {
        "1x2": {
          "market_description": "home / draw / away",
          "paired_fixtures": 78,
          "bookmakers": {
            "pinnacle": 78
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 78,
            "mean": 0.034723,
            "ci95_low": 0.011516,
            "ci95_high": 0.060272,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "brier_binary_model_minus_market": {
            "n": 78,
            "mean": 0.02171,
            "ci95_low": 0.006697,
            "ci95_high": 0.037592,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "log_loss_model_minus_market": {
            "n": 78,
            "mean": 0.049825,
            "ci95_low": 0.0167,
            "ci95_high": 0.085918,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 78,
          "bookmakers": {
            "pinnacle": 78
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 78,
            "mean": 0.008445,
            "ci95_low": -0.019684,
            "ci95_high": 0.037106,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "brier_binary_model_minus_market": {
            "n": 78,
            "mean": 0.004223,
            "ci95_low": -0.009842,
            "ci95_high": 0.018553,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          },
          "log_loss_model_minus_market": {
            "n": 78,
            "mean": 0.008745,
            "ci95_low": -0.020184,
            "ci95_high": 0.038152,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": true,
            "verdict": "no measured difference"
          }
        }
      },
      "goals_v6_cal": {
        "1x2": {
          "market_description": "home / draw / away",
          "paired_fixtures": 5,
          "bookmakers": {
            "pinnacle": 5
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          },
          "brier_binary_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          },
          "log_loss_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 5,
          "bookmakers": {
            "pinnacle": 5
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          },
          "brier_binary_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          },
          "log_loss_model_minus_market": {
            "n": 5,
            "mean": null,
            "note": "5 paired fixtures is too few to resample"
          }
        }
      },
      "goals_v7_cal": {
        "1x2": {
          "market_description": "home / draw / away",
          "paired_fixtures": 1087,
          "bookmakers": {
            "pinnacle": 1080,
            "bet365": 7
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 1087,
            "mean": 0.010253,
            "ci95_low": 0.003471,
            "ci95_high": 0.017614,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "brier_binary_model_minus_market": {
            "n": 1087,
            "mean": 0.005234,
            "ci95_low": 0.001546,
            "ci95_high": 0.009272,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "log_loss_model_minus_market": {
            "n": 1087,
            "mean": 0.014377,
            "ci95_low": 0.00455,
            "ci95_high": 0.025024,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 1094,
          "bookmakers": {
            "pinnacle": 1080,
            "unknown": 7,
            "bet365": 7
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 1094,
            "mean": 0.013035,
            "ci95_low": 0.006545,
            "ci95_high": 0.019684,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "brier_binary_model_minus_market": {
            "n": 1094,
            "mean": 0.006517,
            "ci95_low": 0.003273,
            "ci95_high": 0.009842,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          },
          "log_loss_model_minus_market": {
            "n": 1094,
            "mean": 0.013634,
            "ci95_low": 0.006852,
            "ci95_high": 0.020619,
            "draws": 2000,
            "seed": 20261019,
            "reproducible": "the sample is sorted before resampling, so this interval is a function of the data and the seed alone and is identical on every rebuild",
            "interval_straddles_zero": false,
            "verdict": "market better"
          }
        }
      },
      "goals_v4_cal": {
        "1x2": {
          "market_description": "home / draw / away",
          "paired_fixtures": 1,
          "bookmakers": {
            "pinnacle": 1
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          },
          "brier_binary_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          },
          "log_loss_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          }
        },
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 1,
          "bookmakers": {
            "pinnacle": 1
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          },
          "brier_binary_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          },
          "log_loss_model_minus_market": {
            "n": 1,
            "mean": null,
            "note": "1 paired fixtures is too few to resample"
          }
        }
      },
      "goals_v2_cal": {
        "ou25": {
          "market_description": "over or under 2.5 goals",
          "paired_fixtures": 24,
          "bookmakers": {
            "pinnacle": 24
          },
          "price_is_model_input": false,
          "price_phases": [
            "pre_match"
          ],
          "brier_multiclass_model_minus_market": {
            "n": 24,
            "mean": null,
            "note": "24 paired fixtures is too few to resample"
          },
          "brier_binary_model_minus_market": {
            "n": 24,
            "mean": null,
            "note": "24 paired fixtures is too few to resample"
          },
          "log_loss_model_minus_market": {
            "n": 24,
            "mean": null,
            "note": "24 paired fixtures is too few to resample"
          }
        }
      }
    },
    "interpretation": "Negative means KI scored better than the bookmaker on the same fixtures. A verdict of 'no measured difference' means the 95% paired-bootstrap interval includes zero, and no advantage either way should be read from the mean in that case. The price is overwhelmingly Pinnacle, a sharp benchmark rather than a price available at stake, so this is a harder comparison than one against a retail book.",
    "read_the_current_model": "current_model names the version live now (goals_v7_cal). Figures for retired versions are kept because deleting them would flatter the record, but they describe models no longer serving and often rest on a few dozen fixtures."
  },
  "reproduction": {
    "records": "/evaluation/records.csv",
    "records_note": "every scored live leg, one row each, with the probability published, the outcome, and the contemporaneous price. The figures above are reproducible from it without access to the store.",
    "minimum_sample_for_a_claim": 200,
    "caveat": "Figures are reported with their sample size and nothing is suppressed for being unflattering. A slice under 200 fixtures carries sufficient_for_a_claim: false and should be read as an observation, not a result."
  }
}
