Natrag na blog
pon, 20. srp·9 min čitanja

Završni obračun: kako su modeli prošli na SP-u 2026

kalibracijaDixon-ColesElopost-mortem

Španjolska je prvak, 104 od 104 utakmice su odigrane, a svaka predikcija koju smo objavili zamrznuta je prije početka i sada ocijenjena. Vrijeme je za jedini post koji se ne može napisati unaprijed: koliko su modeli zapravo znali. Kratak odgovor — nešto malo, i onaj jednostavniji je znao više.

1. Je li itko išta znao?

Prvo pitanje nije „koji je model najbolji”, nego „je li ijedan bolji od bacanja kocke”. Mjera je Brier: zbroj kvadrata razlika između predikcije i stvarnog ishoda, gdje 0 znači savršeno, a nasumično pogađanje (⅓-⅓-⅓) daje 0.667.

Sva tri naša modela su ispod te crte. Dixon-Coles 0.5836, Elo+Poisson 0.5763, blend s tržištem 0.5726 — što u „vještini” (koliko si bolji od pogađanja, 0 = nimalo, 1 = savršeno) znači 0.12 do 0.14. Dakle: da, model zna nešto. I ne, ne zna puno. Nogomet na Svjetskom prvenstvu je izrazito nepredvidiv sport, a bilo koji broj bitno veći od ovoga na 104 utakmice bio bi razlog za sumnju u mjerenje, a ne za slavlje.

2. Neugodan nalaz: jednostavniji model je pobijedio

Gornje brojke imaju kvaku. Dixon-Coles i Elo+Poisson ocijenjeni su na svih 104 utakmice, ali blend s tržištem uveden je usred turnira pa ih ima 97. Uspoređivati prosjeke preko različitih skupova nije usporedba. Zato ih sve ponovno ocjenjujemo na istih 97 utakmica koje su svi predviđali:

flowchart LR
  N["nasumično pogađanje<br/>0.667"] --> B
  subgraph B["Brier na istih 97 utakmica — niže je bolje"]
    direction TB
    E["Elo + Poisson<br/><b>0.5705</b>"]
    M["DC × tržište<br/>0.5726"]
    D["Dixon-Coles<br/>0.5799"]
  end
Jedini poredak koji nešto znači — svi na istom skupu.

Elo + Poisson, najjednostavniji model u projektu, pobijedio je Dixon-Colesa. Elo je jedan broj po momčadi ažuriran nakon svake utakmice; Dixon-Coles je weighted MLE s napadom i obranom po momčadi, faktorom domaćeg terena, korekcijom niskih rezultata i eksponencijalnim vremenskim ponderiranjem. Složeniji model, lošiji rezultat.

Iskušenje je to progutati kao šum — i pošteno je reći da razlika od 0.009 Briera na 97 utakmica jest unutar šuma. Ali smjer nije slučajan, i kalibracijski dijagram točno pokazuje zašto.

3. Znači li 30% zaista 30%?

Ovo je pravi ispit vjerojatnosnog modela, i onaj koji smo obećali na kraju prvog posta — „čim skupimo 20+ utakmica”. Sad ih ima 104.

Svaka predikcija daje tri vjerojatnosti (1, X, 2). Grupiramo ih po visini i pitamo koliko su se često zaista ostvarile. Savršeno kalibriran model leži na isprekidanoj dijagonali. Iznad nje je bio prestrašljiv, ispod presamouvjeren.

002525505075751001000–20% · n=4 · predviđeno 18% → stvarno 0%20–40% · n=239 · predviđeno 30% → stvarno 24%40–60% · n=66 · predviđeno 46% → stvarno 67%60–80% · n=3 · predviđeno 62% → stvarno 67%predviđenostvarno
Dixon-Coles
002525505075751001000–20% · n=27 · predviđeno 17% → stvarno 7%20–40% · n=193 · predviđeno 29% → stvarno 24%40–60% · n=77 · predviđeno 45% → stvarno 58%60–80% · n=15 · predviđeno 63% → stvarno 67%predviđenostvarno
Elo + Poisson

Obje krivulje imaju isti oblik — obje su prestrašljive u sredini. Kad je Dixon-Coles rekao „otprilike 46%”, dogodilo se to u 67% slučajeva. Model je bio u pravu češće nego što je sam sebi vjerovao.

Ali pogledajte veličinu točaka, jer u njima je cijela priča. Dixon-Coles je 239 od 312 svojih vjerojatnosti smjestio u pojas 20–40%, a samo 4 ispod 20% i 3 iznad 60%. Nijednu iznad 80%. Elo je u isti taj rub stavio 27 ispod 20% i 15 iznad 60%. Drugim riječima: Dixon-Coles je sve gurao prema sredini. Kad je 40% utakmica objektivno bilo predvidivije od toga, oprez postaje trošak — i to je razlika koja se vidi u konačnom Brieru.

4. Paradoks neriješenog, uzvraćeni udarac

Prvi post na ovom blogu tvrdio je da nijedna predikcija nikad ne stavlja remi kao najvjerojatniji ishod — dijagonala matrice rezultata je jedna tanka linija protiv dvije pune polovice. Kao ilustraciju smo uzeli Kanada–BiH, gdje je model računao λ=2.10, μ=1.03 i dao 61.8 / 20.6 / 17.6.

