Przejdź do głównej treści

Prognoza zwycięzcy Mistrzostw Świata FIFA 2026: przewodnik MLOps

Zobacz, jak kompleksowy pipeline MLOps przewiduje wyniki MŚ 2026 — od automatycznego ponownego treningu i DVC po 10 000 uruchomień symulacji Monte Carlo całej drabinki.
Zaktualizowano 11 cze 2026  · 15 min Czytać

Przewidywanie piłki nożnej jest trudne. To sport z małą liczbą goli, gdzie jeden rykoszet potrafi odwrócić wynik, a spora część każdego meczu sprowadza się do szczęścia. Jeszcze trudniejsza jest piłka reprezentacyjna: kadry narodowe grają w roku tylko kilka meczów o stawkę, więc jest znacznie mniej danych do nauki niż w ligach klubowych.

A jakby tego było mało, FIFA jeszcze utrudniła zadanie na tegoroczny mundial. Rozszerzone Mistrzostwa Świata z 48 zespołami wprowadzają nowy format: awansują po dwie najlepsze drużyny z dwunastu grup, a także osiem z dwunastu najlepszych ekip z trzecich miejsc, co czyni losy fazy grupowej nieprzewidywalnymi. Ponieważ lubię dobre wyzwania (i piłkę nożną), właśnie to postanowiłem przewidzieć.

To kontynuacja mojego projektu prognoz EURO 2024, przebudowanego niemal od zera. Ostatnio pracowałem wyłącznie w notatnikach Jupyter i przewidywałem jeden najbardziej prawdopodobny wynik bramkowy na mecz. Tym razem zbudowałem kompleksowy pipeline MLOps, który pobiera świeże wyniki, sam się ponownie trenuje i uruchamia symulację Monte Carlo całego turnieju 10 000 razy, zamieniając prognozy na poziomie meczu w prawdopodobieństwa przejścia kolejnych rund przez każdą drużynę.

W tym artykule przeprowadzę cię po projekcie z lotu ptaka: danych i cechach, praktykach MLOps zapewniających odtwarzalność, architekturze pipeline’u oraz tym, który model najlepiej sprawdza się w prognozowaniu piłki reprezentacyjnej. Pełny kod znajdziesz w repozytorium projektu. I oczywiście powiem ci, kto według modelu wygra. (Spoiler: lubi Hiszpanię i Argentynę — po około 16% — ale najciekawsze jest to, jak do tego dochodzi).

Jeśli to wprowadziło cię w turniejowy nastrój, polecam nasz tydzień Data & AI World Cup, serię sesji o tym, jak dane i AI zmieniają piłkę nożną — do obejrzenia na żywo lub na żądanie, za darmo.

W pigułce

  • To kompleksowy pipeline MLOps przewidujący wyniki Mistrzostw Świata FIFA 2026, który pobiera świeże wyniki reprezentacji i automatycznie ponownie się trenuje na Google Cloud co dwie godziny podczas turnieju.
  • Dane z API-Football i ratingów Elo są przetwarzane w architekturze medalu Bronze-Silver-Gold i wersjonowane za pomocą DVC dla pełnej odtwarzalności.
  • Porównano dziesięć modeli z pięciu rodzin na 347-meczowym holdoucie; minimalnie wygrał XGBoost, pierwsza piątka była niemal nie do odróżnienia, a różnica Elo między drużynami wykonuje większość pracy predykcyjnej.
  • Symulacja Monte Carlo rozgrywa cały turniej 10 000 razy, zamieniając prognozy bramek na poziomie meczu w szanse każdej drużyny na awans i zwycięstwo.
  • Na 10 czerwca 2026 r. faworytami modelu są Hiszpania i Argentyna, po około 16% każda. Na żywo prognozy można śledzić na towarzyszącym dashboardzie Streamlit, odświeżanym co dwie godziny.

Dane stojące za prognozami

Prognoza jest tak dobra, jak to, co do niej trafia, więc warto zacząć od surowca. Model uczy się z dwóch źródeł danych na żywo i zamienia je w jedną, schludną tabelę cech.

Skąd pochodzą dane

Wszystko budowane jest z dwóch miejsc. API-Football dostarcza terminarze i statystyki meczowe: kto z kim, kiedy, gdzie i jak się skończyło. eloratings.net dostarcza ratingi Elo dla każdej reprezentacji.

