Kuidas meie ennustused töötavad
Iga arv sellel saidil on ühe ja sama töövoo väljund, mis töötab iga mängu puhul ühtmoodi. Ükski toimetaja ei vali mänge, ükski inimene ei kirjuta tõenäosust üle ja midagi ei võeta vaikselt maha pärast seda, kui see kaotas.
Lühidalt: ründe- ja kaitsehinnangud, mis on kaalutud mängude värskuse järgi, arvutatakse mitme hooaja tulemustest, teisendatakse võimalike lõpptulemuste täielikuks jaotuseks, kõrvutatakse sellega, mida panusturg hinnastab, ja lõpuks arveldatakse avalikult tegeliku tulemuse vastu. Alljärgnevad osad käsitlevad iga sammu eraldi.
Aluseks olevad andmed
Mudel arvutatakse mitme hooaja lõppenud mängude põhjal kõigis siin kajastatud sarjades: lõpp- ja poolaja seisud, teenitud ja lubatud nurgalöögid ning pealelöögid ja palli valdamine, mida andmevoog kannab ja mis toidavad lehtede taustapaneele ning nurgalöögimudeli varuahelat. Nende kõrval on kihlveokontorite koefitsientide hetktõmmis, mis tehakse ennustuse loomisel ja mida värskendatakse seni, kuni mäng on veel avatud. E-sport ning virtuaalsed ja simuleeritud sarjad jäetakse välja käsitsi hooldatava registri abil, mitte nimede kokkulangevuse alusel, nii et nende tulemused ei saa kunagi rikkuda päris võistkonna hinnangut.
Ajaliselt kaalutud ründe- ja kaitsehinnangud
Igal võistkonnal on ründehinnang ja kaitsehinnang — kui palju ta loob ja kui palju lubab võrreldes oma keskkonnaga. Mõlemad arvutatakse koos iteratiivse proportsionaalse sobitamisega, suletud kujul lahendajaga, mis vaheldab rünnakut ja kaitset seni, kuni kogu kogum taastoodab selles tegelikult täheldatud väravate hulga, kusjuures iga ajalooline mäng diskonteeritakse eksponentsiaalse värskustuumaga. Viimase aja vorm domineerib ja vanemad hooajad hääbuvad sujuvalt, selle asemel et neid meelevaldsel hooajapiiril ära lõigata. Arvutus toimub riigipõhistes kogumites, mis hoiavad koos ühe riigi liigad ja tema kodused karikasarjad: nii saavad karikapaarid liigade vahel sildadeks ja tõusnud võistkond siseneb hinnanguga, mis on teenitud päris vastaste vastu, mitte tühja lehega.
Kui andmeid on vähe
Toored hinnangud reageerivad väikestele valimitele üle, seetõttu tõmmatakse iga hinnang oma kogumi võrdlusväärtuse poole võrdeliselt selle taga oleva tõendusega — empiirilise Bayesi samm, mis takistab, et paari kirjas oleva mänguga klubi näiks võitmatuna vaid seetõttu, et kaks neist lõppesid 4-0. Liigade baastasemed saavad sama kohtlemise kogumi keskmise suunas, mis hoiab ära väikese sarja triivimise müra peale suure kogumi sees. Selle tõmbe tugevus sõltub efektiivsest valimimahust, mitte mängude arvust, nii et tugevalt diskonteeritud vanad mängud kaaluvad õigustatult vähem.
Hinnangutest tulemuste jaotuseni
Iga mängu puhul annavad kahe võistkonna hinnangud ning sarja kodu- ja võõrsilbaastasemed mõlemale poolele oodatava väravate arvu. Need ootused avatakse täielikuks tulemuste tõenäosusvõrgustikuks — iga usutav tulemus alates 0-0-st — koos Dixon-Colesi parandusega hästi dokumenteeritud sõltuvuse jaoks kahe tulemuse vahel väravavaestes mängudes, ehk täpselt seal, kus sõltumatud Poissoni mudelid eksivad ja kus jalgpall tegelikult elab. Mängu tulemus, täpne skoor, väravate üle/alla, mõlemad löövad värava, topeltvõimalus ja Aasia edumaa loetakse kõik samast normeeritud võrgustikust. Kaks meie avaldatud turgu ei saa seetõttu üksteisele vastu rääkida: üle/alla hind ja täpse skoori hind on sama jaotus, vaadatuna kaks korda.
Turu õige lugemine
Seal, kus kihlveokontorite koefitsiendid on olemas, ei võeta neid puhta kullana. Avaldatud koefitsiendid sisaldavad kontori marginaali, seega eemaldatakse see esmalt ja koefitsiendid teisendatakse õiglasteks tõenäosusteks. Seejärel lahendatakse edumaa- ja koguväravate jooned süsteemina kahe suuruse suhtes, mida turg tegelikult väljendab — võistkondade vahelise paremuse ja oodatava väravate koguarvu suhtes —, mis on palju stabiilsem signaal kui ükski üksik koefitsient. Veerandjooni hinnastatakse jagatud panusega tuumaga, mis käsitleb poolvõidu ja poolkaotuse juhtumeid täpselt, selle asemel et ümardada lähima täisjooneni, nagu enamik avaldatud mudeleid vaikselt teeb.
Eraldi nurgalöögimudel
Nurgalööke ei tuletata väravatest. Neil on omad ründe- ja kaitsehinnangud — teenitud ja lubatud nurgalöögid, arvutatud sama ajaliselt kaalutud lahendajaga —, neid prognoositakse kummagi poole kohta ja seejärel hinnastatakse mängu täpse nurgalöögijoone vastu diskreetitud pideva jaotuse abil, mitte otsingutabeliga. Kui võistkonna nurgalöökide ajalugu on usaldamiseks liiga õhuke, laskub mudel mööda kindlaksmääratud ahelat: esmalt hinnangud, siis mängu otsestatistika, siis üksnes turg. Kui ükski neist tasemetest lävendit ei ületa, teatab mudel, et andmed puuduvad, selle asemel et arv välja mõelda.
Täpsusega kaalutud ühendamine
Mudel ja turg ühendatakse efektiivsel valimimahul põhineva täpsuskaalumisega: õhukese ajalooga võistkondade puhul kannab suurema osa kaalust turg, sügavalt kaetud liigades mudel, ja üleminek nende vahel on sujuv, mitte lüliti. Kui pärast ühendamist jääb püsima 5% või suurem väärtusvahe, märgitakse ennustus value-ks — mudel väidab eelist, mida koefitsient ei peegelda, ja ütleb seda avalikult enne avavilet, kus seda saab hiljem kontrollida.
Kalibreerimine ja valimiväline kontroll
Miski ei lähe töösse sellepärast, et tagasitest näeb ilus välja. Mootorit valideeritakse ligikaudu poole miljoni ajaloolise mängu peal range valimivälise eraldusega: hinnangud arvutatakse üksnes sellest, mida oli võimalik teada enne vastavat avavilet, ja tulemusi hinnatakse log-loss ja Brieri skooriga — rangete hindamisreeglitega, mis karistavad enesekindlat eksimust, selle asemel et seda premeerida — koos tabamusprotsendiga joone vastu ja vahemikeks jaotatud kalibreerimiskõveratega, mis kontrollivad, kas 60% ennustus võidab tõepoolest umbes 60% juhtudest. Versioon, mis vastuvõtulävendeid ei saavuta, töösse ei lähe.
Käsitsi valimist ei toimu
Iga sobiv päris jalgpallimäng saab ennustuse — kergeid välja ei nopita. Ennustused külmutatakse 30 minutit enne avavilet ja iga külmutatud ennustus arveldatakse lõpptulemuse vastu ning arvestatakse avalikku täpsusarvestusse, nii võidud kui ka kaotused.