Sari la conținutul principal

Predicția câștigătoarei Cupei Mondiale 2026: Un ghid MLOps

Vezi cum o linie MLOps completă prezice rezultatele Cupei Mondiale 2026, de la reantrenare automată și DVC până la o simulare Monte Carlo cu 10.000 de rulări a tabloului.
Actualizat 17 iun. 2026  · 15 min. citire

Să prezici fotbalul e greu. E un sport cu puține goluri, unde un șut deviat poate răsturna rezultatul, iar o parte bună din orice meci ține de noroc. Fotbalul internațional e și mai dificil: echipele naționale joacă doar câteva meciuri oficiale pe an, așa că există mult mai puține date de la care să înveți decât în ligile de club.

Și dacă asta nu era de ajuns, FIFA a făcut sarcina și mai grea pentru Cupa Mondială de anul acesta. Mondialul extins la 48 de echipe introduce un format nou în care primele două din fiecare dintre cele douăsprezece grupe avansează, alături de opt dintre cele mai bune douăsprezece echipe de pe locul trei, făcând ca destinele din faza grupelor să fie imprevizibile. Pentru că îmi plac provocările (și fotbalul), exact asta mi-am propus să prezic.

Acesta este un follow-up la proiectul meu de predicție pentru EURO 2024, reconstruit aproape de la zero. Data trecută am lucrat exclusiv în notebook-uri Jupyter și am prezis un singur scor cel mai probabil per meci. De data asta, am construit o linie completă MLOps care ingestionează rezultate proaspete, se reantrenează singură și rulează o simulare Monte Carlo a întregului turneu de 10.000 de ori, transformând predicțiile la nivel de meci în probabilități despre cât de departe ajunge fiecare echipă.

În acest articol, te ghidez prin proiect la nivel înalt: datele și caracteristicile, practicile MLOps care îl mențin reproductibil, arhitectura pipeline-ului și ce model se dovedește a prezice cel mai bine fotbalul la nivel de echipe naționale. Poți găsi codul complet în repo-ul proiectului. Și, bineînțeles, îți spun și cine crede modelul că va câștiga. (Spoiler: îi plac Spania și Argentina cu aproximativ 16% fiecare, dar partea interesantă e cum ajunge acolo.)

Dacă asta te-a băgat în atmosfera turneului, îți recomand să urmărești înregistrările sesiunilor noastre Data & AI World Cup, sau să participi la competiția noastră FIFA World Cup 2026 Prediction. Câștigătorul primește nu doar un tricou oficial al Cupei Mondiale, ci și un abonament de 3 luni la Claude Enterprise. Ține pasul cu clasamentul live.

Predicția Cupei Mondiale FIFA 2026

Pe scurt

  • Aceasta este o linie MLOps de la un capăt la altul care prezice Cupa Mondială FIFA 2026, preluând rezultate internaționale proaspete și reantrenându-se automat pe Google Cloud, din două în două ore în timpul turneului.
  • Datele de la API-Football și ratingurile Elo sunt procesate printr-o arhitectură „medallion” Bronze-Silver-Gold și versiuniunate cu DVC pentru reproductibilitate completă.
  • Zece modele din cinci familii au fost comparate pe un holdout de 347 de meciuri; XGBoost a câștigat la limită, primele cinci au fost aproape nedespărțite, iar diferența Elo dintre echipe face cea mai mare parte din munca predictivă.
  • O simulare Monte Carlo joacă întregul turneu de 10.000 de ori, transformând predicțiile de goluri la nivel de meci în șansele fiecărei echipe de a avansa și de a câștiga.
  • La 10 iunie 2026, favoritele modelului sunt Spania și Argentina, la aproximativ 16% fiecare. Predicțiile live pot fi urmărite pe un dashboard Streamlit care se reîmprospătează la fiecare două ore.

Datele din spatele predicțiilor

O predicție este pe atât de bună pe cât sunt datele din spatele ei, așa că merită să începem cu materia primă. Modelul învață din două surse de date live și le transformă într-un singur tabel ordonat de caracteristici.