Rating Elo to pojedyncza liczba odzwierciedlająca siłę drużyny. Każda ekipa zajmuje gdzieś miejsce w skali, a po każdym meczu rating się aktualizuje: pokonaj silniejszego rywala — zyskujesz sporo; przegraj ze słabszym — ostro spadasz. Pomysł pochodzi z szachów i ładnie adaptuje się do piłki. Jeśli chcesz pełnej intuicji, ten wcześniejszy tekst DataCamp tłumaczy to na przykładzie MŚ 2022.

Razem te dwa źródła dają zestaw Gold około 6900 meczów reprezentacyjnych od 2018 r., na których można się uczyć.

Co przewiduje model

Oto pierwszy ważny wybór projektowy. Zamiast bezpośrednio przewidywać wynik jako wygraną, remis lub porażkę, model przewiduje coś bardziej szczegółowego: liczbę goli strzelonych przez każdą drużynę w meczu. Liczby goli w piłce nożnej podążają, w dobrym przybliżeniu, za rozkładem Poissona, standardowym sposobem modelowania, jak często rzadkie zdarzenie występuje w stałym oknie czasu.

Przewidywanie goli zamiast wyników umożliwia wszystko, co dalej. Gdy model potrafi wygenerować wiarygodny wynik bramkowy dla dowolnej pary, pytania, które każdego naprawdę interesują — kto wychodzi z grupy i kto podniesie puchar — można rozstrzygać, symulując te wyniki tysiące razy.

Cechy, które mają znaczenie

Każdy mecz opisuje niewielki, starannie dobrany zestaw cech:

  • Różnica Elo: różnica ratingów między dwiema drużynami. To zdecydowanie najważniejsza pojedyncza cecha w modelu, o istotności około dwa rzędy wielkości wyższej niż kolejna. Pasuje to do intuicji: różnica siły między zespołami mówi o spodziewanym wyniku więcej niż niemal cokolwiek innego.
  • Suma Elo: suma obu ratingów, substytut ogólnej jakości meczu. Sama różnica nie odróżni Argentyny ze Hiszpanią od San Marino z Andorą — dwóch wyrównanych spotkań na zupełnie innym poziomie — a suma przywraca tę informację.
  • Zmiana Elo krocząco (ostatnie 5 meczów): jak zmieniał się niedawno rating każdej drużyny. Uchwyca formę, a przy tym uwzględnia siłę rywali.
  • Kroczące gole strzelone i stracone (ostatnie 5 meczów): niedawna ofensywa i defensywa w wartościach bezwzględnych, liczone dla każdej drużyny.
  • Kontekst meczu: ranga rozgrywek (mecz MŚ waży inaczej niż eliminacje czy Liga Narodów), czy to faza pucharowa oraz czy grany na neutralnym terenie.

Każda cecha jest ściśle bezpieczna pod kątem przecieku, tzn. używa tylko informacji dostępnych przed pierwszym gwizdkiem. Brzmi to oczywiście, ale to jeden z najłatwiejszych sposobów, by przypadkiem zbudować model błyszczący w testach i rozsypujący się w realu.

Pomysł, który nie wszedł do gry: planowałem zestaw cech „styl gry”, zbudowanych przez klastrowanie drużyn na podstawie statystyk meczowych — krok uczenia nienadzorowanego. W praktyce zespoły nie rozdzieliły się na sensowne grupy, więc zamiast karmić model szumem, odpuściłem. Negatywne wyniki to też wyniki.

Jak utrzymać odtwarzalność danych

Przy danych napływających z dwóch źródeł w trybie ciągłym ścieżka od surowych plików do cech gotowych do trenowania musi być identyczna za każdym razem. To zapewnia architektura medalu. Porządkuje dane w trzech warstwach:

  • Bronze: surowe dane, dokładnie w takiej postaci, w jakiej przychodzą, nietknięte.
  • Silver: wyczyszczone i ustandaryzowane. Tutaj mapuję nazwy drużyn między dwoma źródłami (rzadko zgadzają się co do pisowni), waliduję schemat, dołączam ratingi Elo do zapisów meczów i radzę sobie z brakami czy błędami.
  • Gold: warstwa modelowania — jeden schludny wiersz na mecz, z każdą cechą wyliczoną i gotową do trenowania.

