Jak działają nasze prognozy
Każda liczba na tej stronie jest wynikiem jednego procesu, który działa tak samo dla każdego meczu. Żaden redaktor nie wybiera spotkań, żaden człowiek nie poprawia prawdopodobieństwa i nic nie znika po cichu po przegranej.
W skrócie: oceny ataku i obrony, ważone świeżością meczów, wyznaczane są na podstawie kilku sezonów wyników, przekształcane w pełny rozkład możliwych rezultatów, zestawiane z tym, co wycenia rynek bukmacherski, i na koniec publicznie rozliczane z faktycznym wynikiem. Poniższe sekcje opisują każdy z tych kroków.
Dane u podstaw
Silnik jest dopasowywany na kilku sezonach zakończonych meczów we wszystkich uwzględnionych rozgrywkach: wyniki końcowe i do przerwy, rzuty rożne wykonane i stracone oraz strzały i posiadanie piłki dostarczane przez źródło danych, które zasilają panele kontekstu na stronach i łańcuch awaryjny modelu rożnych. Obok nich znajduje się migawka kursów bukmacherskich, pobierana w chwili wygenerowania prognozy i odświeżana, dopóki mecz pozostaje otwarty. Esport oraz rozgrywki wirtualne i symulowane są wykluczane przez utrzymywany ręcznie rejestr, a nie przez dopasowanie nazw, dzięki czemu ich wyniki nigdy nie zanieczyszczą oceny prawdziwej drużyny.
Ważone czasowo oceny ataku i obrony
Każda drużyna ma ocenę ataku i ocenę obrony — ile tworzy i ile traci względem własnego otoczenia. Obie wyznaczane są wspólnie metodą iteracyjnego dopasowania proporcjonalnego, rozwiązaniem w postaci zamkniętej, które naprzemiennie aktualizuje atak i obronę, aż cała pula odtworzy rzeczywiście zaobserwowaną w niej liczbę bramek, przy czym każdy historyczny mecz jest dyskontowany wykładniczym jądrem świeżości. Bieżąca forma dominuje, a starsze sezony wygasają płynnie, zamiast być ucinane na arbitralnej granicy sezonu. Dopasowanie odbywa się w pulach krajowych, obejmujących ligi danego kraju razem z jego pucharami krajowymi: mecze pucharowe stają się mostami między poziomami rozgrywek, a beniaminek startuje z oceną wypracowaną w starciach z realnymi rywalami, a nie od zera.
Gdy danych jest mało
Surowe oceny zbyt mocno reagują na małe próby, dlatego każda z nich jest ściągana w stronę wartości odniesienia swojej puli proporcjonalnie do stojących za nią danych — to krok empirycznego Bayesa, który nie pozwala, by klub z garstką zapisanych meczów wyglądał na potęgę tylko dlatego, że dwa z nich skończyły się 4:0. Bazowe wskaźniki lig przechodzą to samo w stronę średniej puli, co zapobiega dryfowaniu małych rozgrywek na szumie wewnątrz dużej puli. Siła tego ściągania zależy od efektywnej wielkości próby, a nie od liczby meczów, więc mocno zdyskontowane stare spotkania słusznie ważą mniej.
Od ocen do rozkładu wyników
Dla każdego meczu oceny obu drużyn oraz bazowe wskaźniki gospodarzy i gości w danych rozgrywkach dają oczekiwaną liczbę bramek dla każdej strony. Te wartości oczekiwane rozwijane są w pełną siatkę prawdopodobieństw wyników — każdy możliwy rezultat od 0:0 w górę — zawierającą korektę Dixona-Colesa na dobrze udokumentowaną zależność między obiema liczbami bramek w meczach o niskiej liczbie goli, czyli dokładnie tam, gdzie niezależne modele Poissona się mylą i gdzie piłka nożna naprawdę się rozgrywa. Wynik meczu, dokładny wynik, powyżej/poniżej, obie drużyny strzelą, podwójna szansa i handicap azjatycki odczytywane są z tej jednej znormalizowanej siatki. Dwa publikowane przez nas rynki nie mogą więc sobie przeczyć: kurs na powyżej/poniżej i kurs na dokładny wynik to ten sam rozkład, oglądany dwa razy.
Poprawne czytanie rynku
Tam, gdzie istnieją kursy bukmacherskie, nie są przyjmowane bezkrytycznie. Publikowane kursy zawierają marżę bukmachera, więc najpierw jest ona zdejmowana, a kursy przeliczane na uczciwe prawdopodobieństwa. Następnie linie handicapu i totalu rozwiązywane są jako układ względem dwóch wielkości, które rynek naprawdę wyraża — przewagi jednej drużyny nad drugą i oczekiwanej liczby bramek — co jest sygnałem znacznie stabilniejszym niż jakikolwiek pojedynczy kurs. Linie ćwiartkowe wyceniane są jądrem z dzieloną stawką, które dokładnie obsługuje przypadki połowicznej wygranej i połowicznej przegranej, zamiast zaokrąglać je do najbliższej pełnej linii, jak po cichu robi większość publikowanych modeli.
Osobny model rzutów rożnych
Rzuty rożne nie są wyprowadzane z bramek. Mają własne oceny ataku i obrony — rożne wykonane i stracone, wyznaczane tym samym ważonym czasowo algorytmem — są prognozowane dla każdej ze stron, a następnie wyceniane względem dokładnej linii rożnych danego meczu przy użyciu zdyskretyzowanego rozkładu ciągłego, a nie tablicy przeglądowej. Gdy historia rożnych drużyny jest zbyt uboga, model schodzi po zdefiniowanym łańcuchu: najpierw oceny, potem statystyki meczu na żywo, potem sam rynek. Jeśli żaden z tych poziomów nie przekracza progu, model zgłasza brak danych zamiast wymyślać liczbę.
Łączenie ważone precyzją
Model i rynek łączone są przez ważenie precyzją opartą na efektywnej wielkości próby: przy drużynach o ubogiej historii większość wagi bierze rynek, w głęboko pokrytych ligach — model, a przejście między nimi jest płynne, a nie skokowe. Gdy po tym połączeniu utrzymuje się luka wartości 5% lub większa, typ oznaczany jest jako value — model twierdzi, że ma przewagę, której kurs nie odzwierciedla, i mówi to publicznie przed pierwszym gwizdkiem, gdzie można to później sprawdzić.
Kalibracja i testy poza próbą
Nic nie trafia na produkcję dlatego, że backtest ładnie wygląda. Silnik jest walidowany na około pół miliona historycznych meczów przy ścisłym rozdzieleniu poza próbą: oceny wyznaczane są wyłącznie z tego, co można było wiedzieć przed danym gwizdkiem, a wyniki oceniane są miarą log-loss i wskaźnikiem Briera — właściwymi regułami punktacji, które karzą pewne siebie pomyłki, zamiast je nagradzać — a także skutecznością względem linii i przedziałowymi krzywymi kalibracji, sprawdzającymi, czy typ z prawdopodobieństwem 60% naprawdę wygrywa mniej więcej w 60% przypadków. Wersja, która nie osiąga progów akceptacji, nie wchodzi na produkcję.
Bez ręcznego wybierania
Każdy kwalifikujący się mecz prawdziwej piłki otrzymuje prognozę — bez wybierania łatwych przypadków. Prognozy są zamrażane 30 minut przed pierwszym gwizdkiem, a każdy zamrożony typ jest rozliczany z wynikiem końcowym i liczony w publicznym bilansie skuteczności, zarówno trafienia, jak i porażki.