De unde vin datele

Totul e construit din două locuri. API-Football furnizează programările și statisticile pe meci: cine a jucat cu cine, când, unde și cum s-a terminat. eloratings.net furnizează ratinguri Elo pentru fiecare echipă națională.

Un rating Elo este un singur număr care surprinde cât de puternică este o echipă. Fiecare echipă se află undeva pe scară, iar după fiecare meci ratingul se actualizează: dacă bați o echipă mai puternică, câștigi mult; dacă pierzi cu una mai slabă, scazi brusc. Ideea vine din șah și se potrivește bine fotbalului. Dacă vrei intuiția completă, acest articol DataCamp mai vechi o explică în contextul Cupei Mondiale 2022.

Împreună, cele două surse oferă un set de date Gold de aproximativ 6.900 de meciuri internaționale din 2018 încoace din care să înveți.

Ce prezice modelul

Iată prima alegere de proiectare importantă. În loc să prezică direct rezultatul ca victorie, egal sau înfrângere, modelul prezice ceva mai granular: numărul de goluri marcate de fiecare echipă într-un meci. Numărul de goluri în fotbal urmează, cu o aproximare bună, o distribuție Poisson, modalitatea standard de a modela cât de des se întâmplă un eveniment relativ rar într-o fereastră de timp fixă.

Predict̂nd goluri mai degrabă decât rezultate face posibil tot ce urmează. Odată ce modelul poate produce un scor plauzibil pentru orice duel, întrebările care îi interesează pe toți — cine iese din grupă și cine ridică trofeul — pot fi răspunse prin simularea acelor scoruri de mii de ori.

Caracteristicile care contează

Fiecare meci este descris de un set mic, ales cu grijă, de caracteristici:

  • Diferența Elo: diferența de rating dintre cele două echipe. Aceasta este de departe cea mai importantă caracteristică din model, cu o importanță aproximativ două ordine de mărime peste următoarea ca putere. Asta se potrivește cu intuiția, pentru că diferența de forță între cele două părți îți spune mai multe despre rezultatul probabil decât aproape orice altceva.
  • Suma Elo: cele două ratinguri adunate, un substitut pentru calitatea generală a meciului. Doar diferența nu poate diferenția Argentina vs. Spania de San Marino vs. Andorra, două meciuri echilibrate, dar la niveluri complet diferite, iar suma restaurează acea informație.
  • Schimbarea Elo rulantă (ultimele 5 meciuri): cât de mult s-a modificat recent ratingul fiecărei echipe. Aceasta surprinde forma, ținând deja cont de forța adversarilor întâlniți.
  • Goluri marcate și primite rulant (ultimele 5 meciuri): producția ofensivă și defensivă recentă în termeni absoluți, calculată pentru fiecare echipă.
  • Contextul meciului: nivelul competiției (un meci de Cupă Mondială cântărește altfel decât un calificări sau un meci din Nations League), dacă meciul e eliminatoriu și dacă se joacă pe teren neutru.

Fiecare caracteristică este strict sigură din punctul de vedere al scurgerii de informații, adică folosește doar informații disponibile înainte de fluierul de start. Sună evident, dar este una dintre cele mai ușoare căi de a construi din greșeală un model care arată briliant în testare și se prăbușește în lumea reală.

O idee care nu a trecut filtrul: plănuisem un set de caracteristici de „stil de joc” construite prin clusterizarea echipelor din statisticile lor din meci, un pas de învățare nesupravegheată. În practică, echipele nu s-au separat în grupuri semnificative, așa că, în loc să bag modelului zgomot, am renunțat. Rezultatele negative sunt tot rezultate.

Menținerea datelor reproductibile

Cu date care sosesc din două surse în mod continuu, drumul de la fișiere brute la caracteristici gata de model trebuie să fie identic de fiecare dată. Asta oferă o arhitectură medallion. Ea organizează datele în trei straturi:

  • Bronze: datele brute, exact cum sosesc, lăsate neatinse.
  • Silver: curățate și standardizate. Aici mapez numele echipelor între cele două surse (rareori cad de acord la ortografii), validez schema, alătur ratingurile Elo la înregistrările de meci și rezolv orice lipsuri sau probleme de formatare.
  • Gold: stratul de modelare, un rând ordonat per meci, cu fiecare caracteristică calculată și gata pentru antrenare.