golovi gosta →golovi domaćina →4.54.42.30.80.20.00.09.19.64.91.70.40.10.09.69.95.11.80.50.10.06.87.03.61.20.30.10.03.53.71.90.60.20.00.01.51.50.80.30.10.00.00.50.50.30.10.00.00.0
1 Canada 62% X (dijagonala) 21% 2 BiH 18%

Ta utakmica je završila 1:1. I ne samo to — od svih 104 utakmice turnira, upravo je ona ispala najveći promašaj Dixon-Colesa: stvarnom ishodu dao je 20.6%, najmanje od svih. Utakmica odabrana kao školski primjer geometrije modela postala je i njegov najskuplji račun.

To nije ironija, nego potvrda teze. Tri od pet najvećih iznenađenja Dixon-Colesa bili su remiji (Kanada–BiH 1:1, Japan–Švedska 1:1, Španjolska–Zelenortska Republika 0:0). Remi je strukturno nemoguć kao argmax, ali se svejedno događa u svakoj četvrtoj do petoj utakmici. Model koji to ne može „pogoditi” nije pokvaren — samo ga se ne smije ocjenjivati po argmaxu. Zato ova stranica postoji.

5. Grupe protiv knockouta

Očekivali bismo da je knockout teži: nema slabih parova, sve je izjednačeno. Za Elo+Poisson to i vrijedi — 0.565 u grupama, 0.602 u knockoutu, osjetno lošije. Ali Dixon-Coles je išao u suprotnom smjeru: 0.588 u grupama, 0.573 u knockoutu.

Objašnjenje je vjerojatno isto ono iz treće točke. Grupna faza puna je asimetričnih parova gdje se isplati biti odlučan, a upravo tamo je Dixon-Colesov oprez najskuplji. U knockoutu, gdje su momčadi stvarno izjednačene, „sve prema sredini” slučajno je ispravna politika. Model nije bio bolji u knockoutu — samo je knockout više nalikovao onome što on ionako uvijek radi.

6. Protiv kladionice — uz veliku ogradu

Kvote smo ocijenili potpuno isto kao model: zamrznute prije početka, preračunate u vjerojatnosti. Na 11 utakmica gdje imamo i jedno i drugo, tržište daje Brier 0.549, naš blend s tržištem 0.534, Elo 0.575, Dixon-Coles 0.598.

Ovo je premali uzorak da bilo što dokaže. Dohvat kvota otpao nam je rano u turniru, pa imamo 12 utakmica, sve iz grupne faze. Navodimo brojku jer je poštenije objaviti mršav uzorak s oznakom „mršav” nego ga prešutjeti — ali nemojte iz nje zaključiti da smo pobijedili kladionicu.

7. Što je s ovim brojkama bilo pokvareno

Post koji tvrdi da mjeri poštenje mora prvo priznati vlastite rupe. Tri su:

Simulacijska povijest bila je djelomično nekondicionirana. Izgledi za naslov kroz turnir računali su se tako da su se slotovi knockouta vezali uz sirova imena momčadi, koja su ostajala ustajala dok je naš dohvat podataka bio u kvaru, a već odigrane knockout utakmice simulirale su se iznova. Posljedica: serije „tko će biti prvak” iz sredine turnira mjestimično ne odgovaraju onome što se do tada već znalo. Popravljeno je tek 20. srpnja, nakon finala. Predikcije po utakmici — sve brojke u ovom postu — time nisu zahvaćene, jer se zamrzavaju prije početka i nikad se ne prepisuju. Ali kad na /simulation gledate kako se mišljenje mijenjalo kroz lipanj, znajte da tu krivulju treba čitati s rezervom.

Baza je kroz turnir imala 18 tihih ispada, najdulji oko šest dana. Neke utakmice zato nisu dobile predikciju u zadnjem satu prije početka pa im je ocijenjena zadnja ranija zamrznuta — bezopasno za metodu, ali znači da „zamrznuto prije početka” ponegdje znači nekoliko sati ranije, a ne nekoliko minuta.

Uzorak je 104 utakmice. Razlike od nekoliko tisućinki Briera nisu statistički značajne. Poredak modela iz druge točke je smjer, ne presuda.

8. Što slijedi

Kalibracijski dijagram nije samo ocjena, nego i uputa za popravak. Sustavno odstupanje od dijagonale — predviđeno 46%, stvarno 67% — upravo je ono što izotonička kalibracijazna ispraviti: naknadna monotona transformacija koja vjerojatnosti razvuče natrag prema rubovima. To je sljedeći korak, i doći će kao novi model uz postojeće, pod novom verzijom, jer se stare predikcije u ovom projektu nikad ne prepisuju. Bit će zanimljivo vidjeti pobijedi li kalibrirani Dixon-Coles konačno Elo.

Do tada, svi brojevi iz ovog posta žive na /accuracy, utakmicu po utakmicu, s izračunom koji možete provjeriti.


Agregacija je u fetcher/src/calib-report.ts (čista funkcija, 20 testova), ocjenjivanje u fetcher/src/export-snapshot.ts. Brier i log-loss računaju se iz tablice prediction_history, uzimajući zadnji zapis prije početka utakmice.