Każda warstwa zasila następną, więc gdy coś wygląda podejrzanie, mogę cofać się etap po etapie, zamiast rozplątywać wszystko naraz. Aby całą ścieżkę uczynić odtwarzalną, używam DVC (Data Version Control). Gdy spływają świeże wyniki, pojedyncze dvc repro odbudowuje warstwy Silver i Gold z Bronze, uruchamiając krok tylko wtedy, gdy zmieniły się jego wejścia, i wersjonuje powstałe zbiory danych tak, by można było dokładnie odtworzyć każdy wcześniejszy stan.

Wybór najlepszego modelu

Prognozowanie goli to dobrze przebadany problem i nie ma jednego oczywistego narzędzia. Zamiast więc z góry obstawiać jedno podejście, zbudowałem dziesięć i pozwoliłem im rywalizować.

Pretendenci

Dziesięć modeli obejmuje pięć rodzin plus prostą bazę odniesienia. Nie musisz znać ich wnętrzności; chodzi o to, że zakładają bardzo różne mechanizmy powstawania goli.

Rodzina Modele Główna idea
Baseline Poisson o średnim tempie Zakłada, że każda drużyna strzela po prostu długoterminową średnią, ignorując wszystkie cechy. Podstawa, którą inni mają pobić.
Statystyczne Dwuwymiarowy Poisson, Rozkład ujemny dwumianowy Modelują bezpośrednio dwie liczby goli za pomocą rozkładów zaprojektowanych do zliczania zdarzeń.
Bayesowskie Bayesowski Poisson (MCMC) Ta sama idea zliczania, ale zwraca pełny zakres niepewności wokół każdej estymacji. Znacznie bardziej wymagający obliczeniowo: około 100 razy wolniejszy w dopasowaniu niż reszta.
Szeregów czasowych SARIMAX Traktuje wyniki drużyny jako sekwencję w czasie i rzutuje tę sekwencję naprzód.
Uczenie maszynowe Ridge, Random Forest, XGBoost Uczą się wzorców prosto z cech, bez narzucania sztywnego równania.
Głębokie uczenie LSTM, 1D CNN Sieci neuronowe poszukujące sekwencyjnych i lokalnych wzorców w danych.

Jak je oceniano

Przy dziesięciu kandydatach wybór zwycięzcy na oko nie wchodził w grę. Zamiast tego każdy model przechodzi trzy etapy i kod decyduje, czy idzie dalej. To znaczy wdrażanie sterowane kodem: modele awansują ze środowiska do środowiska dzięki automatycznym kontrolom, a nie ręcznemu strojeniu, więc cały wybór pozostaje odtwarzalny i łatwy do audytu.

  • Eksperyment. Każdy model jest trenowany wyłącznie na meczach reprezentacyjnych rozegranych przed MŚ 2022. Nie wszystkie mecze liczą się równo: nowsze i bardziej prestiżowe spotkania dostają większą wagę (ważenie rozpadem czasowym i wagą ważności meczu), więc niedawny wynik o stawkę kształtuje model bardziej niż stary sparing. Następnie ustawienia każdego modelu są strojone tak, by minimalizować ujemną log-wiarygodność Poissona (NLL) z użyciem walidacji krzyżowej. NLL to po prostu miara dopasowania przewidywanych intensywności goli do faktycznie strzelonych bramek — im niższa, tym lepiej. Wynikiem jest najlepiej dostrojona wersja każdego modelu.
  • Kontrola jakości. Te dostrojone modele są testowane na meczach, których nie widziały: MŚ 2022 plus sześć dużych turniejów rozegranych od tamtej pory (EURO, dwa Puchary Narodów Afryki, Copa América, Puchar Azji i Złoty Puchar) — łącznie 347 meczów. Tutaj metryka zmienia się na ranked probability score (RPS), który mierzy jakość prognozy probabilistycznej, gdy wyniki mają naturalny porządek, jak porażka, remis, wygrana, i nagradza pewność „mniej więcej w dobrą stronę”. Znów: im niżej, tym lepiej. Najmocniejszy model zostaje pretendentem. RPS to właściwa miara, bo prawdziwym celem jest prognoza drogi drużyn przez turniej, a nie tylko sum goli.
  • Wdrożenie. Pretendent jest porównywany z panującym mistrzem. Jeśli wygrywa, awansuje i jest dopasowywany na wszystkich dostępnych meczach, by wejść w turniej z pełną wiedzą z danych.