Fiecare strat îl alimentează pe următorul, așa că atunci când ceva pare în neregulă, pot urmări înapoi câte un pas, în loc să descurc totul odată. Pentru a face întregul traseu reproductibil, folosesc DVC (Data Version Control). Ori de câte ori intră rezultate noi, un singur dvc repro reconstruiește straturile Silver și Gold din Bronze, rerulând un pas doar dacă intrările lui s-au schimbat, și versiunează seturile de date rezultate astfel încât orice stare anterioară să poată fi recuperată exact.

Alegerea celui mai bun model

Predicția golurilor este o problemă bine studiată și nu există un instrument evident unic pentru ea. Așa că, în loc să mă fixez din start pe o abordare, am construit zece și le-am lăsat să concureze.

Competitorii

Cele zece modele acoperă cinci familii plus un baseline simplu. Nu trebuie să știi mecanica internă a fiecăruia; ideea e că ele fac presupuneri foarte diferite despre cum apar golurile.

Familie Modele Ideea de bază
Baseline Poisson cu rată medie Presupune că fiecare echipă marchează pur și simplu o medie pe termen lung, ignorând toate caracteristicile. Un prag pe care ceilalți trebuie să-l depășească.
Statistic Poisson bivariată, Binomială negativă Modelează direct cele două numere de goluri cu distribuții de probabilitate construite pentru numărarea evenimentelor.
Bayesian Poisson bayesiană (MCMC) Aceeași idee de numărare, dar returnează un interval complet de incertitudine în jurul fiecărei estimări. Mult mai solicitantă computațional: aproximativ de 100 de ori mai lent de ajustat decât restul.
Serii temporale SARIMAX Tratează rezultatele unei echipe ca o secvență în timp și proiectează acea secvență în viitor.
Machine learning Ridge, Random Forest, XGBoost Învăță modele direct din caracteristici fără a se angaja într-o ecuație fixă.
Deep learning LSTM, CNN 1D Rețele neuronale care caută tipare secvențiale și locale în date.

Cum au fost evaluate

Cu zece candidați, alegerea unui câștigător „la ochi” nu avea cum să funcționeze. În schimb, fiecare model trece prin trei etape, iar codul decide dacă merge mai departe. Asta înseamnă deployment bazat pe cod: modelele sunt promovate dintr-un mediu în altul prin verificări automate, nu prin reglaje manuale, astfel încât întreaga selecție rămâne reproductibilă și ușor de auditat.

  • Experiment. Fiecare model este antrenat doar pe meciuri internaționale jucate înainte de Cupa Mondială 2022. Nu toate acele meciuri cântăresc la fel: meciurile mai recente și cele cu miză mai mare primesc o pondere mai mare (ponderare cu decădere în timp și importanță a meciului), astfel încât un rezultat competitiv recent modelează modelul mai mult decât un amical vechi. Apoi, setările fiecărui model sunt ajustate pentru a minimiza log-verosimilitatea negativă Poisson (NLL) folosind cross-validation. NLL este doar un scor pentru cât de bine se potrivesc ratele de gol prezise cu golurile pe care echipele le-au marcat, unde mai mic e mai bun. Rezultatul este versiunea optim ajustată a fiecărui model.
  • Asigurarea calității. Acele modele ajustate sunt apoi testate pe meciuri pe care nu le-au văzut niciodată: Cupa Mondială 2022 plus șase turnee majore ținute de atunci (EURO, două Cupe Africii pe Națiuni, Copa América, Cupa Asiei și Gold Cup), în total 347 de meciuri. Aici, metrica se schimbă la ranked probability score (RPS), care măsoară cât de bună este o prognoză probabilistică atunci când rezultatele au o ordine naturală, ca înfrângere, egal, victorie, și răsplătește încrederea în direcția aproximativ corectă. Din nou, mai mic e mai bun. Cel mai puternic model aici devine challenger. RPS este unitatea de măsură corectă pentru că scopul real este să prezici cât de departe merg echipele, nu doar totalurile de goluri.
  • Deploy. Challenger-ul este comparat cu campionul en-titre. Dacă îl depășește, este promovat și reajustat pe toate meciurile disponibile, astfel încât intră în turneu având învățat din toate datele.

