{"schemaVersion":"epl-football-prediction-model-benchmark/1.0.0","releaseDate":"2026-07-18","title":"Same-match EPL football prediction model benchmark","status":"aggregate research benchmark; no production model activation","directAnswer":"On the same 1,520 EPL matches, Elo to multinomial logistic regression had the lowest history-only class-averaged Brier score (0.1951354035). The later-information Shin closing-market reference scored 0.1900581029; that timing difference prevents a like-for-like algorithm-versus-market claim.","league":{"code":"E0","name":"English Premier League","country":"England"},"evaluation":{"sourceSeasonCount":10,"sourceMatchCount":3800,"trainingSeasons":["2016/17","2017/18","2018/19","2019/20","2020/21","2021/22"],"evaluationSeasons":["2022/23","2023/24","2024/25","2025/26"],"evaluationMatchCount":1520,"evaluationWeekCount":143,"temporalCoverageStart":"2022-08-05","temporalCoverageEnd":"2026-05-24","evaluationFixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","allModelsFullCoverage":true},"protocol":{"name":"Four-fold complete-season expanding-origin evaluation","foldUnit":"One complete EPL season.","evaluationFolds":4,"fittingCutoff":"Every learned mapping for an evaluation season uses only complete earlier seasons.","featureAsOf":"24 hours before scheduled kick-off.","resultAvailabilityLag":"24 hours after kick-off; eligible source timestamps must be strictly earlier than feature as-of.","sameKickoffSafety":"Feature snapshots are batched by identical kick-off; no same-time result can enter another snapshot.","lightgbmCalibration":"One-vs-rest isotonic calibrators use expanding earlier-season raw probabilities that were themselves generated by models trained only before each calibration season. The evaluation raw model then fits all complete earlier seasons.","marketTiming":"AvgCH/AvgCD/AvgCA are average closing odds and therefore a later-information contextual reference, not a same-information 24-hour baseline.","algorithmRankingBoundary":"Rows are forecast systems with declared protocols and information sets. The table cannot isolate an algorithm-causal ranking, and the market rows cannot be compared as if observed 24 hours before kick-off.","foldDiagnostics":[{"evaluationSeason":"2022/23","trainingSeasons":["2016/17","2017/18","2018/19","2019/20","2020/21","2021/22"],"trainingMatchCount":2280,"calibrationOofSeasons":["2018/19","2019/20","2020/21","2021/22"],"calibrationOofMatchCount":1520,"poissonTeamCount":31,"poissonConvergenceIterations":6,"dixonColesLowScoreTrainingMatches":772,"dixonColesRho":-0.0498604524,"poissonColdStartEvaluationMatches":38},{"evaluationSeason":"2023/24","trainingSeasons":["2016/17","2017/18","2018/19","2019/20","2020/21","2021/22","2022/23"],"trainingMatchCount":2660,"calibrationOofSeasons":["2018/19","2019/20","2020/21","2021/22","2022/23"],"calibrationOofMatchCount":1900,"poissonTeamCount":32,"poissonConvergenceIterations":6,"dixonColesLowScoreTrainingMatches":903,"dixonColesRho":-0.0342578528,"poissonColdStartEvaluationMatches":38},{"evaluationSeason":"2024/25","trainingSeasons":["2016/17","2017/18","2018/19","2019/20","2020/21","2021/22","2022/23","2023/24"],"trainingMatchCount":3040,"calibrationOofSeasons":["2018/19","2019/20","2020/21","2021/22","2022/23","2023/24"],"calibrationOofMatchCount":2280,"poissonTeamCount":33,"poissonConvergenceIterations":6,"dixonColesLowScoreTrainingMatches":994,"dixonColesRho":-0.0288776032,"poissonColdStartEvaluationMatches":38},{"evaluationSeason":"2025/26","trainingSeasons":["2016/17","2017/18","2018/19","2019/20","2020/21","2021/22","2022/23","2023/24","2024/25"],"trainingMatchCount":3420,"calibrationOofSeasons":["2018/19","2019/20","2020/21","2021/22","2022/23","2023/24","2024/25"],"calibrationOofMatchCount":2660,"poissonTeamCount":34,"poissonConvergenceIterations":6,"dixonColesLowScoreTrainingMatches":1110,"dixonColesRho":-0.0274728718,"poissonColdStartEvaluationMatches":0}]},"scoring":{"primary":"Class-averaged multiclass Brier: mean(sum((p_HDA-y_HDA)^2)/3); lower is better.","logLossNats":"Mean negative natural logarithm of the observed-outcome probability; lower is better.","normalizedRps":"Mean two-threshold ranked probability score divided by two in H-D-A order; lower is better.","topPickHitRateFractionalTies":"A tied top set receives 1/k credit when it contains the observed class and zero otherwise.","topLabelEce10":"Ten equal-width confidence bins with fractional-tie correctness; weighted absolute calibration gap.","macroClasswiseEce10":"Mean of ten-bin one-vs-rest ECE for H, D and A."},"models":[{"id":"uniform","label":"Uniform 1/3 baseline","category":"baseline","informationSet":"fixed_distribution","method":"Fixed probabilities (1/3, 1/3, 1/3) for every match.","fitSchedule":"Never fitted.","inputs":[]},{"id":"expanding_league_prior","label":"Availability-safe expanding EPL prior","category":"baseline","informationSet":"past_results_24h_safe","method":"Observed H/D/A frequencies from finals whose 24-hour result lag ended strictly before the 24-hour forecast timestamp.","fitSchedule":"Updated before each fixture timestamp without same-time or unavailable results.","inputs":["past EPL outcomes"]},{"id":"elo_multinomial_logit","label":"Elo to multinomial logistic regression","category":"history_only_model","informationSet":"history_features_24h_safe","method":"Three-class L2 multinomial logistic regression on the locked home-advantage Elo difference.","fitSchedule":"Refitted once before each evaluation season using complete earlier seasons only.","inputs":["elo_diff_home_adv"]},{"id":"multinomial_logistic_14_feature","label":"14-feature multinomial logistic regression","category":"history_only_model","informationSet":"history_features_24h_safe","method":"Median imputation, standardization and L2 three-class multinomial logistic regression.","fitSchedule":"Refitted once before each evaluation season using complete earlier seasons only.","inputs":["home_points_sum_5","away_points_sum_5","home_goals_for_sum_5","home_goals_against_sum_5","away_goals_for_sum_5","away_goals_against_sum_5","home_home_points_sum_5","home_home_goal_diff_sum_5","away_away_points_sum_5","away_away_goal_diff_sum_5","elo_diff_home_adv","h2h_home_points_sum_5","home_rest_days","away_rest_days"]},{"id":"ridge_poisson","label":"Independent ridge-Poisson","category":"history_only_model","informationSet":"past_results_24h_safe","method":"Independent home/away Poisson goal rates with home advantage and ridge attack/defence effects, converted to 1X2 probabilities.","fitSchedule":"Refitted once before each evaluation season using complete earlier seasons only.","inputs":["past EPL final scores","home team","away team"]},{"id":"sequential_dixon_coles","label":"Sequential training-only Dixon-Coles","category":"history_only_model","informationSet":"past_results_24h_safe","method":"Training-only Dixon-Coles low-score rho applied to the identical ridge-Poisson rates; not a joint Dixon-Coles fit.","fitSchedule":"Poisson rates and rho are refitted once before each evaluation season from complete earlier seasons only.","inputs":["past EPL final scores","home team","away team"]},{"id":"lightgbm_raw","label":"Raw 14-feature LightGBM","category":"ablation","informationSet":"history_features_24h_safe","method":"Locked deterministic multiclass LightGBM before probability calibration.","fitSchedule":"Refitted once before each season on all complete earlier seasons; published as a calibration ablation.","inputs":["home_points_sum_5","away_points_sum_5","home_goals_for_sum_5","home_goals_against_sum_5","away_goals_for_sum_5","away_goals_against_sum_5","home_home_points_sum_5","home_home_goal_diff_sum_5","away_away_points_sum_5","away_away_goal_diff_sum_5","elo_diff_home_adv","h2h_home_points_sum_5","home_rest_days","away_rest_days"]},{"id":"lightgbm_isotonic","label":"LightGBM plus training-only isotonic calibration","category":"history_only_model","informationSet":"history_features_24h_safe","method":"The same raw LightGBM probabilities passed through one-vs-rest isotonic calibrators and renormalized.","fitSchedule":"The evaluation raw model uses all earlier seasons; calibrators use expanding raw predictions generated out of fold on earlier seasons only.","inputs":["home_points_sum_5","away_points_sum_5","home_goals_for_sum_5","home_goals_against_sum_5","away_goals_for_sum_5","away_goals_against_sum_5","home_home_points_sum_5","home_home_goal_diff_sum_5","away_away_points_sum_5","away_away_goal_diff_sum_5","elo_diff_home_adv","h2h_home_points_sum_5","home_rest_days","away_rest_days"]},{"id":"market_closing_proportional","label":"Proportional de-vig closing market","category":"later_information_reference","informationSet":"closing_market_later_information","method":"Average closing 1X2 decimal odds converted to implied weights and normalized by booksum.","fitSchedule":"Not a fitted AI model; closing prices are observed later than the 24-hour model timestamp.","inputs":["AvgCH","AvgCD","AvgCA"]},{"id":"market_closing_shin","label":"Shin de-vig closing market","category":"later_information_reference","informationSet":"closing_market_later_information","method":"Average closing 1X2 decimal odds de-vigged with deterministic Shin bisection.","fitSchedule":"Not a fitted AI model; closing prices are observed later than the 24-hour model timestamp.","inputs":["AvgCH","AvgCD","AvgCA"]}],"leaderboard":[{"modelId":"uniform","label":"Uniform 1/3 baseline","category":"baseline","informationSet":"fixed_distribution","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.2222222222,"logLossNats":1.0986122887,"normalizedRps":0.2376461988,"topPickHitRateFractionalTies":0.3333333333,"topLabelEce10":0.0,"macroClasswiseEce10":0.0742690058},"overallBrierRankIncludingLaterMarket":10},{"modelId":"expanding_league_prior","label":"Availability-safe expanding EPL prior","category":"baseline","informationSet":"past_results_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.2152576576,"logLossNats":1.0677515934,"normalizedRps":0.2313915489,"topPickHitRateFractionalTies":0.4447368421,"topLabelEce10":0.0056750639,"macroClasswiseEce10":0.0088077758},"overallBrierRankIncludingLaterMarket":9,"historyOnlyBrierRank":7},{"modelId":"elo_multinomial_logit","label":"Elo to multinomial logistic regression","category":"history_only_model","informationSet":"history_features_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.1951354035,"logLossNats":0.9816183347,"normalizedRps":0.2015402626,"topPickHitRateFractionalTies":0.5361842105,"topLabelEce10":0.0291843124,"macroClasswiseEce10":0.0163203407},"overallBrierRankIncludingLaterMarket":3,"historyOnlyBrierRank":1},{"modelId":"multinomial_logistic_14_feature","label":"14-feature multinomial logistic regression","category":"history_only_model","informationSet":"history_features_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.1960042718,"logLossNats":0.98433179,"normalizedRps":0.2022481217,"topPickHitRateFractionalTies":0.5315789474,"topLabelEce10":0.0333657533,"macroClasswiseEce10":0.0217414647},"overallBrierRankIncludingLaterMarket":4,"historyOnlyBrierRank":2},{"modelId":"ridge_poisson","label":"Independent ridge-Poisson","category":"history_only_model","informationSet":"past_results_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.2051492452,"logLossNats":1.0273203255,"normalizedRps":0.2168692281,"topPickHitRateFractionalTies":0.4940789474,"topLabelEce10":0.036492386,"macroClasswiseEce10":0.0309570525},"overallBrierRankIncludingLaterMarket":7,"historyOnlyBrierRank":5},{"modelId":"sequential_dixon_coles","label":"Sequential training-only Dixon-Coles","category":"history_only_model","informationSet":"past_results_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.2051422235,"logLossNats":1.0277088022,"normalizedRps":0.2168657172,"topPickHitRateFractionalTies":0.4940789474,"topLabelEce10":0.0322787297,"macroClasswiseEce10":0.0264756297},"overallBrierRankIncludingLaterMarket":6,"historyOnlyBrierRank":4},{"modelId":"lightgbm_raw","label":"Raw 14-feature LightGBM","category":"ablation","informationSet":"history_features_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.2128921392,"logLossNats":1.0759304335,"normalizedRps":0.2195274942,"topPickHitRateFractionalTies":0.4782894737,"topLabelEce10":0.1179337046,"macroClasswiseEce10":0.0855584533},"overallBrierRankIncludingLaterMarket":8,"historyOnlyBrierRank":6},{"modelId":"lightgbm_isotonic","label":"LightGBM plus training-only isotonic calibration","category":"history_only_model","informationSet":"history_features_24h_safe","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.203273506,"logLossNats":1.0305789074,"normalizedRps":0.2126486237,"topPickHitRateFractionalTies":0.5019736842,"topLabelEce10":0.0134299778,"macroClasswiseEce10":0.0302090997},"overallBrierRankIncludingLaterMarket":5,"historyOnlyBrierRank":3},{"modelId":"market_closing_proportional","label":"Proportional de-vig closing market","category":"later_information_reference","informationSet":"closing_market_later_information","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.1900717951,"logLossNats":0.9603101955,"normalizedRps":0.1947163832,"topPickHitRateFractionalTies":0.5513157895,"topLabelEce10":0.0222176293,"macroClasswiseEce10":0.0162716748},"overallBrierRankIncludingLaterMarket":2},{"modelId":"market_closing_shin","label":"Shin de-vig closing market","category":"later_information_reference","informationSet":"closing_market_later_information","n":1520,"fixtureKeySetSha256":"be42108329815e8969c95eace1537d855bb8bcbce148800254a01b19836c7151","metrics":{"brierClassAverage":0.1900581029,"logLossNats":0.9600088967,"normalizedRps":0.1946674657,"topPickHitRateFractionalTies":0.5513157895,"topLabelEce10":0.028787463,"macroClasswiseEce10":0.0174410836},"overallBrierRankIncludingLaterMarket":1}],"seasonSummaries":[{"season":"2022/23","n":380,"weekCount":34,"coverageStart":"2022-08-05","coverageEnd":"2023-05-28","fixtureKeySetSha256":"93ab89aa12db0a3c7259c140a7d8206538600bb55f972200141ff4e6b1abed6a","models":[{"modelId":"uniform","metrics":{"brierClassAverage":0.2222222222,"logLossNats":1.0986122887,"normalizedRps":0.239619883,"topPickHitRateFractionalTies":0.3333333333,"topLabelEce10":0.0,"macroClasswiseEce10":0.1005847953}},{"modelId":"expanding_league_prior","metrics":{"brierClassAverage":0.2112001481,"logLossNats":1.0507126309,"normalizedRps":0.2285007755,"topPickHitRateFractionalTies":0.4842105263,"topLabelEce10":0.0347955834,"macroClasswiseEce10":0.0240504165}},{"modelId":"elo_multinomial_logit","metrics":{"brierClassAverage":0.1930752503,"logLossNats":0.9737461853,"normalizedRps":0.2013040633,"topPickHitRateFractionalTies":0.5473684211,"topLabelEce10":0.03955051,"macroClasswiseEce10":0.0364092304}},{"modelId":"multinomial_logistic_14_feature","metrics":{"brierClassAverage":0.1957364083,"logLossNats":0.9849466644,"normalizedRps":0.2045858191,"topPickHitRateFractionalTies":0.5394736842,"topLabelEce10":0.0396561074,"macroClasswiseEce10":0.0465324215}},{"modelId":"ridge_poisson","metrics":{"brierClassAverage":0.204182716,"logLossNats":1.023876416,"normalizedRps":0.2187922927,"topPickHitRateFractionalTies":0.5026315789,"topLabelEce10":0.0405882931,"macroClasswiseEce10":0.0576398819}},{"modelId":"sequential_dixon_coles","metrics":{"brierClassAverage":0.2042486078,"logLossNats":1.0251096454,"normalizedRps":0.2188252386,"topPickHitRateFractionalTies":0.5026315789,"topLabelEce10":0.0344883659,"macroClasswiseEce10":0.0592286217}},{"modelId":"lightgbm_raw","metrics":{"brierClassAverage":0.2186281069,"logLossNats":1.1040216227,"normalizedRps":0.2252834065,"topPickHitRateFractionalTies":0.4578947368,"topLabelEce10":0.147120898,"macroClasswiseEce10":0.1205845774}},{"modelId":"lightgbm_isotonic","metrics":{"brierClassAverage":0.2041883036,"logLossNats":1.0241380516,"normalizedRps":0.2157192683,"topPickHitRateFractionalTies":0.5026315789,"topLabelEce10":0.0404185406,"macroClasswiseEce10":0.0665579769}},{"modelId":"market_closing_proportional","metrics":{"brierClassAverage":0.1903969815,"logLossNats":0.9620391829,"normalizedRps":0.1974732418,"topPickHitRateFractionalTies":0.5552631579,"topLabelEce10":0.0418584627,"macroClasswiseEce10":0.0477970508}},{"modelId":"market_closing_shin","metrics":{"brierClassAverage":0.1903568746,"logLossNats":0.961880672,"normalizedRps":0.1974181842,"topPickHitRateFractionalTies":0.5552631579,"topLabelEce10":0.0617088673,"macroClasswiseEce10":0.0514482086}}]},{"season":"2023/24","n":380,"weekCount":37,"coverageStart":"2023-08-11","coverageEnd":"2024-05-19","fixtureKeySetSha256":"ae24d3166cfd5c7d6bb15b069135fa2e01fd1c660efda04433e95f1904ce173c","models":[{"modelId":"uniform","metrics":{"brierClassAverage":0.2222222222,"logLossNats":1.0986122887,"normalizedRps":0.2418128655,"topPickHitRateFractionalTies":0.3333333333,"topLabelEce10":0.0,"macroClasswiseEce10":0.0847953216}},{"modelId":"expanding_league_prior","metrics":{"brierClassAverage":0.2123288499,"logLossNats":1.0537980007,"normalizedRps":0.2337909738,"topPickHitRateFractionalTies":0.4605263158,"topLabelEce10":0.0075243817,"macroClasswiseEce10":0.0067953662}},{"modelId":"elo_multinomial_logit","metrics":{"brierClassAverage":0.1839825926,"logLossNats":0.9356003326,"normalizedRps":0.1924605949,"topPickHitRateFractionalTies":0.5684210526,"topLabelEce10":0.0333823672,"macroClasswiseEce10":0.0249747767}},{"modelId":"multinomial_logistic_14_feature","metrics":{"brierClassAverage":0.183771459,"logLossNats":0.9338028989,"normalizedRps":0.1912630239,"topPickHitRateFractionalTies":0.5710526316,"topLabelEce10":0.0500371828,"macroClasswiseEce10":0.0325077059}},{"modelId":"ridge_poisson","metrics":{"brierClassAverage":0.1859208829,"logLossNats":0.945860187,"normalizedRps":0.1959852366,"topPickHitRateFractionalTies":0.5631578947,"topLabelEce10":0.0415811146,"macroClasswiseEce10":0.0322838121}},{"modelId":"sequential_dixon_coles","metrics":{"brierClassAverage":0.1861034885,"logLossNats":0.9468042854,"normalizedRps":0.1960765394,"topPickHitRateFractionalTies":0.5631578947,"topLabelEce10":0.0416314109,"macroClasswiseEce10":0.0335224811}},{"modelId":"lightgbm_raw","metrics":{"brierClassAverage":0.1940619324,"logLossNats":0.9904057678,"normalizedRps":0.2020206996,"topPickHitRateFractionalTies":0.5210526316,"topLabelEce10":0.1006397179,"macroClasswiseEce10":0.0700554988}},{"modelId":"lightgbm_isotonic","metrics":{"brierClassAverage":0.1920501811,"logLossNats":1.0193117848,"normalizedRps":0.203208441,"topPickHitRateFractionalTies":0.5473684211,"topLabelEce10":0.0615934435,"macroClasswiseEce10":0.0597235242}},{"modelId":"market_closing_proportional","metrics":{"brierClassAverage":0.1755819436,"logLossNats":0.9007013128,"normalizedRps":0.18079885,"topPickHitRateFractionalTies":0.6,"topLabelEce10":0.0595257758,"macroClasswiseEce10":0.0333847473}},{"modelId":"market_closing_shin","metrics":{"brierClassAverage":0.1752749972,"logLossNats":0.8991091866,"normalizedRps":0.1803921017,"topPickHitRateFractionalTies":0.6,"topLabelEce10":0.0457288642,"macroClasswiseEce10":0.0282337099}}]},{"season":"2024/25","n":380,"weekCount":36,"coverageStart":"2024-08-16","coverageEnd":"2025-05-25","fixtureKeySetSha256":"573de4bad9e0bf86bda269b2e40e793d8d325a967391239fc2691b30330db4c3","models":[{"modelId":"uniform","metrics":{"brierClassAverage":0.2222222222,"logLossNats":1.0986122887,"normalizedRps":0.2369883041,"topPickHitRateFractionalTies":0.3333333333,"topLabelEce10":0.0,"macroClasswiseEce10":0.0590643275}},{"modelId":"expanding_league_prior","metrics":{"brierClassAverage":0.2187095151,"logLossNats":1.0817207511,"normalizedRps":0.235458078,"topPickHitRateFractionalTies":0.4078947368,"topLabelEce10":0.0429336923,"macroClasswiseEce10":0.0286224616}},{"modelId":"elo_multinomial_logit","metrics":{"brierClassAverage":0.1974031153,"logLossNats":0.9895774008,"normalizedRps":0.203629358,"topPickHitRateFractionalTies":0.5394736842,"topLabelEce10":0.0641837051,"macroClasswiseEce10":0.0455235925}},{"modelId":"multinomial_logistic_14_feature","metrics":{"brierClassAverage":0.1989360134,"logLossNats":0.993170715,"normalizedRps":0.2051084938,"topPickHitRateFractionalTies":0.5236842105,"topLabelEce10":0.0615423492,"macroClasswiseEce10":0.0449177809}},{"modelId":"ridge_poisson","metrics":{"brierClassAverage":0.2133855255,"logLossNats":1.0611244462,"normalizedRps":0.2277991472,"topPickHitRateFractionalTies":0.4473684211,"topLabelEce10":0.0798525647,"macroClasswiseEce10":0.0536641339}},{"modelId":"sequential_dixon_coles","metrics":{"brierClassAverage":0.2133241966,"logLossNats":1.0612836327,"normalizedRps":0.2277684828,"topPickHitRateFractionalTies":0.4473684211,"topLabelEce10":0.0768040153,"macroClasswiseEce10":0.0513668596}},{"modelId":"lightgbm_raw","metrics":{"brierClassAverage":0.2155435051,"logLossNats":1.0916497986,"normalizedRps":0.2241647208,"topPickHitRateFractionalTies":0.4973684211,"topLabelEce10":0.125932801,"macroClasswiseEce10":0.0980865395}},{"modelId":"lightgbm_isotonic","metrics":{"brierClassAverage":0.204377941,"logLossNats":1.0213252678,"normalizedRps":0.2140947526,"topPickHitRateFractionalTies":0.4973684211,"topLabelEce10":0.0224109713,"macroClasswiseEce10":0.0257135131}},{"modelId":"market_closing_proportional","metrics":{"brierClassAverage":0.1917292504,"logLossNats":0.9667334135,"normalizedRps":0.1961019726,"topPickHitRateFractionalTies":0.5552631579,"topLabelEce10":0.02913957,"macroClasswiseEce10":0.0393498649}},{"modelId":"market_closing_shin","metrics":{"brierClassAverage":0.191801571,"logLossNats":0.9668289422,"normalizedRps":0.1961579017,"topPickHitRateFractionalTies":0.5552631579,"topLabelEce10":0.0325649845,"macroClasswiseEce10":0.0370587523}}]},{"season":"2025/26","n":380,"weekCount":36,"coverageStart":"2025-08-15","coverageEnd":"2026-05-24","fixtureKeySetSha256":"30b4626b6f123e1e2193e3f09015380794ca7b4727a48291967b2db244bfbc81","models":[{"modelId":"uniform","metrics":{"brierClassAverage":0.2222222222,"logLossNats":1.0986122887,"normalizedRps":0.2321637427,"topPickHitRateFractionalTies":0.3333333333,"topLabelEce10":0.0,"macroClasswiseEce10":0.0619883041}},{"modelId":"expanding_league_prior","metrics":{"brierClassAverage":0.2187921174,"logLossNats":1.0847749908,"normalizedRps":0.2278163684,"topPickHitRateFractionalTies":0.4263157895,"topLabelEce10":0.0220865282,"macroClasswiseEce10":0.0297133733}},{"modelId":"elo_multinomial_logit","metrics":{"brierClassAverage":0.2060806556,"logLossNats":1.02754942,"normalizedRps":0.2087670341,"topPickHitRateFractionalTies":0.4894736842,"topLabelEce10":0.0588230951,"macroClasswiseEce10":0.0414418178}},{"modelId":"multinomial_logistic_14_feature","metrics":{"brierClassAverage":0.2055732063,"logLossNats":1.0254068817,"normalizedRps":0.2080351499,"topPickHitRateFractionalTies":0.4921052632,"topLabelEce10":0.0656345464,"macroClasswiseEce10":0.0472786612}},{"modelId":"ridge_poisson","metrics":{"brierClassAverage":0.2171078566,"logLossNats":1.078420253,"normalizedRps":0.224900236,"topPickHitRateFractionalTies":0.4631578947,"topLabelEce10":0.0733598428,"macroClasswiseEce10":0.0621667099}},{"modelId":"sequential_dixon_coles","metrics":{"brierClassAverage":0.2168926009,"logLossNats":1.0776376451,"normalizedRps":0.2247926082,"topPickHitRateFractionalTies":0.4631578947,"topLabelEce10":0.0817916229,"macroClasswiseEce10":0.0583578659}},{"modelId":"lightgbm_raw","metrics":{"brierClassAverage":0.2233350123,"logLossNats":1.1176445451,"normalizedRps":0.2266411498,"topPickHitRateFractionalTies":0.4368421053,"topLabelEce10":0.1294980545,"macroClasswiseEce10":0.0984531529}},{"modelId":"lightgbm_isotonic","metrics":{"brierClassAverage":0.2124775983,"logLossNats":1.0575405254,"normalizedRps":0.2175720327,"topPickHitRateFractionalTies":0.4605263158,"topLabelEce10":0.0422453079,"macroClasswiseEce10":0.0440554645}},{"modelId":"market_closing_proportional","metrics":{"brierClassAverage":0.2025790049,"logLossNats":1.0117668727,"normalizedRps":0.2044914686,"topPickHitRateFractionalTies":0.4947368421,"topLabelEce10":0.0340301258,"macroClasswiseEce10":0.0361400452}},{"modelId":"market_closing_shin","metrics":{"brierClassAverage":0.2027989689,"logLossNats":1.0122167859,"normalizedRps":0.2047016752,"topPickHitRateFractionalTies":0.4947368421,"topLabelEce10":0.0506747645,"macroClasswiseEce10":0.0421460159}}]}],"calibration":[{"modelId":"uniform","topLabelEce10":0.0,"macroClasswiseEce10":0.0742690058,"classwise":[{"outcome":"H","ece10":0.1114035088},{"outcome":"D","ece10":0.0925438596},{"outcome":"A","ece10":0.0188596491}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":1520,"meanConfidence":0.3333333333,"observedHitRateFractionalTies":0.3333333333,"absoluteGap":0.0},{"lower":0.4,"upper":0.5,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.5,"upper":0.6,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.6,"upper":0.7,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.7,"upper":0.8,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.8,"upper":0.9,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.9,"upper":1.0,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null}]},{"modelId":"expanding_league_prior","topLabelEce10":0.0056750639,"macroClasswiseEce10":0.0088077758,"classwise":[{"outcome":"H","ece10":0.0056750639},{"outcome":"D","ece10":0.0132116637},{"outcome":"A","ece10":0.0075365998}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.4,"upper":0.5,"n":1520,"meanConfidence":0.450411906,"observedHitRateFractionalTies":0.4447368421,"absoluteGap":0.0056750639},{"lower":0.5,"upper":0.6,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.6,"upper":0.7,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.7,"upper":0.8,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.8,"upper":0.9,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.9,"upper":1.0,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null}]},{"modelId":"elo_multinomial_logit","topLabelEce10":0.0291843124,"macroClasswiseEce10":0.0163203407,"classwise":[{"outcome":"H","ece10":0.0223398476},{"outcome":"D","ece10":0.0154002414},{"outcome":"A","ece10":0.0112209331}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":134,"meanConfidence":0.3861283968,"observedHitRateFractionalTies":0.4253731343,"absoluteGap":0.0392447375},{"lower":0.4,"upper":0.5,"n":483,"meanConfidence":0.4480298806,"observedHitRateFractionalTies":0.4575569358,"absoluteGap":0.0095270552},{"lower":0.5,"upper":0.6,"n":411,"meanConfidence":0.5462135586,"observedHitRateFractionalTies":0.501216545,"absoluteGap":0.0449970136},{"lower":0.6,"upper":0.7,"n":283,"meanConfidence":0.6488636142,"observedHitRateFractionalTies":0.6254416961,"absoluteGap":0.0234219181},{"lower":0.7,"upper":0.8,"n":161,"meanConfidence":0.7405818817,"observedHitRateFractionalTies":0.6956521739,"absoluteGap":0.0449297078},{"lower":0.8,"upper":0.9,"n":47,"meanConfidence":0.8286097557,"observedHitRateFractionalTies":0.8723404255,"absoluteGap":0.0437306699},{"lower":0.9,"upper":1.0,"n":1,"meanConfidence":0.9114075359,"observedHitRateFractionalTies":1.0,"absoluteGap":0.0885924641}]},{"modelId":"multinomial_logistic_14_feature","topLabelEce10":0.0333657533,"macroClasswiseEce10":0.0217414647,"classwise":[{"outcome":"H","ece10":0.0249814019},{"outcome":"D","ece10":0.0169528482},{"outcome":"A","ece10":0.0232901441}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":147,"meanConfidence":0.3849986102,"observedHitRateFractionalTies":0.462585034,"absoluteGap":0.0775864238},{"lower":0.4,"upper":0.5,"n":501,"meanConfidence":0.4488725669,"observedHitRateFractionalTies":0.4231536926,"absoluteGap":0.0257188743},{"lower":0.5,"upper":0.6,"n":381,"meanConfidence":0.5464955872,"observedHitRateFractionalTies":0.5223097113,"absoluteGap":0.0241858759},{"lower":0.6,"upper":0.7,"n":282,"meanConfidence":0.6487108928,"observedHitRateFractionalTies":0.6241134752,"absoluteGap":0.0245974176},{"lower":0.7,"upper":0.8,"n":160,"meanConfidence":0.7397541947,"observedHitRateFractionalTies":0.6875,"absoluteGap":0.0522541947},{"lower":0.8,"upper":0.9,"n":47,"meanConfidence":0.8353802789,"observedHitRateFractionalTies":0.8723404255,"absoluteGap":0.0369601466},{"lower":0.9,"upper":1.0,"n":2,"meanConfidence":0.911751904,"observedHitRateFractionalTies":1.0,"absoluteGap":0.088248096}]},{"modelId":"ridge_poisson","topLabelEce10":0.036492386,"macroClasswiseEce10":0.0309570525,"classwise":[{"outcome":"H","ece10":0.0406419832},{"outcome":"D","ece10":0.0116115157},{"outcome":"A","ece10":0.0406176585}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":199,"meanConfidence":0.3809920404,"observedHitRateFractionalTies":0.3668341709,"absoluteGap":0.0141578696},{"lower":0.4,"upper":0.5,"n":570,"meanConfidence":0.4484199921,"observedHitRateFractionalTies":0.4210526316,"absoluteGap":0.0273673605},{"lower":0.5,"upper":0.6,"n":343,"meanConfidence":0.5478268937,"observedHitRateFractionalTies":0.5393586006,"absoluteGap":0.0084682931},{"lower":0.6,"upper":0.7,"n":235,"meanConfidence":0.6480787161,"observedHitRateFractionalTies":0.5276595745,"absoluteGap":0.1204191416},{"lower":0.7,"upper":0.8,"n":125,"meanConfidence":0.7426464238,"observedHitRateFractionalTies":0.704,"absoluteGap":0.0386464238},{"lower":0.8,"upper":0.9,"n":46,"meanConfidence":0.8296127414,"observedHitRateFractionalTies":0.847826087,"absoluteGap":0.0182133455},{"lower":0.9,"upper":1.0,"n":2,"meanConfidence":0.9100622783,"observedHitRateFractionalTies":1.0,"absoluteGap":0.0899377217}]},{"modelId":"sequential_dixon_coles","topLabelEce10":0.0322787297,"macroClasswiseEce10":0.0264756297,"classwise":[{"outcome":"H","ece10":0.039662021},{"outcome":"D","ece10":0.0025235873},{"outcome":"A","ece10":0.0372412809}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":225,"meanConfidence":0.3790398414,"observedHitRateFractionalTies":0.3733333333,"absoluteGap":0.005706508},{"lower":0.4,"upper":0.5,"n":570,"meanConfidence":0.4487872072,"observedHitRateFractionalTies":0.4280701754,"absoluteGap":0.0207170318},{"lower":0.5,"upper":0.6,"n":322,"meanConfidence":0.5486065292,"observedHitRateFractionalTies":0.5372670807,"absoluteGap":0.0113394485},{"lower":0.6,"upper":0.7,"n":238,"meanConfidence":0.6475135647,"observedHitRateFractionalTies":0.5378151261,"absoluteGap":0.1096984387},{"lower":0.7,"upper":0.8,"n":119,"meanConfidence":0.7437429324,"observedHitRateFractionalTies":0.6974789916,"absoluteGap":0.0462639408},{"lower":0.8,"upper":0.9,"n":44,"meanConfidence":0.8290077931,"observedHitRateFractionalTies":0.8409090909,"absoluteGap":0.0119012978},{"lower":0.9,"upper":1.0,"n":2,"meanConfidence":0.9088000976,"observedHitRateFractionalTies":1.0,"absoluteGap":0.0911999024}]},{"modelId":"lightgbm_raw","topLabelEce10":0.1179337046,"macroClasswiseEce10":0.0855584533,"classwise":[{"outcome":"H","ece10":0.0913054291},{"outcome":"D","ece10":0.1041724819},{"outcome":"A","ece10":0.0611974489}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":91,"meanConfidence":0.3730576131,"observedHitRateFractionalTies":0.2307692308,"absoluteGap":0.1422883824},{"lower":0.4,"upper":0.5,"n":399,"meanConfidence":0.4524613218,"observedHitRateFractionalTies":0.4085213033,"absoluteGap":0.0439400185},{"lower":0.5,"upper":0.6,"n":358,"meanConfidence":0.5484610646,"observedHitRateFractionalTies":0.4413407821,"absoluteGap":0.1071202824},{"lower":0.6,"upper":0.7,"n":270,"meanConfidence":0.6470867494,"observedHitRateFractionalTies":0.4962962963,"absoluteGap":0.1507904531},{"lower":0.7,"upper":0.8,"n":219,"meanConfidence":0.7457773235,"observedHitRateFractionalTies":0.5525114155,"absoluteGap":0.193265908},{"lower":0.8,"upper":0.9,"n":139,"meanConfidence":0.8403175474,"observedHitRateFractionalTies":0.6834532374,"absoluteGap":0.15686431},{"lower":0.9,"upper":1.0,"n":44,"meanConfidence":0.9224332822,"observedHitRateFractionalTies":0.7954545455,"absoluteGap":0.1269787368}]},{"modelId":"lightgbm_isotonic","topLabelEce10":0.0134299778,"macroClasswiseEce10":0.0302090997,"classwise":[{"outcome":"H","ece10":0.0350072998},{"outcome":"D","ece10":0.0165340945},{"outcome":"A","ece10":0.0390859047}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":177,"meanConfidence":0.3875097353,"observedHitRateFractionalTies":0.406779661,"absoluteGap":0.0192699257},{"lower":0.4,"upper":0.5,"n":717,"meanConfidence":0.4435836853,"observedHitRateFractionalTies":0.4435146444,"absoluteGap":6.9041e-05},{"lower":0.5,"upper":0.6,"n":434,"meanConfidence":0.5450065893,"observedHitRateFractionalTies":0.5576036866,"absoluteGap":0.0125970973},{"lower":0.6,"upper":0.7,"n":185,"meanConfidence":0.6329213473,"observedHitRateFractionalTies":0.6864864865,"absoluteGap":0.0535651392},{"lower":0.7,"upper":0.8,"n":6,"meanConfidence":0.7410268779,"observedHitRateFractionalTies":0.5,"absoluteGap":0.2410268779},{"lower":0.8,"upper":0.9,"n":1,"meanConfidence":0.8695652166,"observedHitRateFractionalTies":1.0,"absoluteGap":0.1304347834},{"lower":0.9,"upper":1.0,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null}]},{"modelId":"market_closing_proportional","topLabelEce10":0.0222176293,"macroClasswiseEce10":0.0162716748,"classwise":[{"outcome":"H","ece10":0.0255893784},{"outcome":"D","ece10":0.0069793278},{"outcome":"A","ece10":0.0162463183}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":215,"meanConfidence":0.3787439627,"observedHitRateFractionalTies":0.4465116279,"absoluteGap":0.0677676652},{"lower":0.4,"upper":0.5,"n":468,"meanConfidence":0.4466052026,"observedHitRateFractionalTies":0.4294871795,"absoluteGap":0.0171180231},{"lower":0.5,"upper":0.6,"n":386,"meanConfidence":0.5506702383,"observedHitRateFractionalTies":0.567357513,"absoluteGap":0.0166872747},{"lower":0.6,"upper":0.7,"n":246,"meanConfidence":0.6478050302,"observedHitRateFractionalTies":0.6504065041,"absoluteGap":0.0026014739},{"lower":0.7,"upper":0.8,"n":151,"meanConfidence":0.7458579941,"observedHitRateFractionalTies":0.7549668874,"absoluteGap":0.0091088934},{"lower":0.8,"upper":0.9,"n":54,"meanConfidence":0.8382811074,"observedHitRateFractionalTies":0.8888888889,"absoluteGap":0.0506077815},{"lower":0.9,"upper":1.0,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null}]},{"modelId":"market_closing_shin","topLabelEce10":0.028787463,"macroClasswiseEce10":0.0174410836,"classwise":[{"outcome":"H","ece10":0.0275853704},{"outcome":"D","ece10":0.0100157267},{"outcome":"A","ece10":0.0147221538}],"topLabelBins":[{"lower":0.0,"upper":0.1,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.1,"upper":0.2,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.2,"upper":0.3,"n":0,"meanConfidence":null,"observedHitRateFractionalTies":null,"absoluteGap":null},{"lower":0.3,"upper":0.4,"n":200,"meanConfidence":0.378694275,"observedHitRateFractionalTies":0.45,"absoluteGap":0.071305725},{"lower":0.4,"upper":0.5,"n":461,"meanConfidence":0.4462491704,"observedHitRateFractionalTies":0.4251626898,"absoluteGap":0.0210864806},{"lower":0.5,"upper":0.6,"n":372,"meanConfidence":0.5501042776,"observedHitRateFractionalTies":0.564516129,"absoluteGap":0.0144118515},{"lower":0.6,"upper":0.7,"n":249,"meanConfidence":0.6441792877,"observedHitRateFractionalTies":0.6104417671,"absoluteGap":0.0337375206},{"lower":0.7,"upper":0.8,"n":167,"meanConfidence":0.7436308591,"observedHitRateFractionalTies":0.7664670659,"absoluteGap":0.0228362068},{"lower":0.8,"upper":0.9,"n":66,"meanConfidence":0.8370677731,"observedHitRateFractionalTies":0.8636363636,"absoluteGap":0.0265685905},{"lower":0.9,"upper":1.0,"n":5,"meanConfidence":0.9108187343,"observedHitRateFractionalTies":1.0,"absoluteGap":0.0891812657}]}],"pairedUncertainty":{"referenceModelId":"market_closing_shin","method":"Deterministic paired percentile intervals from 5,000 ISO-week block-bootstrap resamples. Each sampled week retains both systems on identical fixtures. Model-minus-Shin differences below zero favour the model, but the closing reference has a later information set.","replicates":5000,"blockCount":143,"comparisons":[{"modelId":"uniform","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0321641193,"ci95":[0.0268864257,0.0378153469]},"logLossNats":{"pointDifferenceModelMinusShin":0.138603392,"ci95":[0.1156606843,0.1620514277]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0429787331,"ci95":[0.036030005,0.0499530021]}}},{"modelId":"expanding_league_prior","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0251995547,"ci95":[0.0203950709,0.0296912621]},"logLossNats":{"pointDifferenceModelMinusShin":0.1077426967,"ci95":[0.087378287,0.1279698538]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0367240833,"ci95":[0.0301728301,0.0433478758]}}},{"modelId":"elo_multinomial_logit","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0050773005,"ci95":[0.0030242523,0.0071790045]},"logLossNats":{"pointDifferenceModelMinusShin":0.021609438,"ci95":[0.0127492774,0.0308709182]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0068727969,"ci95":[0.003990536,0.0098745952]}}},{"modelId":"multinomial_logistic_14_feature","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0059461688,"ci95":[0.0037434905,0.0082660606]},"logLossNats":{"pointDifferenceModelMinusShin":0.0243228933,"ci95":[0.0148334294,0.0344662139]},"normalizedRps":{"pointDifferenceModelMinusShin":0.007580656,"ci95":[0.0042905197,0.0108709209]}}},{"modelId":"ridge_poisson","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0150911423,"ci95":[0.0116826128,0.018299388]},"logLossNats":{"pointDifferenceModelMinusShin":0.0673114289,"ci95":[0.0532317934,0.0813594339]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0222017625,"ci95":[0.0175150385,0.0270119054]}}},{"modelId":"sequential_dixon_coles","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0150841205,"ci95":[0.0117100043,0.0184817046]},"logLossNats":{"pointDifferenceModelMinusShin":0.0676999055,"ci95":[0.053545375,0.0822852908]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0221982516,"ci95":[0.0176648923,0.0268806014]}}},{"modelId":"lightgbm_raw","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0228340363,"ci95":[0.0180078995,0.0277096088]},"logLossNats":{"pointDifferenceModelMinusShin":0.1159215368,"ci95":[0.090145481,0.1419497411]},"normalizedRps":{"pointDifferenceModelMinusShin":0.0248600285,"ci95":[0.0192072957,0.0308643369]}}},{"modelId":"lightgbm_isotonic","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":0.0132154031,"ci95":[0.0099785609,0.0163759882]},"logLossNats":{"pointDifferenceModelMinusShin":0.0705700107,"ci95":[0.0475981609,0.1027975048]},"normalizedRps":{"pointDifferenceModelMinusShin":0.017981158,"ci95":[0.0136512122,0.0221967142]}}},{"modelId":"market_closing_proportional","metrics":{"brierClassAverage":{"pointDifferenceModelMinusShin":1.36922e-05,"ci95":[-0.000157382,0.0001800192]},"logLossNats":{"pointDifferenceModelMinusShin":0.0003012988,"ci95":[-0.0005798097,0.0011256779]},"normalizedRps":{"pointDifferenceModelMinusShin":4.89176e-05,"ci95":[-0.0001589868,0.0002626511]}}}]},"rawVsCalibratedAblation":{"rawModelId":"lightgbm_raw","calibratedModelId":"lightgbm_isotonic","interpretation":"Calibrated score minus raw score; negative favours training-only isotonic calibration.","metrics":{"brierClassAverage":{"pointDifferenceCalibratedMinusRaw":-0.0096186332,"ci95":[-0.0133573967,-0.0059268493]},"logLossNats":{"pointDifferenceCalibratedMinusRaw":-0.0453515261,"ci95":[-0.0707101573,-0.0168438294]},"normalizedRps":{"pointDifferenceCalibratedMinusRaw":-0.0068788705,"ci95":[-0.011164693,-0.0025024734]}}},"pointInTimeBoundary":{"featureEventTimeSafe":true,"sameKickoffSafe":true,"sourceRevisionMode":"latest-state-publisher-csv","sourceRevisionHistoryComplete":false,"correctionObservedAtComplete":false,"asOfReplayVerified":false,"productionActivationEligible":false,"explanation":"The generator enforces event-time and declared 24-hour availability cutoffs, but the hash-pinned latest-state CSVs do not expose when later source corrections became observable. This research release therefore cannot activate a production model."},"source":{"publisher":"Football-Data.co.uk","landingPage":"https://www.football-data.co.uk/data.php","notes":"https://www.football-data.co.uk/notes.txt","derivedFromManifest":{"repositoryPath":"data/football-1x2-empirical-benchmark-1.0.0-manifest.json","sha256":"801f8c6c23e30f945dcba38e4c256fd4e9f3652f7e2ea965e4788f0e7cf9014a"},"sourceInputs":[{"season":"2016/17","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/1617/E0.csv","localRelativePath":"1617/E0.csv","sha256":"9625a7652b5f98fbd3e2e4d378c851fc246693f3343e34a72428d5b6e864d3e0","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2017/18","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/1718/E0.csv","localRelativePath":"1718/E0.csv","sha256":"4f3389365ef3f7ac966764ed8ba67cf3b79f5aebed18dd224099c4b2c98bc67b","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2018/19","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/1819/E0.csv","localRelativePath":"1819/E0.csv","sha256":"7c096b3c2ecd54c6993d22eeea73450c2bde11e3457238b226b8f43c62dfc35e","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2019/20","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/1920/E0.csv","localRelativePath":"1920/E0.csv","sha256":"100037618b94f94057400bb02bf6bac4ef74ddaa58cde4b38370839c39caee61","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2020/21","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/2021/E0.csv","localRelativePath":"2021/E0.csv","sha256":"5afe63f69401457b8354eaacee24f9a3e520b3c3af6329564a9783e20d789c62","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2021/22","role":"prior-history","url":"https://www.football-data.co.uk/mmz4281/2122/E0.csv","localRelativePath":"2122/E0.csv","sha256":"335afcbabeb2939fa10ab39ba3e8215072d0b577cb8d0705c1e44c56e934e703","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR"]},{"season":"2022/23","role":"evaluation","url":"https://www.football-data.co.uk/mmz4281/2223/E0.csv","localRelativePath":"2223/E0.csv","sha256":"8442792d3b614c94ea3cf381bd2736805889cc1713169035368fff19c3d02380","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR","AvgCH","AvgCD","AvgCA"]},{"season":"2023/24","role":"evaluation","url":"https://www.football-data.co.uk/mmz4281/2324/E0.csv","localRelativePath":"2324/E0.csv","sha256":"b2e057b0ed959f198b0f63d2391c01239f3608e6de5db68edab3f88e04d07ff3","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR","AvgCH","AvgCD","AvgCA"]},{"season":"2024/25","role":"evaluation","url":"https://www.football-data.co.uk/mmz4281/2425/E0.csv","localRelativePath":"2425/E0.csv","sha256":"d0c8ce4a96d886cf60cf101f570f4a3893844226f91c7bd769eb568c49edbfa4","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR","AvgCH","AvgCD","AvgCA"]},{"season":"2025/26","role":"evaluation","url":"https://www.football-data.co.uk/mmz4281/2526/E0.csv","localRelativePath":"2526/E0.csv","sha256":"3e3a8352f9ada6789c508d6ca184424421fed56a30400904a4a327c583407e62","completedMatchRows":380,"fieldsUsed":["Date","Time","HomeTeam","AwayTeam","FTHG","FTAG","FTR","AvgCH","AvgCD","AvgCA"]}],"rawRowsRedistributed":false},"reproducibility":{"generator":{"repositoryPath":"scripts/generate-epl-football-prediction-model-benchmark.py","publicPath":"/downloads/generate-epl-football-prediction-model-benchmark-1.0.0.py","sha256":"ae61549bf96803665660b153a20a973d29faa18d17e982e344a9c99ff9dd06a3"},"dependencyFiles":[{"repositoryPath":"model/proofxi_ml/features.py","sha256":"bd206c33f946361277dcd270a560217c45a592ba57f5c214a3dca627888cdcb9"},{"repositoryPath":"model/proofxi_ml/training.py","sha256":"c2698a71a440f2f9d07f4b94defdeb8056c755bc07f51fc6bc36866789903831"}],"dependencyVersions":{"python":"3.13.2","lightgbm":"4.6.0","numpy":"2.2.6","scikit-learn":"1.7.2","scipy":"1.18.0"},"checkCommand":"python3 scripts/generate-epl-football-prediction-model-benchmark.py","rebuildCommand":"DYLD_LIBRARY_PATH=\"$PWD/.venv-model/libomp/libomp/22.1.8/lib\" .venv-model/bin/python scripts/generate-epl-football-prediction-model-benchmark.py --rebuild","offlineRebuildCommand":"DYLD_LIBRARY_PATH=\"$PWD/.venv-model/libomp/libomp/22.1.8/lib\" .venv-model/bin/python scripts/generate-epl-football-prediction-model-benchmark.py --rebuild --source-dir /path/to/hash-matched-sources","writeCommand":"DYLD_LIBRARY_PATH=\"$PWD/.venv-model/libomp/libomp/22.1.8/lib\" .venv-model/bin/python scripts/generate-epl-football-prediction-model-benchmark.py --write","artifacts":{"json":"/research/epl-football-prediction-model-benchmark/1.0.0.json","csv":"/downloads/epl-football-prediction-model-benchmark-1.0.0.csv","manifest":"/research/epl-football-prediction-model-benchmark/1.0.0-manifest.json"}},"rights":{"aggregateLicense":"https://creativecommons.org/licenses/by/4.0/","aggregateRightsScope":"CC BY 4.0 covers only Football Proof AI's original aggregate benchmark outputs and release metadata. It does not license or redistribute Football-Data.co.uk source rows or grant rights in the publisher's source files.","sourceRightsStatus":"unknown/not asserted","checkedAt":"2026-07-18","rawSourceLicenseNotGranted":true,"rawRowsRedistributed":false},"claimsBoundary":{"liveAccuracyClaim":false,"profitClaim":false,"bettingAdvice":false,"productionModelActivated":false,"algorithmCausalRankingClaim":false,"sameInformationMarketComparisonClaim":false,"fixtureLevelPredictionsPublished":false,"fittedArtifactsPublished":false},"limitations":["This aggregate benchmark covers one league and four evaluation seasons; it does not establish universal model superiority.","Closing-market rows use later information than every 24-hour history-only model and are contextual references only.","Complete-season fitting keeps one coherent leakage-safe comparison but does not update fitted coefficients or team effects within an evaluation season.","Dynamic 14-feature and Elo snapshots may incorporate availability-safe earlier results during an evaluation season while their fitted classifier mapping remains frozen at the season boundary.","The sequential Dixon-Coles row changes rho on shared ridge-Poisson rates and is not a full joint Dixon-Coles maximum-likelihood fit.","Latest-state source CSVs lack correction observed-at history; hash pins freeze release bytes but cannot prove revision-time replay.","Weekly block-bootstrap intervals preserve paired fixture weeks but do not prove independence, causality, profitability or a universal edge.","No raw source rows, fixture probabilities, fitted estimators or calibrators are redistributed."]}