Co wygrało

Które podejście okazało się najlepsze? Oto pełna tablica wyników holdoutu, oceniona RPS (niżej = lepiej):

Model Holdout RPS
XGBoost 0.18289
Bayesowski Poisson 0.18316
Ujemny dwumianowy 0.18373
Dwuwymiarowy Poisson 0.18389
Random Forest 0.18392
SARIMAX 0.18583
Ridge 0.18813
LSTM 0.19299
1D CNN 0.20916
Poisson o średnim tempie (baseline) 0.22872

Z tych wyników wynika cztery rzeczy:

  • XGBoost wygrał, ale minimalnie. Pierwsza piątka (XGBoost, Bayesowski Poisson, ujemny dwumianowy, dwuwymiarowy Poisson i Random Forest) zmieściła się w około 0,0011 RPS. Gdy pięć bardzo różnych podejść ląduje tak blisko, zwykle znaczy to, że sufit wyznaczają dane i cechy, a nie model. Tutaj różnica Elo wykonuje tak dużą część pracy, że sam wybór modelu ledwie rusza wskazówkę.
  • Jedna cecha dominuje. Różnica Elo była zdecydowanie najważniejszym predyktorem — mniej więcej stukrotnie silniejszym od kolejnej cechy. To uspokajające, nie zaskakujące: w pojedynczym meczu różnica siły między zespołami to naprawdę większość historii.
  • Głębokie uczenie na końcu, poza bazą. 1D CNN i LSTM były najsłabsze poza naiwną bazą. Przy około 7000 meczów do nauki po prostu brakuje danych, by karmić sieci z tyloma parametrami; metody klasyczne znacznie lepiej radzą sobie z małymi, uporządkowanymi zbiorami.
  • Brak oznak przeuczenia w modelach klasycznych. Zwykle model wypada trochę gorzej na danych niewidzianych niż w treningu. Tutaj niemal każdy (poza LSTM) uzyskał lepszy wynik na wydzielonych turniejach niż w walidacji krzyżowej. Najpewniej dlatego, że futbol turniejowy jest bardziej przewidywalny niż zwykły kalendarz reprezentacyjny: wyższa stawka, silniejsze i lepiej znane drużyny oraz neutralne stadiony zdejmują część losowości.

Elo difference dominates football predictionNa potrzeby turnieju na żywo nie uruchamiam całej dziesiątki. Zostawiam mniejszą kadrę: średniotempo jako punkt odniesienia oraz trzech najlepszych wykonawców. XGBoost i Bayesowski Poisson biorą dwa pierwsze miejsca.

Trzecie miejsce to w praktyce remis: ujemny dwumianowy i dwuwymiarowy Poisson dzieli 0,0002 RPS i zamieniają się miejscami zależnie od ziarna losowego, więc między dwiema statystycznie nierozróżnialnymi opcjami wybrałem dwuwymiarowego Poissona, którego sformułowanie ma mocniejsze umocowanie w literaturze o prognozowaniu piłki (Karlis i Ntzoufras, 2004).

To pozostawia skład: XGBoost (uczenie maszynowe), dwuwymiarowy Poisson (statystyka klasyczna) i Bayesowski Poisson (wnioskowanie bayesowskie). W następnej sekcji — jak te modele działają, ponownie się trenują i zamieniają prognozy pojedynczych meczów w prognozę całego turnieju.

Wdrożenie w produkcji

Model żyjący w notatniku jest użyteczny tylko wtedy, gdy siedzisz przed nim. Aby przewidywać mecze przez miesięczny turniej, wszystko musi działać samo: pobierać nowe wyniki, ponownie trenować, ponownie symulować i odświeżać prognozę bez czyjejkolwiek ingerencji. Od tego jest pipeline.

Dwugodzinny pipeline na GCP