Ce a câștigat

Deci care abordare a ieșit pe primul loc? Iată clasamentul complet pe holdout, punctat prin RPS (mai mic e mai bun):

Model RPS pe holdout
XGBoost 0.18289
Poisson bayesian 0.18316
Binomial negativ 0.18373
Poisson bivariată 0.18389
Random Forest 0.18392
SARIMAX 0.18583
Ridge 0.18813
LSTM 0.19299
CNN 1D 0.20916
Poisson cu rată medie (baseline) 0.22872

Patru lucruri ies în evidență din aceste rezultate:

  • XGBoost a câștigat, dar la limită. Primele cinci modele (XGBoost, Poisson bayesian, Binomial negativ, Poisson bivariată și Random Forest) au terminat la o distanță de circa 0,0011 RPS unul de altul. Când cinci abordări foarte diferite ajung atât de aproape, de obicei plafonul e stabilit de date și caracteristici, nu de model. Aici, diferența Elo face atât de mult din treabă încât alegerea modelului mișcă abia sesizabil acul.
  • O caracteristică domină. Diferența Elo a fost cel mai important predictor la mare distanță, cam de o sută de ori mai influentă decât următoarea caracteristică. Asta e mai degrabă liniștitor decât surprinzător: într-un singur meci, diferența de forță dintre două echipe chiar e cea mai mare parte a poveștii.
  • Deep learning a ieșit pe ultimele locuri, cu excepția baseline-ului. CNN 1D și LSTM au fost cele mai slabe modele în afară de baseline-ul naiv. Cu doar aproximativ 7.000 de meciuri din care să învețe, pur și simplu nu sunt suficiente date pentru a alimenta rețele cu atât de mulți parametri; metodele clasice se descurcă mult mai bine cu seturi de date mici și structurate.
  • Fără semn de overfitting la modelele clasice. De obicei, un model merge puțin mai slab pe date nevăzute decât în antrenare. Aici, aproape fiecare model (cu excepția LSTM) a punctat mai bine pe turneele ținute deoparte decât în cross-validation. Motivul probabil e că fotbalul de turneu e mai previzibil decât calendarul internațional obișnuit: miză mai mare, echipe mai puternice și mai familiare și terenuri neutre care elimină o parte din aleatoriu.

Elo difference dominates football predictionPentru turneul live, nu rulez toate cele zece. Păstrez un lot mai mic: baseline-ul cu rată medie ca punct de referință, plus cei mai buni trei performeri. XGBoost și Poisson bayesiană ocupă clar primele două locuri.

Locul trei este practic o egalitate: Binomialul negativ și Poisson bivariată termină la 0,0002 RPS unul de altul și își schimbă locurile în funcție de seed-ul aleator, așa că, între două modele statistic nedistincte, am ales Poisson bivariată, a cărei formulare are o bază mai solidă în literatura de predicție în fotbal (Karlis și Ntzoufras, 2004).

Asta lasă un lot cu XGBoost (machine learning), Poisson bivariată (statistică clasică) și Poisson bayesiană (inferință bayesiană). Secțiunea următoare acoperă cum rulează aceste modele, cum se reantrenează și cum transformă predicțiile la nivel de meci într-o prognoză pentru întregul turneu.

Ducerea în producție

Un model care trăiește într-un notebook e util doar cât timp stai în fața lui. Ca să prezici meciuri pe durata unui turneu de o lună, totul trebuie să ruleze singur: să preia rezultate noi, să se reantreneze, să resimuleze și să reîmprospăteze prognoza fără ca cineva să-l atingă. Asta e treaba pipeline-ului.

Pipeline-ul din două în două ore pe GCP

