Każda drużyna ma siłę ataku i obrony
Model hierarchiczny szacuje dla każdego klubu dwie liczby: ile goli potrafi strzelić i ile zwykle traci. Szacunki dla klubów w jednej lidze „pożyczają” sobie nawzajem informację, więc drużyna po czterech kolejkach nie dostaje skrajnej oceny na podstawie jednego wysokiego zwycięstwa. W modelu siedzą też: poziom rozgrywek (od IV ligi po najniższą klasę w województwie), sezony oraz przewaga gospodarza. Drużyny, które awansują albo spadają, pomagają modelowi ustalić, ile dzieli sąsiednie poziomy.
Gole to proces losowy
Z siły ataku jednej drużyny i obrony drugiej wychodzi oczekiwana liczba goli dla obu stron (to prognoza modelu, nie „xG” liczone ze strzałów w rozegranym meczu). Same gole model traktuje jako proces Poissona: przy oczekiwanych 1,8 gola czasem padnie jeden, czasem cztery. Z rozkładu wszystkich możliwych wyników bierze się i prawdopodobieństwo 1 / X / 2, i szansa na konkretny rezultat (te „najbardziej prawdopodobne wyniki” na stronach meczów), i macierz wyników. Te liczby nie są losowane: dla każdego z kilku tysięcy wariantów siły drużyn, jakie dopuszcza model, liczymy dokładne prawdopodobieństwa wyników i bierzemy z nich średnią. Ten sam model daje więc zawsze te same procenty, a zmiana prognozy z dnia na dzień oznacza, że model zobaczył nowe wyniki.
2000 symulacji reszty sezonu
Każdy nierozegrany mecz jest losowany z rozkładu z kroku 2 — i tak 2000 razy dla całego sezonu. Za każdym razem powstaje inna końcowa tabela. Licząc, jak często drużyna kończy na danym miejscu, dostajemy prognozę punktów z przedziałem, prawdopodobieństwo mistrzostwa i spadku oraz heatmapę pozycji.
Jedno województwo, jeden model
Każde województwo ma własny model. To ten sam model (M3), ale wytrenowany wyłącznie na meczach lig danego województwa — z ostatnich trzech sezonów. Drużyny z różnych województw nie grają ze sobą w tych ligach, więc wyniki z innych regionów niewiele mówią o sile tutejszych klubów. Prognozy na tej części strony liczy model województwa mazowieckie, wytrenowany na 12617 meczach.
Kolejność w tabeli
Przy równej liczbie punktów o miejscu decydują kolejno: mecze bezpośrednie (punkty, potem bilans bramek w tych meczach — ale dopiero gdy wszystkie mecze między tymi drużynami zostały rozegrane), bilans bramek, bramki strzelone, liczba zwycięstw i zwycięstw na wyjeździe. Przy trzech i więcej drużynach z równą liczbą punktów liczy się mała tabela meczów między nimi. Tak układamy i bieżącą tabelę, i każdą z symulowanych tabel końcowych. Tak kolejność ustalają regulaminy rozgrywek wojewódzkich związków piłki nożnej. Strefy awansu i spadku bierzemy z oficjalnych tabel związku.
Skąd dane i kiedy zmieniają się prognozy
Wyniki, terminarze i tabele pobieramy z serwisu Łączy Nas Piłka. Stronę przeliczamy każdego ranka: dochodzą nowe wyniki, a prognozy nierozegranych meczów są aktualizowane aż do godziny rozpoczęcia meczu. Przy każdej prognozie podajemy, kiedy powstała. Po pierwszym gwizdku prognoza już się nie zmienia — zostaje ostatnia wersja sprzed meczu i to z nią porównujemy wynik.
Sprawdzian przed publikacją
Zanim pokażemy prognozy ligi, sprawdzamy model na sezonie 2025/26: każdy mecz prognozujemy modelem, który zna tylko wcześniejsze wyniki, i porównujemy z prostym punktem odniesienia — tym, jak często na danym poziomie rozgrywek wygrywają gospodarze, padają remisy i wygrywają goście. Jeśli w którejś lidze model nie był od tego lepszy, na stronie ligi wyświetlamy ostrzeżenie.
Czego model nie wie
- Kontuzji i zawieszeń — brak najlepszego napastnika nie zmienia prognozy.
- Składów — model nie widzi wyjściowej jedenastki ani rotacji.
- Pogody i boiska — ulewa, wiatr i grząska murawa obniżają liczbę goli, model tego nie uwzględnia.
- Motywacji — meczów o wszystko, meczów o nic i spraw pozaboiskowych.
- Transferów w trakcie okienka — nowy zespół widzi dopiero po wynikach.
Dlatego prawdopodobieństwo 80% nie znaczy „pewne”. Znaczy, że na dłuższą metę mniej więcej co piąty taki mecz kończy się inaczej — i tak też należy czytać każdą liczbę na tej stronie.
Uczciwość
Nie ukrywamy pomyłek. Na stronie każdej kolejki widać, ile typów model trafił, a ile spudłował; na stronie drużyny — jakie prawdopodobieństwo dawał temu, co faktycznie się wydarzyło, mecz po meczu. Dla meczów rozegranych przed startem strony pokazujemy prognozy modelu wytrenowanego wyłącznie na meczach sprzed danej kolejki (walk-forward), a prognozy z sezonu na żywo zapisujemy przed meczem i potem ich nie zmieniamy.
Zobacz trafność modelu w województwie mazowieckie →
Stan danych: 17 października. Model wytrenowany 18 października na 12617 meczach.
Nie jesteśmy stroną bukmacherską
Strona nie jest związana z PZPN, wojewódzkimi związkami piłki nożnej ani żadnym bukmacherem. Nie publikujemy kursów, nie odsyłamy do operatorów zakładów i nie doradzamy typowania. To projekt statystyczny: interesuje nas, jak dobrze model opisuje piłkę w niższych ligach i gdzie się myli. Liczby traktuj jak prognozę pogody — jako opis niepewności, nie jako zapowiedź wyniku.