Cały projekt działa jako pojedyncza zaplanowana praca na Google Cloud Run. Przed turniejem wybudza się raz dziennie; od meczu otwarcia 11 czerwca — co dwie godziny. Każde uruchomienie przechodzi ten sam cykl:

  • Sprawdź nowe dane. Jeśli od ostatniego uruchomienia nie zakończyły się żadne mecze, nie ma nic do zrobienia i zadanie kończy pracę wcześniej.
  • Pobierz i odbuduj. Gdy spłynęły nowe wyniki, są pobierane ze źródeł danych, a pojedyncze dvc repro odbudowuje warstwy Silver i Gold, aby cechy były aktualne.
  • Ponowny trening, predykcje, symulacja. Modele z kadry są aktualizowane (za chwilę o tym więcej), prognozowane są wszystkie nadchodzące pary, a cały turniej jest symulowany.
  • Ocena. Gdy mecz się rozstrzygnie, wykonane dla niego prognozy są oceniane, co zasila monitoring opisany niżej.

Ponieważ każdy krok jest uruchamiany kodem według harmonogramu, w trakcie turnieju nie ma ręcznego klikania. Nowy wynik w środku, odświeżona prognoza na wyjściu.

Dwa tryby: zamrożony vs. per-runda

Tu projekt pełni też rolę eksperymentu. W trakcie turnieju kadra działa w dwóch równoległych trybach, a różnica między nimi odpowiada na pytanie, na które liczę znaleźć odpowiedź w danych: czy ponowne trenowanie w trakcie turnieju poprawia prognozy?

  • Zamrożony. Modele są zablokowane w momencie startu turnieju i nie są ponownie trenowane. Nadal reagują na wyniki, bo każda symulacja startuje z aktualnej drabinki, ale same parametry modeli się nie zmieniają.
  • Per-runda. Hiperparametry (ustawienia wysokiego poziomu) pozostają stałe, ale parametry uczone przez model są dopasowywane na wszystkich dostępnych danych po każdej ukończonej kolejce fazy grupowej i po każdej rundzie pucharowej, więc modele uczą się na bieżąco.

Uruchamianie obu równolegle pozwala porównać je po turnieju na dwóch frontach: surowej dokładności predykcyjnej oraz tego, jak szybko w każdym trybie rozprasza się niepewność wraz z zawężaniem stawki. Jeśli wygra tryb per-runda, regularne ponowne trenowanie ma sens; jeśli zamrożony dotrzyma kroku, dodatkowa maszyneria może nie być warta zachodu.

Od prognoz do turnieju: symulacja Monte Carlo

Przewidzieć pojedynczy mecz to jedno. Zamienić to w „jakie są szanse każdej drużyny na wygranie turnieju” — tu wchodzi symulacja Monte Carlo.

Najpierw inferencja. Zamiast przewidywać tylko znane już pary, model prognozuje każdą możliwą parę wśród 48 zespołów. Brzmi przesadnie, ale w turnieju każdy może trafić na każdego w pucharach, więc prognoza musi być gotowa na każdą parę.

Potem trzeba zakodować zasady, a format 2026 wyjątkowo to komplikuje. W 12 grupach dwie najlepsze awansują automatycznie, ale także osiem najlepszych ekip z trzecich miejsc, a to, do którego slotu fazy pucharowej trafi każda z tych ośmiu, zależy od tego, z których grup pochodzą.

Istnieje 495 sposobów wyboru ośmiu kwalifikujących się grup z dwunastu (dwanaście po osiem), a każdy daje inny zestaw par 1/16 finału. Nie ma na to czystego wzoru; FIFA po prostu publikuje tabelę. Więc ja (a ściślej mój bardzo zdolny kolega Cursor) zakodowałem na sztywno wszystkie 495 kombinacji w mapowaniu, wykorzystując oficjalną tabelę jako źródło.

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

Każdy klucz, jak EFGHIJKL, wymienia, które osiem grup dostarczyło awansujące ekipy z trzecich miejsc, a wartości wstawiają każdą z tych drużyn (3E, 3F itd.) do konkretnego numeru meczu w 1/16 finału. To jeden wpis; pełne mapowanie powtarza go 495 razy — po raz na każdą kombinację.