Întregul proiect rulează ca un singur job programat pe Google Cloud Run. Înainte de turneu, se trezește o dată pe zi; din meciul de deschidere pe 11 iunie, rulează la fiecare două ore. Fiecare rulare urmează același ciclu:

  • Verifică dacă sunt date noi. Dacă nu s-au încheiat meciuri de la ultima rulare, nu e nimic de făcut și jobul se oprește devreme.
  • Ingestie și reconstrucție. Când au intrat rezultate noi, sunt preluate din surse, iar un singur dvc repro reconstruiește straturile Silver și Gold pentru ca caracteristicile să fie la zi.
  • Reantrenare, predicție, simulare. Modelele din lot sunt aduse la zi (mai multe în curând), fiecare meci viitor este prezis, iar întregul turneu este simulat.
  • Scorare. Odată ce un meci e decis, predicțiile făcute pentru el sunt punctate, ceea ce alimentează monitorizarea descrisă mai jos.

Pentru că fiecare pas e declanșat de cod pe un program, nu există apăsări manuale de butoane în timpul turneului. Rezultat nou intră, prognoză reîmprospătată iese.

Două moduri: înghețat vs. pe rundă

Aici proiectul funcționează și ca un experiment. În timpul turneului, lotul rulează în două moduri paralele, iar diferența dintre ele e întrebarea la care sper să răspund din date: Face reantrenarea pe măsură ce se desfășoară turneul predicțiile mai bune?

  • Înghețat. Modelele sunt blocate în momentul în care începe turneul și nu se mai reantrenează. Ele tot reacționează la rezultate, pentru că fiecare simulare pornește de la tabloul actualizat, dar parametrii modelului nu se schimbă niciodată.
  • Pe rundă. Hiperparametrii (setările de nivel înalt) rămân fixați, dar parametrii pe care îi învață modelul sunt recalculați pe toate datele disponibile după fiecare etapă completă din grupe și după fiecare rundă eliminatorie, astfel încât modelele continuă să învețe din turneu pe măsură ce se întâmplă.

Rularea ambelor în paralel îmi permite să le compar pe două fronturi după ce se termină: acuratețe predictivă brută și cât de repede se clarifică incertitudinea fiecăruia pe măsură ce se îngustează tabloul. Dacă „pe rundă” câștigă, reantrenarea regulată își justifică efortul; dacă „înghețat” se ține bine, s-ar putea ca mecanismul suplimentar să nu merite.

De la predicții la turneu: simularea Monte Carlo

A prezice un singur meci e una. Să transformi asta în „care este șansa fiecărei echipe de a câștiga turneul” e locul în care intră simularea Monte Carlo.

Mai întâi, inferența. În loc să prezică doar meciurile pe care le știm deja, modelul prezice fiecare posibil duel între cele 48 de echipe. Sună excesiv, dar într-un turneu, orice echipă poate întâlni pe oricare alta în eliminatorii, așa că predicția trebuie să fie gata pentru fiecare pereche.

Apoi trebuie codificate regulile, iar formatul din 2026 face asta în mod special incomod. În cele 12 grupe, primele două avansează automat, dar și cele mai bune opt echipe de pe locul trei, iar în ce poziție din tabloul eliminatoriu ajunge fiecare dintre cele opt depinde de grupele din care provin.

Există 495 de moduri de a alege opt grupe calificate din douăsprezece (douăsprezece peste opt), iar fiecare produce un set diferit de meciuri pentru șaisprezecimi. Nu există o formulă curată pentru asta; FIFA publică pur și simplu un tabel. Așa că eu (sau, mai bine zis, colegul meu foarte capabil Cursor) am hardcodat toate cele 495 de combinații într-un mapping, folosind tabelul oficial ca sursă.

