{
 "title": "StatsAI AI model performance, October 2026",
 "description": "Aggregate accuracy of StatsAI football predictions compared with bookmaker odds without margin on the same events. Totals only: no users, tickets or individual matches.",
 "page": "https://statsai.bet/en/research/ai-model-performance-2026-10",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "attribution": "StatsAI (statsai.bet)",
 "citation": "StatsAI (2026). AI model performance: October 2026. StatsAI Football Prediction Research. Published 2026-11-02. https://statsai.bet/en/research/ai-model-performance-2026-10",
 "methodVersion": 1,
 "generatedAt": "2026-11-02T07:00:27.117Z",
 "period": {
  "from": "2026-10-01",
  "to": "2026-10-31",
  "comparedFrom": "2026-10-01",
  "days": 31
 },
 "definitions": {
  "event": "One match in one market. The 1X2 probabilities form one distribution; over/under and yes/no are two sides of one estimate.",
  "brier": "Sum over outcomes of (p - y)^2, averaged over events. 0 is perfect, lower is better; an even 1X2 forecast scores 0.667, a 50:50 two-way forecast 0.5.",
  "logloss": "-ln of the probability given to the observed outcome, floored at 0.01.",
  "acc": "Share of events where the most likely outcome happened.",
  "rps": "Ranked probability score for 1X2 with the order 1 < X < 2.",
  "raw": "AI model probabilities as published.",
  "cal": "AI model after out-of-sample calibration: each day's curve is learned only from the previous 90 days.",
  "mkt": "Pre-match bookmaker odds (first recorded), margin removed proportionally. Only events with odds for every outcome and an overround between 1.00 and 1.40.",
  "base": "Constant forecast equal to the observed outcome frequencies in the same events.",
  "intervals": "calVsMkt, rawVsCal and tier diff: Brier difference (first minus second; positive means the second is better) with a 95% bootstrap interval over whole days (1,000 resamples, fixed seed).",
  "calibration": "Bins of 10 percentage points (i = bin index): pred = mean forecast, obs = observed frequency, ciLo/ciHi = 95% Wilson interval. 1X2 uses all three outcomes, two-way markets only the over/yes side. ece = expected calibration error as a fraction.",
  "competitionTiers": "Same compared events for 1X2, over/under 2.5 and BTTS, grouped by competition tier: top = first division, second = second division, lower = third tier and below, other = cups, national teams, confederation competitions, youth, reserves and women's football. Groups below minEvents should not be interpreted."
 },
 "totals": {
  "rows": 174229,
  "rowsKnown": 173569,
  "rowsWithOdds": 139707,
  "matches": 16013,
  "unresolvedRows": 5710,
  "unresolvedMatches": 751,
  "events": 37477,
  "eventsCompared": 34294,
  "marginExcluded": 171
 },
 "markets": {
  "1x2": {
   "n": 12829,
   "raw": {
    "n": 12829,
    "brier": 0.6299711665444665,
    "logloss": 1.04822687649722,
    "acc": 0.4545171096733962,
    "rps": 0.2188571576612138
   },
   "cal": {
    "n": 12829,
    "brier": 0.6290562685374681,
    "logloss": 1.0456663657554524,
    "acc": 0.4545171096733962,
    "rps": 0.21900558960518723
   },
   "mkt": {
    "n": 12829,
    "brier": 0.5918725150583006,
    "logloss": 0.9917792013296814,
    "acc": 0.5164860862109284,
    "rps": 0.20512189753141416
   },
   "base": {
    "n": 12829,
    "brier": 0.6467372944733784,
    "logloss": 1.0691385320742675,
    "acc": 0.4414997271806064,
    "rps": 0.23094289411884894
   },
   "calVsMkt": {
    "d": 0.03718375347916764,
    "lo": 0.0318002597468488,
    "hi": 0.043388803436161485
   },
   "rawVsCal": {
    "d": 0.0009148980069980719,
    "lo": 0.00041754044089540633,
    "hi": 0.0014078675898937904
   }
  },
  "over_under_2_5": {
   "n": 8771,
   "raw": {
    "n": 8771,
    "brier": 0.5236838900923498,
    "logloss": 0.7306587406094484,
    "acc": 0.5408733325732528
   },
   "cal": {
    "n": 8771,
    "brier": 0.49548055006847647,
    "logloss": 0.6886118948025189,
    "acc": 0.5408733325732528
   },
   "mkt": {
    "n": 8771,
    "brier": 0.47569499970217893,
    "logloss": 0.6682643423266996,
    "acc": 0.5879603237943222
   },
   "base": {
    "n": 8771,
    "brier": 0.4947471963666502,
    "logloss": 0.6878851407429547,
    "acc": 0.5512484323338274
   },
   "calVsMkt": {
    "d": 0.019785550366297637,
    "lo": 0.016275738613079193,
    "hi": 0.02280580201510784
   },
   "rawVsCal": {
    "d": 0.028203340023873293,
    "lo": 0.02307682462742503,
    "hi": 0.03345950555252911
   }
  },
  "btts": {
   "n": 11492,
   "raw": {
    "n": 11492,
    "brier": 0.5212406543682564,
    "logloss": 0.723530579340236,
    "acc": 0.5241907413853115
   },
   "cal": {
    "n": 11492,
    "brier": 0.4951922766233574,
    "logloss": 0.6883126649851793,
    "acc": 0.5197528715628263
   },
   "mkt": {
    "n": 11492,
    "brier": 0.48896443338493945,
    "logloss": 0.6820958807405815,
    "acc": 0.5594326487991647
   },
   "base": {
    "n": 11492,
    "brier": 0.4944752499022005,
    "logloss": 0.687612210937918,
    "acc": 0.5525583014270797
   },
   "calVsMkt": {
    "d": 0.00622784323841812,
    "lo": 0.0032050648518214086,
    "hi": 0.009421272238220603
   },
   "rawVsCal": {
    "d": 0.026048377744898942,
    "lo": 0.020947594707136197,
    "hi": 0.030387445521251815
   }
  },
  "statsai_elo_1x2": {
   "n": 1202,
   "raw": {
    "n": 1202,
    "brier": 0.5982042660555842,
    "logloss": 1.0019707802933926,
    "acc": 0.5124792013311148,
    "rps": 0.20846237537082352
   },
   "cal": {
    "n": 1202,
    "brier": 0.5996246239931818,
    "logloss": 1.0039659491191524,
    "acc": 0.5124792013311148,
    "rps": 0.20905608778534973
   },
   "mkt": {
    "n": 1202,
    "brier": 0.5781678415426326,
    "logloss": 0.9732119988593756,
    "acc": 0.5465890183028286,
    "rps": 0.1988052663366294
   },
   "base": {
    "n": 1202,
    "brier": 0.6388022181555422,
    "logloss": 1.058207735380629,
    "acc": 0.46589018302828616,
    "rps": 0.22830501576684448
   },
   "calVsMkt": {
    "d": 0.02145678245054943,
    "lo": 0.014383991383546818,
    "hi": 0.0301942217746373
   },
   "rawVsCal": {
    "d": -0.0014203579375975477,
    "lo": -0.0029686264407810603,
    "hi": -0.000056578530743694876
   }
  }
 },
 "calibration": {
  "1x2": {
   "raw": [
    {
     "i": 0,
     "n": 300,
     "pred": 0.07480181684835131,
     "obs": 0.09666666666666666,
     "ciLo": 0.06814985592393716,
     "ciHi": 0.13538251094090295
    },
    {
     "i": 1,
     "n": 3857,
     "pred": 0.15958742776014584,
     "obs": 0.2024889810733731,
     "ciLo": 0.19010549797134965,
     "ciHi": 0.21546452075202924
    },
    {
     "i": 2,
     "n": 11317,
     "pred": 0.2522271882573952,
     "obs": 0.2558098435981267,
     "ciLo": 0.24785484783579936,
     "ciHi": 0.2639305657150801
    },
    {
     "i": 3,
     "n": 13164,
     "pred": 0.3422677609602429,
     "obs": 0.3290033424491036,
     "ciLo": 0.32102781420625487,
     "ciHi": 0.3370786441824913
    },
    {
     "i": 4,
     "n": 6270,
     "pred": 0.43928582539275157,
     "obs": 0.4291866028708134,
     "ciLo": 0.4169820480155366,
     "ciHi": 0.4414778786743562
    },
    {
     "i": 5,
     "n": 2387,
     "pred": 0.5380547468236463,
     "obs": 0.543778801843318,
     "ciLo": 0.5237428643006795,
     "ciHi": 0.5636740519852007
    },
    {
     "i": 6,
     "n": 907,
     "pred": 0.6376789222472429,
     "obs": 0.6350606394707828,
     "ciLo": 0.6032212340198717,
     "ciHi": 0.6657607711937681
    },
    {
     "i": 7,
     "n": 232,
     "pred": 0.7317857044325117,
     "obs": 0.771551724137931,
     "ciLo": 0.7133637618684162,
     "ciHi": 0.8208931291974518
    },
    {
     "i": 8,
     "n": 51,
     "pred": 0.8298860278184685,
     "obs": 0.9215686274509803,
     "ciLo": 0.8149980177513917,
     "ciHi": 0.9690783038730685
    },
    {
     "i": 9,
     "n": 2,
     "pred": 0.9153960396039604,
     "obs": 1,
     "ciLo": 0.34237195288961925,
     "ciHi": 1
    }
   ],
   "cal": [
    {
     "i": 0,
     "n": 120,
     "pred": 0.0825882049644341,
     "obs": 0.075,
     "ciLo": 0.039956662006448734,
     "ciHi": 0.13641056839109136
    },
    {
     "i": 1,
     "n": 2292,
     "pred": 0.16745445091936959,
     "obs": 0.16972076788830714,
     "ciLo": 0.15490795188489195,
     "ciHi": 0.18563888723501945
    },
    {
     "i": 2,
     "n": 13326,
     "pred": 0.254938224007999,
     "obs": 0.2519885937265496,
     "ciLo": 0.24468937263879326,
     "ciHi": 0.2594307663432032
    },
    {
     "i": 3,
     "n": 14353,
     "pred": 0.34508704726835465,
     "obs": 0.3381871385773009,
     "ciLo": 0.3304915306416503,
     "ciHi": 0.345969342201023
    },
    {
     "i": 4,
     "n": 5493,
     "pred": 0.44145549952285684,
     "obs": 0.4485709084289095,
     "ciLo": 0.43545879709107244,
     "ciHi": 0.46175490468268793
    },
    {
     "i": 5,
     "n": 2159,
     "pred": 0.5423718818007149,
     "obs": 0.5701713756368689,
     "ciLo": 0.549182533780351,
     "ciHi": 0.5909109432454284
    },
    {
     "i": 6,
     "n": 614,
     "pred": 0.6381552368195161,
     "obs": 0.6775244299674267,
     "ciLo": 0.6395463851476516,
     "ciHi": 0.7132948608934048
    },
    {
     "i": 7,
     "n": 116,
     "pred": 0.7384865003950258,
     "obs": 0.8103448275862069,
     "ciLo": 0.7295059337062212,
     "ciHi": 0.8712871131155834
    },
    {
     "i": 8,
     "n": 14,
     "pred": 0.8253535845718972,
     "obs": 1,
     "ciLo": 0.7846829880728186,
     "ciHi": 1
    }
   ],
   "mkt": [
    {
     "i": 0,
     "n": 845,
     "pred": 0.07104771662495016,
     "obs": 0.05680473372781065,
     "ciLo": 0.04311016034364715,
     "ciHi": 0.07451084220853689
    },
    {
     "i": 1,
     "n": 4626,
     "pred": 0.16187251686400875,
     "obs": 0.15391266753134458,
     "ciLo": 0.14380102744731207,
     "ciHi": 0.16459863788897075
    },
    {
     "i": 2,
     "n": 15279,
     "pred": 0.2535902083074233,
     "obs": 0.2489691733752209,
     "ciLo": 0.2421762225594614,
     "ciHi": 0.25588832585540927
    },
    {
     "i": 3,
     "n": 7205,
     "pred": 0.3445645488061647,
     "obs": 0.34614850798056906,
     "ciLo": 0.3352478688896918,
     "ciHi": 0.35721312234640357
    },
    {
     "i": 4,
     "n": 4840,
     "pred": 0.44723137225206183,
     "obs": 0.4541322314049587,
     "ciLo": 0.440147012462365,
     "ciHi": 0.4681902048405294
    },
    {
     "i": 5,
     "n": 3075,
     "pred": 0.5468737717094008,
     "obs": 0.5573983739837398,
     "ciLo": 0.5397816750111973,
     "ciHi": 0.5748718362314725
    },
    {
     "i": 6,
     "n": 1601,
     "pred": 0.6438162019495574,
     "obs": 0.6589631480324797,
     "ciLo": 0.6353857453576431,
     "ciHi": 0.6817795125718621
    },
    {
     "i": 7,
     "n": 728,
     "pred": 0.7424563922652603,
     "obs": 0.7541208791208791,
     "ciLo": 0.721560287955197,
     "ciHi": 0.7840135957923242
    },
    {
     "i": 8,
     "n": 246,
     "pred": 0.8409830280164241,
     "obs": 0.8739837398373984,
     "ciLo": 0.8266816974934672,
     "ciHi": 0.9097849277602936
    },
    {
     "i": 9,
     "n": 42,
     "pred": 0.9184176683975636,
     "obs": 0.9523809523809523,
     "ciLo": 0.8420986468452026,
     "ciHi": 0.9868427513607937
    }
   ],
   "eceRaw": 0.012487838125672916,
   "eceCal": 0.00723630042190914,
   "eceMkt": 0.0062079339148339826
  },
  "over_under_2_5": {
   "raw": [
    {
     "i": 0,
     "n": 29,
     "pred": 0.0413793103448276,
     "obs": 0.7241379310344828,
     "ciLo": 0.5428252365556403,
     "ciHi": 0.8530141866149725
    },
    {
     "i": 1,
     "n": 186,
     "pred": 0.14913978494623648,
     "obs": 0.43548387096774194,
     "ciLo": 0.3662455866759873,
     "ciHi": 0.5073332285046687
    },
    {
     "i": 2,
     "n": 611,
     "pred": 0.24502454991816713,
     "obs": 0.5106382978723404,
     "ciLo": 0.4710582153342875,
     "ciHi": 0.550085441828793
    },
    {
     "i": 3,
     "n": 1099,
     "pred": 0.34818016378526,
     "obs": 0.5095541401273885,
     "ciLo": 0.4800162085960109,
     "ciHi": 0.5390255105411708
    },
    {
     "i": 4,
     "n": 2274,
     "pred": 0.4468909410730026,
     "obs": 0.5145118733509235,
     "ciLo": 0.49396247166050244,
     "ciHi": 0.5350123262358921
    },
    {
     "i": 5,
     "n": 1881,
     "pred": 0.5436735778840992,
     "obs": 0.5640616693248273,
     "ciLo": 0.5415437948852402,
     "ciHi": 0.5863184084956701
    },
    {
     "i": 6,
     "n": 1547,
     "pred": 0.6384227537168694,
     "obs": 0.5759534583063994,
     "ciLo": 0.5511681224912778,
     "ciHi": 0.6003625044921613
    },
    {
     "i": 7,
     "n": 728,
     "pred": 0.7346153846153839,
     "obs": 0.6181318681318682,
     "ciLo": 0.5823061328025617,
     "ciHi": 0.6527174023449348
    },
    {
     "i": 8,
     "n": 269,
     "pred": 0.8340148698884772,
     "obs": 0.6840148698884758,
     "ciLo": 0.6261977246489431,
     "ciHi": 0.7366501695138238
    },
    {
     "i": 9,
     "n": 147,
     "pred": 0.9469387755102044,
     "obs": 0.7142857142857143,
     "ciLo": 0.6365283462836475,
     "ciHi": 0.7811283213730202
    }
   ],
   "cal": [
    {
     "i": 3,
     "n": 66,
     "pred": 0.38679361958384517,
     "obs": 0.5909090909090909,
     "ciLo": 0.4704897153828895,
     "ciHi": 0.7013276542077269
    },
    {
     "i": 4,
     "n": 4133,
     "pred": 0.4655484474435932,
     "obs": 0.509315267360271,
     "ciLo": 0.49407253398111844,
     "ciHi": 0.5245406998444164
    },
    {
     "i": 5,
     "n": 4395,
     "pred": 0.5353838247136274,
     "obs": 0.5840728100113766,
     "ciLo": 0.5694335795816811,
     "ciHi": 0.5985651953685239
    },
    {
     "i": 6,
     "n": 177,
     "pred": 0.6185078376167856,
     "obs": 0.7005649717514124,
     "ciLo": 0.6294137772628124,
     "ciHi": 0.7631950030178308
    }
   ],
   "mkt": [
    {
     "i": 2,
     "n": 30,
     "pred": 0.2871976292872011,
     "obs": 0.23333333333333334,
     "ciLo": 0.11792239210501232,
     "ciHi": 0.40928672330324267
    },
    {
     "i": 3,
     "n": 688,
     "pred": 0.36262834391288445,
     "obs": 0.3546511627906977,
     "ciLo": 0.31979983440951804,
     "ciHi": 0.39111665283264846
    },
    {
     "i": 4,
     "n": 2376,
     "pred": 0.45523539294890986,
     "obs": 0.47769360269360267,
     "ciLo": 0.4576608691675838,
     "ciHi": 0.4977983513116279
    },
    {
     "i": 5,
     "n": 3346,
     "pred": 0.5505831242133777,
     "obs": 0.5639569635385535,
     "ciLo": 0.5470903296154574,
     "ciHi": 0.580676905706953
    },
    {
     "i": 6,
     "n": 1899,
     "pred": 0.6398411470793748,
     "obs": 0.65086887835703,
     "ciLo": 0.6291432951848579,
     "ciHi": 0.6719852906101973
    },
    {
     "i": 7,
     "n": 400,
     "pred": 0.7356537681532538,
     "obs": 0.7525,
     "ciLo": 0.7079383715578094,
     "ciHi": 0.7922577449393517
    },
    {
     "i": 8,
     "n": 32,
     "pred": 0.8293651611724386,
     "obs": 0.78125,
     "ciLo": 0.6124466920955516,
     "ciHi": 0.8897630306846815
    }
   ],
   "eceRaw": 0.0981427431307716,
   "eceCal": 0.04821252889619563,
   "eceMkt": 0.015327059835662132
  },
  "btts": {
   "raw": [
    {
     "i": 0,
     "n": 17,
     "pred": 0.04352941176470589,
     "obs": 0.5294117647058824,
     "ciLo": 0.30962897311549487,
     "ciHi": 0.738351988039119
    },
    {
     "i": 1,
     "n": 65,
     "pred": 0.1675384615384615,
     "obs": 0.38461538461538464,
     "ciLo": 0.27594829385374525,
     "ciHi": 0.5061601986856494
    },
    {
     "i": 2,
     "n": 348,
     "pred": 0.25468390804597735,
     "obs": 0.46839080459770116,
     "ciLo": 0.4165933634640282,
     "ciHi": 0.5208784988740238
    },
    {
     "i": 3,
     "n": 1118,
     "pred": 0.3515205724508048,
     "obs": 0.5161001788908766,
     "ciLo": 0.48680111102654344,
     "ciHi": 0.5452889808366929
    },
    {
     "i": 4,
     "n": 2921,
     "pred": 0.4621191372817648,
     "obs": 0.5491270112975009,
     "ciLo": 0.5310293528683349,
     "ciHi": 0.567095619095959
    },
    {
     "i": 5,
     "n": 2767,
     "pred": 0.5383953740513053,
     "obs": 0.533791109504879,
     "ciLo": 0.5151693147898188,
     "ciHi": 0.5523192056654828
    },
    {
     "i": 6,
     "n": 2045,
     "pred": 0.6427286063569716,
     "obs": 0.5628361858190709,
     "ciLo": 0.5412389981470164,
     "ciHi": 0.5841977364448624
    },
    {
     "i": 7,
     "n": 1389,
     "pred": 0.7402807775378011,
     "obs": 0.6018718502519799,
     "ciLo": 0.5758813197110179,
     "ciHi": 0.6273004347684578
    },
    {
     "i": 8,
     "n": 649,
     "pred": 0.8393682588597828,
     "obs": 0.6086286594761171,
     "ciLo": 0.5705451034438459,
     "ciHi": 0.645433780254742
    },
    {
     "i": 9,
     "n": 173,
     "pred": 0.9326589595375717,
     "obs": 0.653179190751445,
     "ciLo": 0.5796219469698011,
     "ciHi": 0.7200812902775434
    }
   ],
   "cal": [
    {
     "i": 3,
     "n": 24,
     "pred": 0.3722225847240792,
     "obs": 0.3333333333333333,
     "ciLo": 0.17971978688379642,
     "ciHi": 0.5329404050591954
    },
    {
     "i": 4,
     "n": 2835,
     "pred": 0.46804262185758794,
     "obs": 0.5199294532627866,
     "ciLo": 0.5015239572074868,
     "ciHi": 0.5382810111288938
    },
    {
     "i": 5,
     "n": 8360,
     "pred": 0.5288866197651455,
     "obs": 0.5618421052631579,
     "ciLo": 0.5511801773311258,
     "ciHi": 0.5724472237425626
    },
    {
     "i": 6,
     "n": 273,
     "pred": 0.6118603713711726,
     "obs": 0.6263736263736264,
     "ciLo": 0.5676060115237549,
     "ciHi": 0.6816339870891703
    }
   ],
   "mkt": [
    {
     "i": 0,
     "n": 1,
     "pred": 0.0960989533777355,
     "obs": 1,
     "ciLo": 0.20654329147389294,
     "ciHi": 1
    },
    {
     "i": 1,
     "n": 3,
     "pred": 0.18480339903156784,
     "obs": 0.3333333333333333,
     "ciLo": 0.0614903152761605,
     "ciHi": 0.7923450448735121
    },
    {
     "i": 2,
     "n": 26,
     "pred": 0.2563473138988435,
     "obs": 0.3076923076923077,
     "ciLo": 0.16501120939792674,
     "ciHi": 0.49988611514231246
    },
    {
     "i": 3,
     "n": 439,
     "pred": 0.37114874371940115,
     "obs": 0.4054669703872437,
     "ciLo": 0.3605500602864498,
     "ciHi": 0.452024006829196
    },
    {
     "i": 4,
     "n": 2838,
     "pred": 0.4602336246596033,
     "obs": 0.49823819591261453,
     "ciLo": 0.47985727857615723,
     "ciHi": 0.5166238764607738
    },
    {
     "i": 5,
     "n": 5627,
     "pred": 0.5473382416674458,
     "obs": 0.5605118180202595,
     "ciLo": 0.5475065765668755,
     "ciHi": 0.5734344919938171
    },
    {
     "i": 6,
     "n": 2378,
     "pred": 0.6338794695927272,
     "obs": 0.6206896551724138,
     "ciLo": 0.6010075088340567,
     "ciHi": 0.6399824881497898
    },
    {
     "i": 7,
     "n": 177,
     "pred": 0.7263398980687603,
     "obs": 0.655367231638418,
     "ciLo": 0.5827210092294253,
     "ciHi": 0.7214125529598054
    },
    {
     "i": 8,
     "n": 3,
     "pred": 0.8016288539848749,
     "obs": 0.6666666666666666,
     "ciLo": 0.2076549551264879,
     "ciHi": 0.9385096847238394
    }
   ],
   "eceRaw": 0.09583710407239282,
   "eceCal": 0.03720000752229114,
   "eceMkt": 0.021238015729228985
  },
  "statsai_elo_1x2": {
   "raw": [
    {
     "i": 0,
     "n": 24,
     "pred": 0.07633500850085011,
     "obs": 0.041666666666666664,
     "ciLo": 0.007393265354805126,
     "ciHi": 0.20242226248842232
    },
    {
     "i": 1,
     "n": 331,
     "pred": 0.15531808165710825,
     "obs": 0.14501510574018128,
     "ciLo": 0.11115284775922085,
     "ciHi": 0.18702276721812966
    },
    {
     "i": 2,
     "n": 1694,
     "pred": 0.25827623140117745,
     "obs": 0.2426210153482881,
     "ciLo": 0.22280453546582135,
     "ciHi": 0.26360220589332545
    },
    {
     "i": 3,
     "n": 556,
     "pred": 0.3466064178360285,
     "obs": 0.36151079136690645,
     "ciLo": 0.32265178365251124,
     "ciHi": 0.40227040862473296
    },
    {
     "i": 4,
     "n": 501,
     "pred": 0.4435782440519497,
     "obs": 0.4431137724550898,
     "ciLo": 0.40021142613499056,
     "ciHi": 0.48688187204012007
    },
    {
     "i": 5,
     "n": 291,
     "pred": 0.5363782632558792,
     "obs": 0.6013745704467354,
     "ciLo": 0.5441503551857733,
     "ciHi": 0.6559570923385923
    },
    {
     "i": 6,
     "n": 148,
     "pred": 0.6382664752961777,
     "obs": 0.6621621621621622,
     "ciLo": 0.5827166337655623,
     "ciHi": 0.7334022690910988
    },
    {
     "i": 7,
     "n": 50,
     "pred": 0.7323178517851784,
     "obs": 0.7,
     "ciLo": 0.562493877226366,
     "ciHi": 0.8089661091039063
    },
    {
     "i": 8,
     "n": 11,
     "pred": 0.8296786042240588,
     "obs": 1,
     "ciLo": 0.7411599827511859,
     "ciHi": 1
    }
   ],
   "cal": [
    {
     "i": 0,
     "n": 42,
     "pred": 0.08177673448435889,
     "obs": 0.047619047619047616,
     "ciLo": 0.013157248639206365,
     "ciHi": 0.1579013531547973
    },
    {
     "i": 1,
     "n": 331,
     "pred": 0.15702599728180008,
     "obs": 0.16314199395770393,
     "ciLo": 0.12724127247684439,
     "ciHi": 0.2067721834378329
    },
    {
     "i": 2,
     "n": 1617,
     "pred": 0.26439314598710906,
     "obs": 0.24366110080395795,
     "ciLo": 0.2233602693397603,
     "ciHi": 0.26517704362160505
    },
    {
     "i": 3,
     "n": 720,
     "pred": 0.35016010223409594,
     "obs": 0.3486111111111111,
     "ciLo": 0.314689638785436,
     "ciHi": 0.38413949731284835
    },
    {
     "i": 4,
     "n": 477,
     "pred": 0.4448698111139952,
     "obs": 0.480083857442348,
     "ciLo": 0.4355866454752808,
     "ciHi": 0.524899302495943
    },
    {
     "i": 5,
     "n": 218,
     "pred": 0.5409632518375047,
     "obs": 0.6009174311926605,
     "ciLo": 0.5347035219009446,
     "ciHi": 0.6636361943650757
    },
    {
     "i": 6,
     "n": 135,
     "pred": 0.6444412224731205,
     "obs": 0.674074074074074,
     "ciLo": 0.5911422329154047,
     "ciHi": 0.7473730247595284
    },
    {
     "i": 7,
     "n": 55,
     "pred": 0.73868985989321,
     "obs": 0.7272727272727273,
     "ciLo": 0.5976755051758511,
     "ciHi": 0.8271939749198636
    },
    {
     "i": 8,
     "n": 10,
     "pred": 0.8289270707442942,
     "obs": 0.9,
     "ciLo": 0.5958436145024278,
     "ciHi": 0.9821242504842788
    },
    {
     "i": 9,
     "n": 1,
     "pred": 0.9011145442832216,
     "obs": 1,
     "ciLo": 0.20654329147389294,
     "ciHi": 1
    }
   ],
   "mkt": [
    {
     "i": 0,
     "n": 63,
     "pred": 0.07742658241973735,
     "obs": 0.07936507936507936,
     "ciLo": 0.03437534033651937,
     "ciHi": 0.17270528011541472
    },
    {
     "i": 1,
     "n": 444,
     "pred": 0.16339201739327688,
     "obs": 0.1373873873873874,
     "ciLo": 0.10846234961775905,
     "ciHi": 0.17253343103325683
    },
    {
     "i": 2,
     "n": 1473,
     "pred": 0.2555455523716915,
     "obs": 0.23421588594704684,
     "ciLo": 0.21329635251572984,
     "ciHi": 0.2565181489175993
    },
    {
     "i": 3,
     "n": 640,
     "pred": 0.34640184636173765,
     "obs": 0.3421875,
     "ciLo": 0.30646907274425866,
     "ciHi": 0.3797891622004856
    },
    {
     "i": 4,
     "n": 471,
     "pred": 0.4460704678982037,
     "obs": 0.4989384288747346,
     "ciLo": 0.4539741347051123,
     "ciHi": 0.5439198998529382
    },
    {
     "i": 5,
     "n": 278,
     "pred": 0.5514243923623585,
     "obs": 0.564748201438849,
     "ciLo": 0.5059759054733943,
     "ciHi": 0.621755415949703
    },
    {
     "i": 6,
     "n": 147,
     "pred": 0.6436662697825029,
     "obs": 0.7414965986394558,
     "ciLo": 0.6652072488119865,
     "ciHi": 0.8054851861661629
    },
    {
     "i": 7,
     "n": 70,
     "pred": 0.7384210161241076,
     "obs": 0.8,
     "ciLo": 0.6918313531091291,
     "ciHi": 0.8769537219705008
    },
    {
     "i": 8,
     "n": 20,
     "pred": 0.8378352513211416,
     "obs": 0.75,
     "ciLo": 0.5312949900419365,
     "ciHi": 0.888139947210597
    }
   ],
   "eceRaw": 0.018086996164950592,
   "eceCal": 0.020355826850901003,
   "eceMkt": 0.026299800922934827
  }
 },
 "oddsBands1x2": [
  {
   "lo": 1,
   "hi": 1.5,
   "n": 2412,
   "raw": 0.5103547357223284,
   "cal": 0.49162666577380115,
   "mkt": 0.7013042736798708,
   "obs": 0.7135157545605307
  },
  {
   "lo": 1.5,
   "hi": 2,
   "n": 5097,
   "raw": 0.4203199919756529,
   "cal": 0.41038839575332875,
   "mkt": 0.5251769667397644,
   "obs": 0.5365901510692564
  },
  {
   "lo": 2,
   "hi": 3,
   "n": 9669,
   "raw": 0.34402649335157987,
   "cal": 0.34291510078888066,
   "mkt": 0.37302587889475125,
   "obs": 0.3763574309649395
  },
  {
   "lo": 3,
   "hi": 5,
   "n": 17082,
   "raw": 0.30116270162316755,
   "cal": 0.3043057698046907,
   "mkt": 0.2508445373000051,
   "obs": 0.24511181360496428
  },
  {
   "lo": 5,
   "hi": 1000,
   "n": 4227,
   "raw": 0.23297845871646508,
   "cal": 0.2454813247379987,
   "mkt": 0.13459036745197822,
   "obs": 0.12940619824934943
  }
 ],
 "periods": [
  {
   "key": "7",
   "from": "2026-10-25",
   "to": "2026-10-31",
   "markets": {
    "1x2": {
     "n": 3342,
     "cal": {
      "n": 3342,
      "brier": 0.6266010440337813,
      "logloss": 1.041731508965716,
      "acc": 0.4599042489527229,
      "rps": 0.2168712584417763
     },
     "mkt": {
      "n": 3342,
      "brier": 0.5920479465105709,
      "logloss": 0.9914363671035724,
      "acc": 0.5227408737283064,
      "rps": 0.2035331601943613
     }
    },
    "over_under_2_5": {
     "n": 2162,
     "cal": {
      "n": 2162,
      "brier": 0.49453179371957257,
      "logloss": 0.6876529531160306,
      "acc": 0.5471785383903793
     },
     "mkt": {
      "n": 2162,
      "brier": 0.47752218126625007,
      "logloss": 0.6700309167731111,
      "acc": 0.5846438482886216
     }
    },
    "btts": {
     "n": 2970,
     "cal": {
      "n": 2970,
      "brier": 0.49502746087441835,
      "logloss": 0.6881662707827066,
      "acc": 0.5225589225589226
     },
     "mkt": {
      "n": 2970,
      "brier": 0.48889583986215274,
      "logloss": 0.6819459111020209,
      "acc": 0.560942760942761
     }
    },
    "statsai_elo_1x2": {
     "n": 327,
     "cal": {
      "n": 327,
      "brier": 0.5791872397792287,
      "logloss": 0.976665255540587,
      "acc": 0.5382262996941896,
      "rps": 0.201107644007018
     },
     "mkt": {
      "n": 327,
      "brier": 0.5675013050504669,
      "logloss": 0.9600178852675176,
      "acc": 0.5657492354740061,
      "rps": 0.19442667750692336
     }
    }
   }
  },
  {
   "key": "30",
   "from": "2026-10-02",
   "to": "2026-10-31",
   "markets": {
    "1x2": {
     "n": 12741,
     "cal": {
      "n": 12741,
      "brier": 0.6292098584787663,
      "logloss": 1.0458729635780433,
      "acc": 0.45404599325013734,
      "rps": 0.2190860679745243
     },
     "mkt": {
      "n": 12741,
      "brier": 0.5924124311933638,
      "logloss": 0.9925835706756196,
      "acc": 0.516207519033043,
      "rps": 0.20538237510735466
     }
    },
    "over_under_2_5": {
     "n": 8710,
     "cal": {
      "n": 8710,
      "brier": 0.49538175571152715,
      "logloss": 0.6885133747850507,
      "acc": 0.5419058553386912
     },
     "mkt": {
      "n": 8710,
      "brier": 0.4756996320848755,
      "logloss": 0.6682651622200607,
      "acc": 0.5876004592422502
     }
    },
    "btts": {
     "n": 11410,
     "cal": {
      "n": 11410,
      "brier": 0.49522046615237847,
      "logloss": 0.6883411109188896,
      "acc": 0.5198071866783524
     },
     "mkt": {
      "n": 11410,
      "brier": 0.48897085767209575,
      "logloss": 0.6821083631701534,
      "acc": 0.5598597721297108
     }
    },
    "statsai_elo_1x2": {
     "n": 1200,
     "cal": {
      "n": 1200,
      "brier": 0.5997250882038246,
      "logloss": 1.0041114772604922,
      "acc": 0.5125,
      "rps": 0.20902385640255736
     },
     "mkt": {
      "n": 1200,
      "brier": 0.5786558042638198,
      "logloss": 0.9738852063710531,
      "acc": 0.5458333333333333,
      "rps": 0.1989382870651638
     }
    }
   }
  },
  {
   "key": "90",
   "from": "2026-10-01",
   "to": "2026-10-31",
   "markets": {
    "1x2": {
     "n": 12829,
     "cal": {
      "n": 12829,
      "brier": 0.6290562685374681,
      "logloss": 1.0456663657554524,
      "acc": 0.4545171096733962,
      "rps": 0.21900558960518723
     },
     "mkt": {
      "n": 12829,
      "brier": 0.5918725150583006,
      "logloss": 0.9917792013296814,
      "acc": 0.5164860862109284,
      "rps": 0.20512189753141416
     }
    },
    "over_under_2_5": {
     "n": 8771,
     "cal": {
      "n": 8771,
      "brier": 0.49548055006847647,
      "logloss": 0.6886118948025189,
      "acc": 0.5408733325732528
     },
     "mkt": {
      "n": 8771,
      "brier": 0.47569499970217893,
      "logloss": 0.6682643423266996,
      "acc": 0.5879603237943222
     }
    },
    "btts": {
     "n": 11492,
     "cal": {
      "n": 11492,
      "brier": 0.4951922766233574,
      "logloss": 0.6883126649851793,
      "acc": 0.5197528715628263
     },
     "mkt": {
      "n": 11492,
      "brier": 0.48896443338493945,
      "logloss": 0.6820958807405815,
      "acc": 0.5594326487991647
     }
    },
    "statsai_elo_1x2": {
     "n": 1202,
     "cal": {
      "n": 1202,
      "brier": 0.5996246239931818,
      "logloss": 1.0039659491191524,
      "acc": 0.5124792013311148,
      "rps": 0.20905608778534973
     },
     "mkt": {
      "n": 1202,
      "brier": 0.5781678415426326,
      "logloss": 0.9732119988593756,
      "acc": 0.5465890183028286,
      "rps": 0.1988052663366294
     }
    }
   }
  },
  {
   "key": "all",
   "from": "2026-10-01",
   "to": "2026-10-31",
   "markets": {
    "1x2": {
     "n": 12829,
     "cal": {
      "n": 12829,
      "brier": 0.6290562685374681,
      "logloss": 1.0456663657554524,
      "acc": 0.4545171096733962,
      "rps": 0.21900558960518723
     },
     "mkt": {
      "n": 12829,
      "brier": 0.5918725150583006,
      "logloss": 0.9917792013296814,
      "acc": 0.5164860862109284,
      "rps": 0.20512189753141416
     }
    },
    "over_under_2_5": {
     "n": 8771,
     "cal": {
      "n": 8771,
      "brier": 0.49548055006847647,
      "logloss": 0.6886118948025189,
      "acc": 0.5408733325732528
     },
     "mkt": {
      "n": 8771,
      "brier": 0.47569499970217893,
      "logloss": 0.6682643423266996,
      "acc": 0.5879603237943222
     }
    },
    "btts": {
     "n": 11492,
     "cal": {
      "n": 11492,
      "brier": 0.4951922766233574,
      "logloss": 0.6883126649851793,
      "acc": 0.5197528715628263
     },
     "mkt": {
      "n": 11492,
      "brier": 0.48896443338493945,
      "logloss": 0.6820958807405815,
      "acc": 0.5594326487991647
     }
    },
    "statsai_elo_1x2": {
     "n": 1202,
     "cal": {
      "n": 1202,
      "brier": 0.5996246239931818,
      "logloss": 1.0039659491191524,
      "acc": 0.5124792013311148,
      "rps": 0.20905608778534973
     },
     "mkt": {
      "n": 1202,
      "brier": 0.5781678415426326,
      "logloss": 0.9732119988593756,
      "acc": 0.5465890183028286,
      "rps": 0.1988052663366294
     }
    }
   }
  }
 ],
 "weekly1x2": [
  {
   "from": "2026-09-28",
   "to": "2026-10-04",
   "n": 1549,
   "cal": 0.6365402575950709,
   "mkt": 0.5853389936865662,
   "partial": true
  },
  {
   "from": "2026-10-05",
   "to": "2026-10-11",
   "n": 2782,
   "cal": 0.6335091943417095,
   "mkt": 0.5954885398937252,
   "partial": false
  },
  {
   "from": "2026-10-12",
   "to": "2026-10-18",
   "n": 3082,
   "cal": 0.6290996348902337,
   "mkt": 0.5973642553082306,
   "partial": false
  },
  {
   "from": "2026-10-19",
   "to": "2026-10-25",
   "n": 2974,
   "cal": 0.6235208317558572,
   "mkt": 0.5912136801448735,
   "partial": false
  },
  {
   "from": "2026-10-26",
   "to": "2026-11-01",
   "n": 2442,
   "cal": 0.625922769459525,
   "mkt": 0.5857686965058496,
   "partial": true
  }
 ],
 "marketsWithoutFullDistribution": {
  "ht_ft": {
   "n": 9651,
   "saidRaw": 0.2233758159776337,
   "saidCal": 0.20748437608531187,
   "obs": 0.21344938348357684,
   "brierRaw": 0.16518810485960647,
   "brierCal": 0.16493111254641407,
   "eceRaw": 0.015395295824270988,
   "eceCal": 0.006821862769008254
  },
  "combinations": {
   "n": 27344,
   "saidRaw": 0.2655492978349863,
   "saidCal": 0.25991245815278397,
   "obs": 0.26535985956699826,
   "brierRaw": 0.1875638238736199,
   "brierCal": 0.18574800332816807,
   "eceRaw": 0.03195289643065701,
   "eceCal": 0.007367001063047618
  },
  "goals_by_half": {
   "n": 47475,
   "saidRaw": 0.2510456029489228,
   "saidCal": 0.28851774135493785,
   "obs": 0.29036334913112166,
   "brierRaw": 0.20927791679831484,
   "brierCal": 0.20237045629609257,
   "eceRaw": 0.06545866245392264,
   "eceCal": 0.0030693356526950055
  }
 },
 "eloVsInput1x2": {
  "n": 1114,
  "eloBrier": 0.5991869225505766,
  "x12Brier": 0.627838875779858,
  "eloAcc": 0.5116696588868941,
  "x12Acc": 0.4506283662477558
 },
 "competitionTiers": {
  "minEvents": 1000,
  "events": 33092,
  "unclassified": 2,
  "groups": [
   {
    "tier": "top",
    "markets": {
     "1x2": {
      "n": 3164,
      "cal": 0.6208472642075874,
      "mkt": 0.5747011410424452,
      "diff": {
       "d": 0.04614612316514218,
       "lo": 0.03736346200483115,
       "hi": 0.05610600498717527
      }
     },
     "over_under_2_5": {
      "n": 2473,
      "cal": 0.49300506402656524,
      "mkt": 0.47666120908118587,
      "diff": {
       "d": 0.01634385494537944,
       "lo": 0.010110507724749643,
       "hi": 0.022124868326324928
      }
     },
     "btts": {
      "n": 2954,
      "cal": 0.49584717560804814,
      "mkt": 0.48776001974051747,
      "diff": {
       "d": 0.008087155867530865,
       "lo": 0.0028763803491211027,
       "hi": 0.013203154187166487
      }
     }
    }
   },
   {
    "tier": "second",
    "markets": {
     "1x2": {
      "n": 2570,
      "cal": 0.644443135920121,
      "mkt": 0.605904532915119,
      "diff": {
       "d": 0.03853860300500179,
       "lo": 0.03002170361891244,
       "hi": 0.04780254467814604
      }
     },
     "over_under_2_5": {
      "n": 1880,
      "cal": 0.4985746239144449,
      "mkt": 0.48791549979237536,
      "diff": {
       "d": 0.010659124122069505,
       "lo": 0.0034150702575629116,
       "hi": 0.01593459215488239
      }
     },
     "btts": {
      "n": 2430,
      "cal": 0.49676257555751413,
      "mkt": 0.4928332583006361,
      "diff": {
       "d": 0.003929317256877994,
       "lo": -0.0008661879133005212,
       "hi": 0.008679276430940977
      }
     }
    }
   },
   {
    "tier": "lower",
    "markets": {
     "1x2": {
      "n": 4762,
      "cal": 0.6398802211282987,
      "mkt": 0.6102212035095524,
      "diff": {
       "d": 0.02965901761874654,
       "lo": 0.018401888285541453,
       "hi": 0.04014075916744212
      }
     },
     "over_under_2_5": {
      "n": 3013,
      "cal": 0.4980896200583792,
      "mkt": 0.4718371631236238,
      "diff": {
       "d": 0.026252456934755433,
       "lo": 0.01862811896972581,
       "hi": 0.03452478973807787
      }
     },
     "btts": {
      "n": 4165,
      "cal": 0.49273398199575263,
      "mkt": 0.4880020333865824,
      "diff": {
       "d": 0.004731948609170265,
       "lo": 0.0001737168060287712,
       "hi": 0.011226993094676774
      }
     }
    }
   },
   {
    "tier": "other",
    "markets": {
     "1x2": {
      "n": 2332,
      "cal": 0.6011217856866891,
      "mkt": 0.5622591267251679,
      "diff": {
       "d": 0.038862658961521246,
       "lo": 0.027828702659259484,
       "hi": 0.048890045390867165
      }
     },
     "over_under_2_5": {
      "n": 1405,
      "cal": 0.4901025360269456,
      "mkt": 0.46591541653302077,
      "diff": {
       "d": 0.024187119493924852,
       "lo": 0.015064175991283022,
       "hi": 0.035172869765084054
      }
     },
     "btts": {
      "n": 1942,
      "cal": 0.49747575807813715,
      "mkt": 0.48795013876013477,
      "diff": {
       "d": 0.009525619318002373,
       "lo": 0.0021203679798888213,
       "hi": 0.01891927043148745
      }
     }
    }
   }
  ]
 },
 "report": {
  "id": "2026-10",
  "from": "2026-10-01",
  "to": "2026-10-31",
  "publishedAt": "2026-11-02T07:13:21.782Z",
  "reportVersion": 1,
  "missingDays": [],
  "corrections": [],
  "verify": {
   "at": "2026-11-02T07:13:21.782Z",
   "by": "research_publish.py (GitHub Actions)",
   "maxDiff": 4.218847493575595e-15,
   "compared": 52
  }
 },
 "findings": [
  {
   "key": "verdict",
   "text": "In October 2026, margin-free bookmaker odds were more accurate than the AI model in every market measured (4). On 1X2 the market's Brier score was 0.592 against 0.629 for the calibrated AI model (difference +0.037, 95% interval +0.032 to +0.043; 12,829 matches)."
  },
  {
   "key": "calibration",
   "text": "Calibration helped most in over/under 2.5 goals: the Brier score fell from 0.524 for the raw model to 0.495 (improvement +0.028, 95% interval +0.023 to +0.033; 8,771 events)."
  },
  {
   "key": "tiers",
   "text": "On 1X2, the Brier difference between the AI model and the market was lowest in “Third tier and below” (+0.030; 4,762 matches) and highest in “Top tier” (+0.046; 3,164 matches). The intervals overlap, so this difference between groups is not reliable."
  },
  {
   "key": "ece",
   "text": "Calibration: on 1X2 the calibrated AI model was off by 0.72 percentage points on average (expected calibration error), the market by 0.62."
  }
 ]
}