Trzej gospodarze (Stany Zjednoczone, Kanada i Meksyk) dostają jedno dodatkowe traktowanie. Gdy gospodarz gra mecz rozgrywany w swoim kraju, symulacja stosuje dla tego spotkania korektę atutu własnego boiska, podczas gdy reszta turnieju traktowana jest jako neutralny grunt.

Mając prognozy i zasady, symulacja rozgrywa cały turniej 10 000 razy. W każdym przebiegu postępuje tak:

  1. Losuje wynik dla każdego meczu, próbkując gole gospodarzy i gości z przewidzianych rozkładów
  2. Rozgrywa fazę grupową zgodnie z realnymi zasadami punktacji i tiebreaków
  3. Rozstrzyga tabelę „najlepszych trzecich”
  4. Wypełnia drabinkę pucharową na podstawie powyższych mapowań
  5. Gra aż do jednego mistrza.

W 10 000 zasymulowanych turniejów udział biegów, w których drużyna dociera do finału lub podnosi puchar, staje się jej prawdopodobieństwem. Jeden bieg to zgadywanka; dziesięć tysięcy — prognoza.

Śledzenie wszystkiego w MLflow

Każde uruchomienie opisane powyżej, w obu trybach, jest logowane do MLflow (hostowanego na DagsHub). Śledzenie eksperymentów oznacza systematyczne rejestrowanie wejść, ustawień, wyników i wyjść każdego uruchomienia, tak by dowolne z nich można było porównać z innymi lub dokładnie odtworzyć. Warto wyróżnić kilka rzeczy:

  • Odtwarzalność. Symulacja używa stałego ziarna losowego wyprowadzonego z rundy turnieju, a to samo ziarno dzielą tryby zamrożony i per-runda. To znaczy, że każda różnica między nimi wynika z samych modeli, nie z losowości w symulacji. Każde uruchomienie loguje też dokładny snapshot danych (liczbę wierszy Gold i znacznik czasu), więc wyniki zawsze można prześledzić do wejść.
  • Eksperyment. Każde uruchomienie jest tagowane swoim trybem (zamrożony lub per-runda) i etapem w cyklu życia — od eksperymentalnego i QA po uruchomienia inferencji na żywo i refit — odzwierciedlając ścieżkę promocji z poprzedniej sekcji.
  • Porównanie. Jako metrykę selekcji logowany jest RPS holdoutu, wraz z odwołaniem do bieżącego „mistrza” dla zachowania linii rodowodowej. Zapisywany jest też czas dopasowania — tu czarno na białym widać ok. 100-krotnie wolniejsze trenowanie modelu bayesowskiego.

Wytrenowane modele i same pliki z prognozami (prawdopodobieństwa turniejowe, tabele grupowe i prognozy meczowe) są przechowywane jako artefakty uruchomień — i to dokładnie te pliki czyta dashboard na żywo. Domyka to pętlę: od surowych wyników, przez trenowanie i symulację, po liczby widoczne online.

Monitoring dryfu

Ostatni element działa, gdy mecze się rozstrzygają. Wraz z napływem realnych wyników, wykonane dla nich prognozy są oceniane i porównywane z prostą bazą średniotempa. Jeśli pełne modele zaczynają przegrywać z modelem, który nic nie wie o drużynach, to sygnał ostrzegawczy dryfu: wzorce wyuczone przed turniejem mogą już nie odpowiadać temu, co dzieje się na boisku.

Obserwowanie tego to standard w każdym systemie generującym prognozy na żywo — więcej o wykrywaniu znajdziesz w tym przewodniku po dryfie danych i modeli.

No to kto wygra mundial?

Po całej tej machinie — właśnie o to chodzi.

Faworyci

Na 10 czerwca 2026 r., dzień przed meczem otwarcia, werdykt modelu jest jasny na samym szczycie i ciasny tuż za nim. Hiszpania i Argentyna prowadzą stawkę, każda z ok. 16% szans na podniesienie pucharu. To, że na czele są panujący mistrzowie świata (Argentyna) i panujący mistrzowie Europy (Hiszpania), to uspokajający sygnał, że model stoi twardo na ziemi.

Za nimi jest zwarta grupa pościgowa: Francja, Anglia, Brazylia i Kolumbia domykają grono najbardziej prawdopodobnych zwycięzców. To liczby na żywo i ruszą się z chwilą, gdy spłyną realne wyniki, więc traktuj je jako kadr z 10 czerwca, a nie wyrocznię. Dashboard zawsze pokazuje bieżące wartości, z maksymalnym opóźnieniem dwóch godzin.

