β lab Β· sport football Β· n matches 26,088 Β· upset rate p lt 20 0.0501 Β· ran 7/4/2026
| note | surprise = -log(market prob of realized outcome), de-vigged opening; r2~0 means the market's errors are unconditionally random β any stable nonzero condition is exploitable |
| sport | football |
| n matches | 26,088 |
| upset rate p lt 20 | 0.0501 |
| surprise r2 holdout | 0.0749 |
| day | match | result | referee | contest id | anomalies sd | p market gave it |
|---|---|---|---|---|---|---|
| 2020-03-04 | Rangers v Hamilton | A | N Walsh | 43,224 | {"ratio__team.elo":3.3,"ratio__team.dominance_l5":4.6,"match | 0.0312 |
| 2011-12-31 | Man United v Blackburn | A | M Dean | 4,364 | {"home__team.goal_diff_avg_l5":3.5,"home__team.goals_for_avg | 0.0367 |
| 2019-10-06 | Man City v Wolves | A | Craig Pawson, England | 7,298 | {"home__team.elo":3.6,"home__team.goals_for_avg_l5":4.5,"hom | 0.0405 |
| 2015-12-19 | Celtic v Motherwell | A | B Madden | 42,247 | {"match.elo_gap":3,"diff__team.elo":3,"home__team.elo":3.2," | 0.0415 |
| 2021-10-30 | Man City v Crystal Palace | A | A. Marriner | 8,074 | {"home__team.elo":3.1,"market.ah_line":-2.7,"match.mismatch" | 0.044 |
| 2018-12-22 | Man City v Crystal Palace | A | Andre Marriner, England | 7,017 | {"home__team.elo":3.5,"match.mismatch":3,"ratio__team.elo":2 | 0.0452 |
| 2022-11-12 | Man City v Brentford | A | P. Bankes | 8,497 | {"home__team.elo":3.5,"market.ah_line":-2.7,"match.mismatch" | 0.0481 |
| 2023-08-26 | Celtic v St Johnstone | D | M MacDermid | 43,930 | {"match.elo_gap":3.3,"home__team.elo":3.4,"market.ah_line":- | 0.05 |
| 2019-09-14 | Norwich v Man City | H | Kevin Friend, England | 7,267 | {"market.ah_line":3.7,"match.mismatch":4.2,"market.disagreem | 0.0514 |
| 2014-04-19 | Chelsea v Sunderland | A | M Dean | 5,280 | {"match.tempo":3.1,"ratio__team.venue_ppg_l5":6.5,"ratio__te | 0.0518 |
| 2005-11-26 | Celtic v Dunfermline | A | C MacKay | 39,952 | {"ratio__team.season_ppg":7.5,"diff__team.conversion_l5":4.7 | 0.0534 |
| 2014-08-30 | Man City v Stoke | A | L Mason | 5,343 | {"diff__team.season_ppg":3.3,"home__team.season_ppg":3.1,"ra | 0.0548 |
| 2024-03-02 | Rangers v Motherwell | A | A Muir | 44,085 | {"home__team.ht_lead_rate_l20":3.6,"home__team.shots_for_avg | 0.0548 |
| 2018-04-15 | Man United v West Brom | A | Paul Tierney, England | 6,792 | {"match.form_gap":3,"home__team.conversion_l5":3.3,"ratio__t | 0.0551 |
| 2022-09-18 | St Mirren v Celtic | H | D Robertson | 43,729 | {"away__team.goal_diff_avg_l5":4.8,"away__team.goals_for_avg | 0.0554 |
| 2008-09-27 | Arsenal v Hull | A | A Wiley | 3,090 | {"diff__team.shots_for_avg_l5":2.8,"home__team.shot_diff_avg | 0.0556 |
| 2025-04-06 | St Johnstone v Celtic | H | D Dickinson | 44,335 | {"match.elo_gap":-3.4,"away__team.elo":3.4,"diff__team.elo": | 0.0558 |
| 2012-10-27 | Celtic v Kilmarnock | A | β | 41,518 | {"home__team.elo":2.9,"match.mismatch":2.7,"ratio__team.elo" | 0.057 |
| 2013-01-02 | Chelsea v QPR | A | L Mason | 4,766 | {"ratio__team.ht_lead_rate_l20":8.5,"diff__team.goals_volati | 0.0575 |
| 2021-04-03 | Chelsea v West Brom | A | D. Coote | 7,891 | {"away__team.rest_days":2.8,"home__team.rest_days":2.8,"rati | 0.0582 |
| 2011-08-21 | Celtic v St Johnstone | A | B Winter | 41,254 | {"diff__team.season_ppg":3.6,"ratio__team.season_ppg":9.1,"r | 0.0588 |
| 2015-03-04 | Celtic v St Johnstone | A | C Murray | 42,078 | {"home__team.elo":3.1,"home__team.state_index":2.8,"home__t3 | 0.0597 |
| 2021-01-21 | Liverpool v Burnley | A | M. Dean | 7,784 | {"ratio__team.h2_goals_l10":3.8,"ratio__team.h2h_win_rate_l5 | 0.0615 |
| 2009-03-04 | Rangers v Inverness C | A | C Murray | 40,713 | {"ratio__team.elo":2.7,"ratio__team.venue_ppg_l5":5,"home__t | 0.0622 |
| 2010-11-10 | Rangers v Hibernian | A | S O'Reilly | 41,073 | {"diff__team.h2_goals_l10":4.2,"home__team.h2_goals_l10":4.5 | 0.0624 |
| feature | importance |
|---|---|
| match.mismatch | 0.0198 |
| away__team.dominance_l5 | 0.0042 |
| ratio__team.season_ppg | 0.0041 |
| home__team.venue_ppg_l5 | 0.0038 |
| away__t3__team.venue_ppg_l5 | 0.0027 |
| diff__team.corner_diff_avg_l5 | 0.0024 |
| away__team.elo | 0.0021 |
| ratio__team.matches_since_blank | 0.0021 |
| diff__team.corners_against_avg_l5 | 0.0018 |
| ratio__team.elo | 0.0017 |
| ratio__team.ht_lead_rate_l20 | 0.0016 |
| diff__team.season_ppg | 0.0016 |
| away__team.season_ppg | 0.0016 |
| diff__team.possession_avg_l5 | 0.0014 |
| away__t3__team.corner_diff_avg_l5 | 0.0013 |
| away__t3__team.shots_for_avg_l5 | 0.0012 |
| away__t3__team.possession_avg_l5 | 0.0012 |
| match.state_gap | 0.0012 |
| market.overround_1x2 | 0.0012 |
| diff__team.goals_against_avg_l5 | 0.0011 |
| n | feature | corr by era | corr with surprise | stands test of time | top decile shift sd |
|---|---|---|---|---|---|
| 26,088 | match.mismatch | -0.243, -0.2374, -0.2523, -0.2591 | -0.2483 | yes | 0.675 |
| 26,088 | home__team.elo | -0.197, -0.2273, -0.2001, -0.1888 | -0.2021 | yes | 0.52 |
| 25,837 | home__team.state_index | -0.1514, -0.1799, -0.1536, -0.1548 | -0.1596 | yes | 0.459 |
| 26,088 | ratio__team.elo | -0.1632, -0.1583, -0.1359, -0.1353 | -0.147 | yes | 0.339 |
| 3,767 | home__team.possession_avg_l5 | -0.1851, -0.1067 | -0.1428 | no | 0.225 |
| 24,838 | home__team.ht_lead_rate_l20 | -0.1082, -0.1468, -0.1373, -0.1483 | -0.1364 | yes | 0.306 |
| 25,450 | home__team.season_ppg | -0.1348, -0.1506, -0.1325, -0.1154 | -0.133 | yes | 0.365 |
| 7,943 | market.ah_line | 0.1349, 0.1315 | 0.1322 | no |
| AUC | predictability: 0.50 = coin flip, ~0.70 = ceiling for sports |
| Importance | how much the model leans on this factor (permutation importance) |
| Direction | sign of the raw correlation with the outcome |
| Survives all eras | effect points the same way in every historical era |
{
"kind": "market_misses",
"sport": "football"
}| -0.256 |
| 26,088 | match.elo_gap | -0.1468, -0.1434, -0.1175, -0.1142 | -0.1289 | yes | 0.279 |
| 26,088 | diff__team.elo | -0.1468, -0.1434, -0.1175, -0.1142 | -0.1289 | yes | 0.279 |
| 25,776 | home__team.shots_for_avg_l5 | -0.1235, -0.1405, -0.1263, -0.1162 | -0.125 | yes | 0.34 |
| 25,612 | ratio__team.dominance_l5 | -0.128, -0.13, -0.1151, -0.1154 | -0.1214 | yes | 0.27 |
| 25,776 | home__team.shot_diff_avg_l5 | -0.1312, -0.1192, -0.1171, -0.1209 | -0.1213 | yes | 0.328 |
| 25,776 | home__team.dominance_l5 | -0.1292, -0.1166, -0.1148, -0.1205 | -0.1199 | yes | 0.331 |
| 3,753 | ratio__team.possession_avg_l5 | -0.1461, -0.0965 | -0.119 | no | 0.136 |
| 3,767 | home__team.sot_for_avg_l5 | -0.1362, -0.107 | -0.1187 | no | 0.185 |
| 25,776 | home__team.goal_diff_avg_l5 | -0.1111, -0.1269, -0.1079, -0.1148 | -0.115 | yes | 0.32 |
| 24,042 | ratio__team.ht_lead_rate_l20 | -0.1278, -0.118, -0.1111, -0.1016 | -0.1136 | yes | 0.223 |
| 24,749 | ratio__team.season_ppg | -0.1229, -0.1003, -0.1116, -0.1132 | -0.1117 | yes | 0.346 |
| 25,776 | home__team.goals_for_avg_l5 | -0.091, -0.1305, -0.1085, -0.1119 | -0.1108 | yes | 0.298 |
| 25,612 | ratio__team.shots_for_avg_l5 | -0.1093, -0.1138, -0.1223, -0.0918 | -0.1094 | yes | 0.211 |
| 25,837 | match.state_gap | -0.1233, -0.1215, -0.0947, -0.1007 | -0.1093 | yes | 0.329 |
| 25,837 | diff__team.state_index | -0.1233, -0.1215, -0.0947, -0.1007 | -0.1093 | yes | 0.329 |
| 25,458 | home__team.h2_goals_l10 | -0.0845, -0.1354, -0.1102, -0.0964 | -0.1068 | yes | 0.293 |
| 3,753 | ratio__team.sot_for_avg_l5 | -0.1239, -0.0892 | -0.1067 | no | 0.163 |
| 25,445 | diff__team.season_ppg | -0.1221, -0.1084, -0.1054, -0.0909 | -0.1064 | yes | 0.286 |
| 25,458 | home__team.venue_ppg_l5 | -0.093, -0.1252, -0.1086, -0.0949 | -0.1053 | yes | 0.329 |
| 14,099 | ratio__team.h2h_win_rate_l5 | -0.1537, -0.117, -0.0841, -0.0892 | -0.104 | yes | 0.256 |
| 25,776 | home__team.form_points_l5 | -0.1009, -0.1194, -0.0883, -0.1054 | -0.1032 | yes | 0.318 |
| 5,202 | ratio__team.goal_diff_avg_l5 | -0.086, -0.1699, -0.0883, -0.0795 | -0.103 | yes | 0.239 |
| 3,767 | home__team.pass_acc_avg_l5 | -0.132, -0.0929 | -0.1008 | no | 0.262 |
| 1,308 | home__team.xg_for_avg_l5 | -0.1004 | -0.1004 | no | 0.182 |
| 25,776 | home__team.corner_diff_avg_l5 | -0.1102, -0.0948, -0.0929, -0.0955 | -0.098 | yes | 0.267 |
| 25,612 | diff__team.shot_diff_avg_l5 | -0.1169, -0.1096, -0.0814, -0.0921 | -0.0977 | yes | 0.204 |
| 25,612 | diff__team.dominance_l5 | -0.1121, -0.1094, -0.0833, -0.0907 | -0.0976 | yes | 0.22 |
| 3,753 | diff__team.possession_avg_l5 | -0.1208, -0.0779 | -0.0974 | no | 0.096 |
| 24,186 | diff__team.ht_lead_rate_l20 | -0.0904, -0.1006, -0.0779, -0.0878 | -0.0887 | yes | 0.211 |
| 26,027 | home__team.matches_since_blank | -0.0901, -0.0878, -0.0761, -0.0978 | -0.0883 | yes | 0.171 |
| 25,612 | match.tempo | -0.0756, -0.095, -0.0922, -0.0935 | -0.0883 | yes | 0.316 |
| 21,636 | x__match.ref_cards_avg__match.tempo | -0.0744, -0.099, -0.1011, -0.0926 | -0.0869 | yes | 0.283 |