"best_third_mappings": {
  "EFGHIJKL": {
    "74": "3F",
    "77": "3G",
    "79": "3E",
    "80": "3K",
    "81": "3I",
    "82": "3H",
    "85": "3J",
    "87": "3L"
  }, 
  "DFGHIJKL": ...

Fiecare cheie, precum EFGHIJKL, listează care opt grupe au furnizat echipele de pe locul trei care avansează, iar valorile plasează fiecare dintre acele echipe (3E, 3F și așa mai departe) într-un anumit meci numerotat din șaisprezecimi. Asta e o intrare; mappingul complet repetă asta de 495 de ori, câte o dată pentru fiecare combinație.

Cele trei țări gazdă (Statele Unite, Canada și Mexic) primesc o tratare suplimentară. Când o gazdă joacă un meci organizat în propria țară, simularea aplică un ajustaj de avantaj al terenului propriu pentru acel meci, în timp ce restul turneului este tratat ca teren neutru.

Cu predicțiile și regulile stabilite, simularea rulează întregul turneu de 10.000 de ori. În fiecare rulare, urmează această procedură:

  1. Extrage un scor pentru fiecare meci prin eșantionarea golurilor gazdelor și oaspeților din distribuțiile prezise de model
  2. Joacă faza grupelor după regulile reale de punctaj și departajare
  3. Stabilește tabelul celor mai bune locuri trei
  4. Completează tabloul eliminatoriilor din mapping-urile de mai sus
  5. Joacă până la un singur campion.

Pe parcursul a 10.000 de turnee simulate, ponderea rulărilor în care o echipă ajunge în finală sau ridică trofeul devine probabilitatea acelei echipe. O rulare e o bănuială; zece mii de rulări sunt o prognoză.

Urmărirea a tot cu MLflow

Fiecare rulare descrisă până acum, în ambele moduri, este înregistrată în MLflow (găzduit pe DagsHub). Tracking-ul experimentului înseamnă înregistrarea sistematică a intrărilor, setărilor, rezultatelor și ieșirilor fiecărei rulări, astfel încât oricare dintre ele să poată fi comparată cu celelalte sau reprodusă exact. Câteva lucruri pe care le captează merită menționate:

  • Reproductibilitate. Simularea folosește un seed aleator fix derivat din runda turneului, iar același seed este împărțit între modurile înghețat și pe rundă. Asta înseamnă că orice diferență dintre cele două vine din modele, nu din norocul tragerii la sorți din simulare. Fiecare rulare înregistrează și snapshot-ul exact de date pe care l-a văzut (numărul de rânduri Gold și un timestamp), astfel încât rezultatele pot fi întotdeauna urmărite până la intrările lor.
  • Experimentul. Fiecare rulare este etichetată cu modul ei (înghețat sau pe rundă) și cu stadiul din ciclu, de la experimental și QA până la rulările live de inferență și refit, oglindind fluxul de promovare din secțiunea anterioară.
  • Comparare. RPS pe holdout este înregistrat ca metrica de selecție, împreună cu o referință la rularea campionului curent pentru filiație. Se înregistrează și timpul de antrenare, unde se vede negru pe alb antrenarea de circa 100 de ori mai lentă a modelului bayesian.

Modelele antrenate și fișierele de predicții în sine (probabilitățile pentru turneu, clasamentele grupelor și prognozele pe meci) sunt stocate ca artefacte ale rulărilor, iar acele fișiere sunt exact ceea ce citește dashboard-ul live. Asta închide bucla: de la rezultate brute, prin antrenare și simulare, la cifrele pe care le poți vedea online.

Monitorizare pentru drift

Ultima piesă rulează după încheierea meciurilor. Pe măsură ce sosesc rezultatele reale, predicțiile făcute pentru ele sunt punctate și comparate cu baseline-ul simplu cu rată medie. Dacă modelele complete încep să piardă teren în fața unui model care nu știe nimic despre echipe, acesta e un semn de avertizare de drift: tiparele învățate înainte de turneu s-ar putea să nu mai corespundă cu ce se întâmplă pe teren.

Să urmărești asta e practică standard pentru orice sistem care face predicții live, iar poți citi mai multe despre cum este detectat în acest ghid despre data drift și model drift.

Deci, cine câștigă Cupa Mondială?

După toată această mașinărie, iată la ce folosește.

Favoritele

La 10 iunie 2026, cu o zi înainte de meciul de deschidere, verdictul modelului e clar în vârf și aglomerat imediat în spate. Spania și Argentina conduc plutonul, fiecare cu aproximativ 16% șanse să ridice trofeul. Faptul că actualele campioane mondiale (Argentina) și actualele campioane europene (Spania) ies în top e un control sănătos că modelul e ancorat în realitate.

În spatele lor se află un pluton urmăritor strâns: Franța, Anglia, Brazilia și Columbia completează cele mai probabile câștigătoare. Acestea sunt cifre live și se vor mișca în momentul în care apar rezultate reale, deci tratează-le ca o fotografie a zilei de 10 iunie, nu ca o profeție fixă. Dashboard-ul arată mereu cifrele curente, cu o întârziere maximă de două ore.

Dashboard-ul live

Apropo: fiecare număr din acest articol provine dintr-o aplicație Streamlit live care se actualizează automat pe măsură ce rulează pipeline-ul. O poți deschide la wc2026-predictions.streamlit.app și poți urmări turneul. Are patru vizualizări principale:

  • Prezentare generală a turneului: cât de departe este așteptat să meargă fiecare echipă, dintr-o privire.
  • Clasamentele grupelor: pentru fiecare grupă, probabilitatea fiecărei echipe de a termina pe primul, al doilea, al treilea (împărțit în locul trei calificat versus locul trei eliminat, datorită regulii „cel mai bun loc trei”) sau pe al patrulea loc.
  • Predicții pe meci: pentru fiecare meci din grupe, șansa de victorie a gazdelor, egal sau victorie a oaspeților, împreună cu cel mai probabil tablou al eliminatoriilor.
  • Cele mai comune dueluri din eliminatorii: perechile pe care simularea le produce cel mai des.

O particularitate de semnalat în vizualizarea pe meci: câteva echipe apar simultan în două posibile poziții din șaisprezecimi. Nu e un bug. Se întâmplă când o grupă e atât de echilibrată încât modelul nu poate spune cu încredere ce poziție de calificare va lua o echipă. Combinat cu incertitudinea „celui mai bun loc trei”, cele două rezultate duc la poziții diferite în eliminatorii. În cazul Turciei, a dus chiar la apariția lor de două ori în optimile de finală.

Graficul următor arată rundele finale (sferturi până la finală) pe care modelul XGBoost le proiectează înainte de startul turneului:

ChatGPT Image Jun 11, 2026, 04_37_40 PM.png

Echipa „aruncarea monedei”: Statele Unite

Farmecul unui astfel de model stă în echipele care sfidează testul vizual, iar cel mai clar exemplu sunt Statele Unite. Dacă intri la prezentarea generală a turneului pe dashboard, vei observa instantaneu că SUA ies în evidență prin culoare.

Ca co-gazde care joacă în fața propriilor fani, te-ai aștepta la un start confortabil, dar modelul e mult mai precaut: le dă doar aproximativ 54,6% șanse să iasă din grupă, al 13-lea cel mai mic procent din întregul lot (nu uita că două treimi din echipe se califică!), pentru că grupa lor cu Australia, Paraguay și Turcia e neobișnuit de echilibrată.

Partea interesantă vine apoi. După ce trec la limită, SUA plutesc apoi pe la aproximativ 50-50 în fiecare rundă care urmează. Dacă înșiri acele aruncări de monedă, ajung la cam 2% șanse să câștige întregul turneu, ceea ce e al 13-lea cel mai mare procent dintre toate cele 48 de echipe.

O echipă care e pe locul 13 de la coadă la ieșirea din grupe și pe locul 13 de la vârf la câștigarea trofeului e aproape definiția perfectă a unei „echipe aruncarea monedei”: niciodată favorită, niciodată scoasă din calcule.

Gânduri finale

Proiectul acesta a însemnat multă muncă și acoperă mult mai mult decât încap într-un singur articol. Repo-ul conține multe lucruri care nu au încăput aici: setul complet de modele candidate, ingineria de caracteristici și orhestrarea care ține totul în funcțiune, ca exemple.

Deocamdată, modelul și-a făcut alegerile, iar turneul va decide. Fie că ai venit pentru MLOps sau pentru fotbal, sper să-ți facă plăcere să-l urmărești desfășurându-se la fel de mult ca mie. Poți urmări prognoza live pe măsură ce intră meciurile și să vezi cât de bine rezistă predicțiile.

Dacă vrei să aprofundezi unele concepte menționate, îți recomand cursul nostru MLOps Concepts.

Întrebări frecvente despre predicția câștigătoarei Cupei Mondiale FIFA 2026

Cine va câștiga Cupa Mondială FIFA 2026?

La 10 iunie 2026, chiar înainte de startul turneului, modelul le are pe Spania și Argentina drept favorite comune, fiecare cu aproximativ 16% șanse de câștig, urmate de Franța, Anglia, Brazilia și Columbia. Nicio echipă nu e mare favorită detașată, ceea ce reflectă cât de deschis e turneul. Acestea sunt cifre live care se mișcă pe măsură ce apar rezultatele, așa că dashboard-ul arată mereu valorile curente.

Cât de precis poate fi un model de machine learning în a prezice fotbalul?

Fotbalul internațional e greu de prognozat: se marchează puțin și echipele joacă puține meciuri oficiale, deci chiar și un model puternic lasă mult loc hazardului. În acest proiect, primele cinci modele au ajuns toate într-un interval de aproximativ 0,001 RPS, ceea ce sugerează că plafonul de acuratețe e determinat în principal de datele și caracteristicile disponibile, nu de algoritm. Cel mai mare factor al predicțiilor a fost diferența de rating Elo dintre cele două echipe.

De ce să prezici numărul de goluri și nu rezultatul meciului?

Predict̂nd golurile pentru fiecare echipă, în locul unui simplu rezultat victorie, egal sau înfrângere, obții o distribuție completă de probabilitate asupra scorurilor posibile. Asta face posibilă simularea unui întreg turneu: odată ce poți eșantiona scoruri plauzibile, poți juca faza grupelor și tabloul eliminatoriilor de mii de ori și citi șansa fiecărei echipe de a avansa sau de a câștiga.

Numerele de goluri urmează de asemenea destul de bine o distribuție Poisson, ceea ce se potrivește acestui stil de modelare.

Ce este o simulare Monte Carlo și de ce să rulezi 10.000 dintre ele?

O simulare Monte Carlo joacă repetat un proces aleator pentru a estima probabilități greu de calculat direct. Aici, fiecare rulare extrage un scor pentru fiecare meci din predicțiile modelului și joacă turneul până la un câștigător; făcând asta de 10.000 de ori, transformi predicțiile pe meci în procente stabile precum „Spania câștigă aproximativ în 16% din cazuri.” Un turneu simulat este doar un singur rezultat posibil, dar zece mii dintre ele aproximează distribuția reală a posibilităților.

De ce instrumente ai nevoie pentru a construi un pipeline MLOps ca acesta?

Piesele de bază sunt versionarea datelor (acest proiect folosește DVC), tracking-ul experimentelor (MLflow), un mod de a rula joburi programate (Google Cloud Run cu Cloud Scheduler) și un mod de a servi rezultatele (un dashboard Streamlit).

Modelele în sine folosesc un mix de biblioteci Python: scikit-learn (Ridge și random forest), XGBoost (campionul), statsmodels și SciPy (regresiile Poisson, Poisson bivariată și binomial negativă, plus SARIMAX), PyMC (modelul bayesian) și Keras (LSTM și CNN), cu pandas și NumPy pentru manipularea datelor.

Niciuna nu e strict necesară pentru un model unic, dar împreună fac pipeline-ul reproductibil și capabil să se reantreneze și să se reîmprospăteze fără muncă manuală

Subiecte

Top cursuri de Machine Learning

course

Înțelegerea Machine Learning-ului

2 oră
295.5K
Introducere în machine learning fără codare.
Vezi detalii
Începeți cursul
Vezi mai mult