Dashboard na żywo

A skoro o tym mowa: każda liczba w tym artykule pochodzi z działającej aplikacji Streamlit, która aktualizuje się automatycznie wraz z pipeline’em. Otworzysz ją pod wc2026-predictions.streamlit.app i możesz śledzić turniej na bieżąco. Ma cztery główne widoki:

  • Przegląd turnieju: jak daleko każda drużyna ma dojść — na pierwszy rzut oka.
  • Tabele grup: dla każdej grupy prawdopodobieństwa zajęcia przez zespół 1., 2., 3. (rozdzielone na trzecie i awans vs. trzecie i odpadnięcie — dzięki zasadzie „najlepszych trzecich”) lub 4. miejsca.
  • Prognozy meczów: dla każdego spotkania grupowego — szansa na wygraną gospodarzy, remis lub wygraną gości, wraz z najbardziej prawdopodobną drabinką pucharową.
  • Najczęstsze pary w pucharach: zestawienia, które symulacja generuje najczęściej.

Jedna rzecz warta uwagi w widoku meczów: kilka drużyn pojawia się jednocześnie w dwóch możliwych slotach 1/16 finału. To nie błąd. Dzieje się tak, gdy grupa jest tak wyrównana, że model nie potrafi pewnie wskazać, na którym miejscu kwalifikacyjnym skończy drużyna. W połączeniu z niepewnością „najlepszych trzecich” prowadzi to do różnych slotów pucharowych. W przypadku Turcji doprowadziło to nawet do podwójnej obecności w 1/8 finału.

Poniższa grafika pokazuje rundy finałowe (ćwierćfinały aż do finału), które model XGBoost projektuje przed startem turnieju:

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

Drużyna „rzut monetą”: Stany Zjednoczone

Frajdę z takiego modelu dają zespoły, które wymykają się „testowi oka”, a najczytelniejszym przykładem są Stany Zjednoczone. W przeglądzie turnieju na dashboardzie od razu zauważysz, że USA wyróżnia się kolorem.

Jako współgospodarze grający u siebie można by się spodziewać komfortowego początku, ale model jest ostrożniejszy: daje im tylko ok. 54,6% szans na wyjście z grupy — 13. najniżej w całym gronie (pamiętaj, że dwie trzecie drużyn awansuje!) — bo ich grupa z Australią, Paragwajem i Turcją jest wyjątkowo wyrównana.

Ciekawsze jest to, co dalej. Po wydrapaniu się z grupy USA balansują mniej więcej na rzucie monetą w każdej kolejnej rundzie. Złóż te rzuty razem i wychodzi około 2% szans na wygranie całego turnieju — 13. najwyższy wynik spośród 48 drużyn.

Zespół, który jest 13. od końca pod względem wyjścia z grupy i 13. od góry pod względem triumfu, to niemal idealna definicja drużyny „rzut monetą”: nigdy faworyt, nigdy bez szans.

Na koniec

Ten projekt kosztował sporo pracy i obejmuje dużo więcej, niż pomieści jeden artykuł. W repozytorium znajdziesz wiele rzeczy, które tu się nie zmieściły: pełen zestaw modeli kandydujących, inżynierię cech czy orkiestrację, która wszystko spina.

Na teraz model wytypował swoich faworytów, a turniej zweryfikuje wybory. Niezależnie, czy przyszedłeś po MLOps, czy po piłkę, mam nadzieję, że będziesz się dobrze bawić, śledząc rozwój wydarzeń — tak jak ja. Możesz śledzić prognozy na żywo wraz z napływem meczów i sprawdzić, jak trzymają się przewidywania.

Jeśli chcesz przyjrzeć się bliżej niektórym wspomnianym koncepcjom, polecam nasz kurs MLOps Concepts.

Tematy

Najlepsze kursy uczenia maszynowego

course

Wprowadzenie do uczenia maszynowego

2 godz.
292.4K
Wprowadzenie do uczenia maszynowego bez kodowania.
Zobacz szczegółyRight Arrow
Rozpocznij kurs
Zobacz więcejRight Arrow