{"schemaVersion":"football-1x2-margin-removal-benchmark/1.0.0","releaseDate":"2026-07-15","title":"EPL 1X2 proportional versus Shin margin-removal benchmark","description":"Aggregate-only comparison of proportional and Shin margin removal on closing-average 1X2 odds for 1,900 completed English Premier League matches from 2021/22 through 2025/26.","league":{"code":"E0","name":"English Premier League","country":"England"},"evaluation":{"seasons":["2021/22","2022/23","2023/24","2024/25","2025/26"],"matchCount":1900,"oddsFields":["AvgCH","AvgCD","AvgCA"],"marketDefinition":"Regulation-time home/draw/away closing average decimal odds"},"methods":{"rawImpliedProbability":"q_i = 1 / decimal_odds_i","booksum":"B = sum(q_i)","overround":"B - 1","marginShare":"(B - 1) / B","proportional":"p_i = q_i / B","shin":"Solve z by bisection so sum((sqrt(z^2 + 4(1-z)q_i^2/B) - z)/(2(1-z))) = 1; implementation uses the algebraically rationalized equivalent.","gap":"Shin probability minus proportional probability; percentage-point thresholds use absolute maximum outcome gap per match."},"pairedUncertainty":{"method":"Deterministic 95% percentile intervals from 5,000 weekly-block bootstrap resamples; descriptive, not an independence guarantee or universal significance claim.","brierDifferenceShinMinusProportionalCi95":[-0.00017955,0.00011351],"logLossDifferenceShinMinusProportionalCi95":[-0.00113221,0.00039448]},"headline":{"matchCount":1900,"meanOverround":0.04322361,"meanMaxAbsoluteMethodGap":0.00663584,"p95MaxAbsoluteMethodGap":0.01409876,"gapOver050Points":1076,"gapOver050PointsRate":0.566316,"topSelectionChanges":0,"brierDifferenceShinMinusProportional":-0.00003291,"logLossDifferenceShinMinusProportional":-0.00038016},"source":{"publisher":"Football-Data.co.uk","landingPage":"https://www.football-data.co.uk/data.php","notes":"https://www.football-data.co.uk/notes.txt","snapshotDate":"2026-07-15","rawRowsRedistributed":false,"files":[{"season":"2021/22","url":"https://www.football-data.co.uk/mmz4281/2122/E0.csv","sha256":"335afcbabeb2939fa10ab39ba3e8215072d0b577cb8d0705c1e44c56e934e703","completeOddsRows":380},{"season":"2022/23","url":"https://www.football-data.co.uk/mmz4281/2223/E0.csv","sha256":"8442792d3b614c94ea3cf381bd2736805889cc1713169035368fff19c3d02380","completeOddsRows":380},{"season":"2023/24","url":"https://www.football-data.co.uk/mmz4281/2324/E0.csv","sha256":"b2e057b0ed959f198b0f63d2391c01239f3608e6de5db68edab3f88e04d07ff3","completeOddsRows":380},{"season":"2024/25","url":"https://www.football-data.co.uk/mmz4281/2425/E0.csv","sha256":"d0c8ce4a96d886cf60cf101f570f4a3893844226f91c7bd769eb568c49edbfa4","completeOddsRows":380},{"season":"2025/26","url":"https://www.football-data.co.uk/mmz4281/2526/E0.csv","sha256":"3e3a8352f9ada6789c508d6ca184424421fed56a30400904a4a327c583407e62","completeOddsRows":380}]},"limitations":["No margin-removal method reveals a bookmaker's private probabilities or the true chance of an outcome.","This is one league, one source's closing-average odds fields and five seasons; results do not establish a universal best method.","Closing odds contain later information than a forecast published 24 hours before kickoff and are not a like-for-like launch benchmark for such a forecast.","Football-Data.co.uk makes source CSVs publicly downloadable, but this release does not assert a raw-row redistribution licence and publishes aggregates only.","Small paired score differences are descriptive and do not imply profitability or a betting edge."],"groups":[{"groupType":"overall","groupLabel":"2021/22–2025/26","n":1900,"meanBooksum":1.04322361,"meanOverround":0.04322361,"meanShinZ":0.02180427,"meanSignedGapHome":0.00338387,"meanSignedGapDraw":-0.00304858,"meanSignedGapAway":-0.00033528,"meanAbsoluteGapHome":0.00561181,"meanAbsoluteGapDraw":0.00304858,"meanAbsoluteGapAway":0.00461128,"meanMaxAbsoluteGap":0.00663584,"p95MaxAbsoluteGap":0.01409876,"maximumAbsoluteGap":0.02385946,"gapOver025Points":1568,"gapOver050Points":1076,"gapOver100Points":431,"topSelectionChanges":0,"proportionalBrierClassAverage":0.18899908,"shinBrierClassAverage":0.18896617,"brierDifferenceShinMinusProportional":-0.00003291,"proportionalLogLossNats":0.95558775,"shinLogLossNats":0.95520759,"logLossDifferenceShinMinusProportional":-0.00038016},{"groupType":"season","groupLabel":"2021/22","n":380,"meanBooksum":1.03874815,"meanOverround":0.03874815,"meanShinZ":0.01955501,"meanSignedGapHome":0.00285764,"meanSignedGapDraw":-0.00261568,"meanSignedGapAway":-0.00024196,"meanAbsoluteGapHome":0.00515306,"meanAbsoluteGapDraw":0.00261568,"meanAbsoluteGapAway":0.00436125,"meanMaxAbsoluteGap":0.006065,"p95MaxAbsoluteGap":0.01355186,"maximumAbsoluteGap":0.01673857,"gapOver025Points":295,"gapOver050Points":195,"gapOver100Points":74,"topSelectionChanges":0,"proportionalBrierClassAverage":0.1847082,"shinBrierClassAverage":0.18459843,"brierDifferenceShinMinusProportional":-0.00010977,"proportionalLogLossNats":0.93669798,"shinLogLossNats":0.93600237,"logLossDifferenceShinMinusProportional":-0.00069562},{"groupType":"season","groupLabel":"2022/23","n":380,"meanBooksum":1.0390118,"meanOverround":0.0390118,"meanShinZ":0.01965812,"meanSignedGapHome":0.00294832,"meanSignedGapDraw":-0.00263553,"meanSignedGapAway":-0.00031279,"meanAbsoluteGapHome":0.00503456,"meanAbsoluteGapDraw":0.00263553,"meanAbsoluteGapAway":0.00416815,"meanMaxAbsoluteGap":0.00591912,"p95MaxAbsoluteGap":0.01297653,"maximumAbsoluteGap":0.01562567,"gapOver025Points":294,"gapOver050Points":203,"gapOver100Points":59,"topSelectionChanges":0,"proportionalBrierClassAverage":0.19039698,"shinBrierClassAverage":0.19035687,"brierDifferenceShinMinusProportional":-0.00004011,"proportionalLogLossNats":0.96203918,"shinLogLossNats":0.96188067,"logLossDifferenceShinMinusProportional":-0.00015851},{"groupType":"season","groupLabel":"2023/24","n":380,"meanBooksum":1.03968232,"meanOverround":0.03968232,"meanShinZ":0.02004807,"meanSignedGapHome":0.00342112,"meanSignedGapDraw":-0.0032112,"meanSignedGapAway":-0.00020992,"meanAbsoluteGapHome":0.00560321,"meanAbsoluteGapDraw":0.0032112,"meanAbsoluteGapAway":0.00460988,"meanMaxAbsoluteGap":0.00671215,"p95MaxAbsoluteGap":0.01401424,"maximumAbsoluteGap":0.01676633,"gapOver025Points":321,"gapOver050Points":221,"gapOver100Points":88,"topSelectionChanges":0,"proportionalBrierClassAverage":0.17558194,"shinBrierClassAverage":0.175275,"brierDifferenceShinMinusProportional":-0.00030695,"proportionalLogLossNats":0.90070131,"shinLogLossNats":0.89910919,"logLossDifferenceShinMinusProportional":-0.00159213},{"groupType":"season","groupLabel":"2024/25","n":380,"meanBooksum":1.04194525,"meanOverround":0.04194525,"meanShinZ":0.02116258,"meanSignedGapHome":0.00357172,"meanSignedGapDraw":-0.00316984,"meanSignedGapAway":-0.00040189,"meanAbsoluteGapHome":0.00567573,"meanAbsoluteGapDraw":0.00316984,"meanAbsoluteGapAway":0.00455366,"meanMaxAbsoluteGap":0.00669961,"p95MaxAbsoluteGap":0.01384154,"maximumAbsoluteGap":0.01693818,"gapOver025Points":311,"gapOver050Points":217,"gapOver100Points":90,"topSelectionChanges":0,"proportionalBrierClassAverage":0.19172925,"shinBrierClassAverage":0.19180157,"brierDifferenceShinMinusProportional":0.00007232,"proportionalLogLossNats":0.96673341,"shinLogLossNats":0.96682894,"logLossDifferenceShinMinusProportional":0.00009553},{"groupType":"season","groupLabel":"2025/26","n":380,"meanBooksum":1.05673051,"meanOverround":0.05673051,"meanShinZ":0.02859756,"meanSignedGapHome":0.00412053,"meanSignedGapDraw":-0.00361067,"meanSignedGapAway":-0.00050986,"meanAbsoluteGapHome":0.00659246,"meanAbsoluteGapDraw":0.00361067,"meanAbsoluteGapAway":0.00536347,"meanMaxAbsoluteGap":0.0077833,"p95MaxAbsoluteGap":0.01627854,"maximumAbsoluteGap":0.02385946,"gapOver025Points":347,"gapOver050Points":240,"gapOver100Points":120,"topSelectionChanges":0,"proportionalBrierClassAverage":0.202579,"shinBrierClassAverage":0.20279897,"brierDifferenceShinMinusProportional":0.00021996,"proportionalLogLossNats":1.01176687,"shinLogLossNats":1.01221679,"logLossDifferenceShinMinusProportional":0.00044991},{"groupType":"overround","groupLabel":"Below 4%","n":864,"meanBooksum":1.03807487,"meanOverround":0.03807487,"meanShinZ":0.01920867,"meanSignedGapHome":0.00299452,"meanSignedGapDraw":-0.00273536,"meanSignedGapAway":-0.00025916,"meanAbsoluteGapHome":0.00510957,"meanAbsoluteGapDraw":0.00273536,"meanAbsoluteGapAway":0.00422918,"meanMaxAbsoluteGap":0.00603706,"p95MaxAbsoluteGap":0.01332136,"maximumAbsoluteGap":0.01676633,"gapOver025Points":685,"gapOver050Points":456,"gapOver100Points":148,"topSelectionChanges":0,"proportionalBrierClassAverage":0.18324369,"shinBrierClassAverage":0.18307785,"brierDifferenceShinMinusProportional":-0.00016584,"proportionalLogLossNats":0.93104609,"shinLogLossNats":0.93000945,"logLossDifferenceShinMinusProportional":-0.00103663},{"groupType":"overround","groupLabel":"4% to below 6%","n":966,"meanBooksum":1.04643375,"meanOverround":0.04643375,"meanShinZ":0.02342266,"meanSignedGapHome":0.00361459,"meanSignedGapDraw":-0.00324674,"meanSignedGapAway":-0.00036786,"meanAbsoluteGapHome":0.00594047,"meanAbsoluteGapDraw":0.00324674,"meanAbsoluteGapAway":0.00488452,"meanMaxAbsoluteGap":0.00703587,"p95MaxAbsoluteGap":0.01486423,"maximumAbsoluteGap":0.02053287,"gapOver025Points":816,"gapOver050Points":571,"gapOver100Points":258,"topSelectionChanges":0,"proportionalBrierClassAverage":0.19299641,"shinBrierClassAverage":0.1930591,"brierDifferenceShinMinusProportional":0.00006269,"proportionalLogLossNats":0.9726308,"shinLogLossNats":0.97274001,"logLossDifferenceShinMinusProportional":0.00010922},{"groupType":"overround","groupLabel":"6% or higher","n":70,"meanBooksum":1.06247364,"meanOverround":0.06247364,"meanShinZ":0.03150756,"meanSignedGapHome":0.00500558,"meanSignedGapDraw":-0.00418018,"meanSignedGapAway":-0.00082539,"meanAbsoluteGapHome":0.0072752,"meanAbsoluteGapDraw":0.00418018,"meanAbsoluteGapAway":0.00555676,"meanMaxAbsoluteGap":0.00850607,"p95MaxAbsoluteGap":0.01669112,"maximumAbsoluteGap":0.02385946,"gapOver025Points":67,"gapOver050Points":49,"gapOver100Points":25,"topSelectionChanges":0,"proportionalBrierClassAverage":0.20487375,"shinBrierClassAverage":0.20516231,"brierDifferenceShinMinusProportional":0.00028856,"proportionalLogLossNats":1.02330806,"shinLogLossNats":1.0242772,"logLossDifferenceShinMinusProportional":0.00096913},{"groupType":"favourite_probability","groupLabel":"Below 45%","n":597,"meanBooksum":1.04375032,"meanOverround":0.04375032,"meanShinZ":0.02189086,"meanSignedGapHome":0.00097649,"meanSignedGapDraw":-0.00170439,"meanSignedGapAway":0.00072791,"meanAbsoluteGapHome":0.00156693,"meanAbsoluteGapDraw":0.00170439,"meanAbsoluteGapAway":0.00149657,"meanMaxAbsoluteGap":0.00238395,"p95MaxAbsoluteGap":0.00406066,"maximumAbsoluteGap":0.00506773,"gapOver025Points":265,"gapOver050Points":1,"gapOver100Points":0,"topSelectionChanges":0,"proportionalBrierClassAverage":0.21730592,"shinBrierClassAverage":0.21725867,"brierDifferenceShinMinusProportional":-0.00004725,"proportionalLogLossNats":1.07707429,"shinLogLossNats":1.07687226,"logLossDifferenceShinMinusProportional":-0.00020203},{"groupType":"favourite_probability","groupLabel":"45% to below 55%","n":482,"meanBooksum":1.04360929,"meanOverround":0.04360929,"meanShinZ":0.02187021,"meanSignedGapHome":0.00217136,"meanSignedGapDraw":-0.00236634,"meanSignedGapAway":0.00019497,"meanAbsoluteGapHome":0.00436224,"meanAbsoluteGapDraw":0.00236634,"meanAbsoluteGapAway":0.00387134,"meanMaxAbsoluteGap":0.00529995,"p95MaxAbsoluteGap":0.00812147,"maximumAbsoluteGap":0.01018853,"gapOver025Points":482,"gapOver050Points":254,"gapOver100Points":1,"topSelectionChanges":0,"proportionalBrierClassAverage":0.2101086,"shinBrierClassAverage":0.21021644,"brierDifferenceShinMinusProportional":0.00010784,"proportionalLogLossNats":1.04779282,"shinLogLossNats":1.04829956,"logLossDifferenceShinMinusProportional":0.00050674},{"groupType":"favourite_probability","groupLabel":"55% or higher","n":821,"meanBooksum":1.04261417,"meanOverround":0.04261417,"meanShinZ":0.02170259,"meanSignedGapHome":0.00584628,"meanSignedGapDraw":-0.00442657,"meanSignedGapAway":-0.00141971,"meanAbsoluteGapHome":0.00928669,"meanAbsoluteGapDraw":0.00442657,"meanAbsoluteGapAway":0.0073106,"meanMaxAbsoluteGap":0.01051193,"p95MaxAbsoluteGap":0.01562567,"maximumAbsoluteGap":0.02385946,"gapOver025Points":821,"gapOver050Points":821,"gapOver100Points":430,"topSelectionChanges":0,"proportionalBrierClassAverage":0.15602225,"shinBrierClassAverage":0.15591714,"brierDifferenceShinMinusProportional":-0.00010511,"proportionalLogLossNats":0.81311479,"shinLogLossNats":0.8120844,"logLossDifferenceShinMinusProportional":-0.00103038}]}