Od dłuższego czasu zastanawiałem się jak zwiększyć precyzję moich przewidywań wyników meczów, które ciągle możecie śledzić na mlfootballbet.com. Od dawna też zaznajomiony byłem z zagadnieniem oczekiwanej liczby goli (xG) jednak nie potrafiłem jej wykorzystać i zaimplementować przy budowaniu swoich modeli. Głównym problemem z którym się borykam w tej kwestii to przewidywanie z wartości przewidywanych. Przewidywane wartości xG muszą być na tyle precyzyjne, aby można było na nich opierać predykcję wyniku spotkania. Cóż, ciągle mi się to nie udało do końca, jednak przy analizowaniu tego parametru, wpadłem na kilka interesujących faktów, którymi chciałbym się z Wami podzielić w tym materiale w postaci krótkiej analizy i kilku wykresów.

Definicja xG

Oczekiwana liczba goli (ang. expected goals), to parametr określający ilość bramek jaką powinna zdobyć drużyna w danym meczu. Szacowany jest on na podstawie sytuacji bramkowych. Im łatwiejsza sytuacja do strzelenia bramki tym wartość xG bliższa 1. Analogicznie, im trudniejsza pozycja – tym xG bliższe 0. Innymi słowami, xG = 1 to pewność 100% zdobycia bramki, xG = pewność nie zdobycia bramki. Parametr ten możemy też przedstawiać jako prawdopodobieństwo zdobycia bramki. Zależy ono od takich zmiennych jak:

  • miejsca oddawania strzału – odległość od bramki, kąt do światła bramki, miejsce na boisku,
  • cześć ciała, którą zawodnik oddał strzał – czy to główką, czy nogą, słabszą czy tą lepszą?
  • rodzaj podania przed strzałem – wrzutka, podanie po ziemi, wybicie bramkarza,
  • rodzaj akcji/ataku – kontratak, atak pozycyjny, 1 na 1, ilu obrońców było między bramką a napastnikiem w trakcie oddawania strzału itp.

Jeśli xG dla danego strzału wynosi 0.5, oznacza to, że gdyby zostało oddanych 10 takich samych identycznych strzałów, oczekiwano by, że 5 z nich zakończy się golem. Ładnie przedstawione zostało to tu, skąd zaczerpnąłem poniższy obrazek.

Rys 1. Prawdopodobieństwo zdobycia gola z efektem- źródło: https://www.pinnacle.com/en/betting-articles/Soccer/expected-goals-explained/

Po co nam xG?

No cóż, ładnie to wszystko wygląda ale po co nam ten parametr? Otóż okazuję się, że mimo tego, że wszedł on do arsenału analityków piłkarskich stosunkowo niedawno, stał się już jednym z głównych parametrów wykorzystywanych przy analizach. Podstawowym wykorzystaniem parametru xG jest określanie zdolności strzeleckich zawodników oraz całej drużyny. Na tej podstawie możemy wnioskować jak często dany zawodnik znajduję się w sytuacji bramkowej lub sumarycznie ile takich sytuacji kreuje sobie cała drużyna w meczu. Jeśli dany zawodnik konsekwentnie strzela więcej bramek aniżeli wskazywałby na to parametr oczekiwanej liczby goli, oznaczać to może, że ma on ponadprzeciętne zdolności strzeleckie lub wykończenia akcji golem. Możemy więc na tej podstawie oceniać zawodników, jak i również jako cały zespół.

Często porównuje się xG ze zdobytymi właściwie golami. Różnica tak obliczana jest niezwykle istotna i może w pewien sposób charakteryzować drużynę. Załóżmy, że dana drużyna w meczu ma ujemną różnice miedzy golami zdobytymi a xG, lub też dodatnią różnicę xG a strzelonymi bramkami. Świadczyć to może o tym, że a.) drużyna w tym meczu doświadczyła zwyczajnego pecha i nie trafiła tylu bramek na ile można by było spodziewać się po parametrze xG, lub b.) drużyna posiada umiejętności wykańczani akcji poniżej średniej, co świadczyłoby o ich pewnej niedoskonałości.

Można również odwrócić założenie. Statystyka xG dla drużyny przeciwnej może charakteryzować naszą siłę i umiejętność obronną. Drużyna, która ogranicza strzały przeciwnika oraz co istotniejsze, ogranicza oddawanie strzałów z „łatwych” pozycji, ma z reguły niższe xG, co również może być przedmiotem analizy.

Tak się składa, że parametr oczekiwanej liczby goli stał się często punktem wyjścia do szczegółowej analizy zawodników oraz drużyny. Dlatego też, tym ważniejsze było zamieszczenie i zainicjowanie tego tematu na tej stronie oraz próba jego pobieżnej analizy. Docelowym założeniem jest dodanie go do modelów, jako zmienną, które mają na celu przewidywanie wyników meczów.

Analiza xG dla Premier League

Jeśli już naświetliłem idee parametru oczekiwanej liczby goli możemy teraz płynnie przejść do kilku wykresów, którymi chciałem się dziś z Wami podzielić. Do analizy wykorzystałem dane ze strony https://understat.com/, którą to szczerze mogę polecić. Dodatkowo, do pobrania danych bardzo pomocny okazał się artykuł tego gościa: https://sergilehkyi.com/web-scraping-advanced-football-statistics/, który bardzo przejrzyście przedstawił cały proces scrapowania tej strony w Pythonie. Po delikatnych zmianach otrzymałem zbiór danych zawierający wszystkie mecze z aktualnego sezonu dla Premier League, La Liga, Bundesliga oraz Serie A.

Zabrałem się do analizy w sposób od jakiego wypadałoby zacząć cały proces, czyli od porównania strzelanych goli z parametrem xG, czyli ile ich w średnio „powinno” tych goli być w meczu. Oczywiście, każdy mecz ma inną charakterystykę, jednak aby mieć ogólny pogląd na jakość danej drużyny w sezonie pozwoliłem sobie przedstawić wszystkie gole w postaci średniej liczby na mecz. Oto co otrzymałem dla aktualnego sezonu w lidze angielskiej:

Premier League – strzelane gole

No i proszę! Od razu ciekawe rzeczy. Posortowałem specjalnie drużyny po średnim parametrze xG. Zdecydowanie najlepszym analizowanym parametrem charakteryzuje się Man City, który to strzela średnio mniej bramek aniżeli kreuje sobie sytuacji. Co ciekawe, Man United, który ma najwięcej strzelonych bramek w lidze (49 do tej pory), strzela ich zdecydowanie więcej aniżeli ich średni xG. Bardzo spłycając analizę moglibyśmy powiedzieć, że Man City mógłby popracować nad wykańczaniem akcji, natomiast Man United wykańcza golem ponadprzeciętną liczbę sytuacji. Najgorszym średnim parametrem xG charakteryzuje się West Brom, które o dziwo nie strzela najmniej goli na mecz. Burnley oraz Sheffield United strzelają natomiast zdecydowanie mniej aniżeli mogłyby świadczyć o tym sytuacje bramkowe.

Przyjrzyjmy się bliżej, różnicy dwóch analizowanych parametrów.

Premier League – strzelane gole – różnica

Tak jak wspomnieliśmy, United strzela zdecydowanie więcej niż moglibyśmy od nich oczekiwać, co jest zdecydowanie pozytywną charakterystyką ich zawodników strzelających. Dobrze w tym parametrze wygląda również Southampton oraz Everton. Z drugiej jednak strony – Brigthon, Fulham oraz Sheffield United, kreuje znacznie więcej sytuacji aniżeli z nich strzela. W mojej ocenie jest to zarówno pozytywna jak i negatywna charakterystyka. Na niekorzyść wypada wykańczanie akcji tych drużyn, jednak pewnym dobrym prognostykiem jest fakt tworzenia sobie tych sytuacji, może oznaczać spory potencjał drużyny, który mogą wykorzystać przy dopracowaniu elementu wykończenia akcji bramką.

Opisaliśmy trochę ofensywy, więc wypadałoby przedstawić jak drużyny wyglądają w obronie.

Premier League – tracone gole

Najwięcej bramkę w lidze na tę chwilę traci West Bromwich Albion, co ciekawe ich średnia wartość oczekiwanej liczby traconych bramek jest znacznie niższa. Tracą zatem mniej aniżeli dopuszczają do strzałów. Przeciwnicy wykorzystują zatem ponad przeciętną liczbę sytuacji bramkowych w meczach z WBA. Najniższym wskaźnikiem średniej liczby oczekiwanej liczby goli przez przeciwników może pochwalić się Man City, który zarówno najmniej traci bramek w lidze ale również najlepiej obniża xG przeciwników.

Premier League – tracone gole – różnica

Jeśli chodzi o różnicę tych parametrów, najlepiej wypada Tottenham, a za nim Fulham. Co to może oznaczać? Otóż paradoksalnie może to być dosyć negatywna charakterystyka. Dane drużyny tracą zdecydowanie mniej bramek aniżeli dopuszczają drużynę przeciwną. Innymi słowy, przeciwnicy tych zespołów albo charakteryzowali się dużą nieskutecznością albo zwyczajnym pechem w meczu. Nie mniej jest znajdziemy tu zdecydowanie pole do poprawy. Po drugiej zaś stronie znajduję się West Brom i Southampton. Można powiedzieć, że drużyny te mają szczególnego pecha, gdyż ich przeciwnicy strzelają więcej z ponadprzeciętnych sytuacji bramkowych. O czymś to musi jednak świadczyć.

Na koniec analizy ligi angielskiej przyjrzyjmy się pewnym anomaliom w wynikach spotkań. Nie zawsze tak jest, a raczej często tak się zdarza, że drużyna ze zdecydowanie niższym xG wygrywa lub remisuje mecz z przeciwnikiem, który tworzy sobie mnóstwo dogodnych sytuacji.

Premier League – mecze, wyniki – xG

Przedstawiłem na wykresie wszystkie mecze w aktualnym sezonie Premier League, pogrupowane po wyniku spotkania. Na osi x – parametr xG gospodarzy w meczu, na osi y – parametr xG drużyny przyjezdnych. Zaznaczyłem na nich kilka spotkań, które mogą wydawać się anomaliami w analizie spotkań piłkarskich. Etykietowane są one nazwami drużyn oraz odpowiednimi parametrami xG dla ich w tym meczu. Krótka opis niektórych z nich:

  • Burnley 3 – 2 Aston Villa (xG odpowiednio: 0.72, 2.71) – przy zdecydowanej przewadze sytuacji bramkowych dla Aston Villa, przygrywa mecz. Co ciekawe, Burnley miało zaledwie xG = 0.72 a zdobyło aż 3 bramki!
  • Man City 1 – 1 West Brom (xG odpowiednio: 2.59, 0.21) – mecz zakończył się remisem chociaż w oczekiwanej liczbie goli City miało zdecydowaną przewagę. Duże brawa również dla West Brom, gdyż przy xG = 0.21 strzela jednego gola na wagę remisu z liderującą drużyną w lidze.
  • Brighton 2 – 3 Man United (xG odpowiednio 2.98, 1.58) – mecz potwierdzający, że Man United strzela więcej niż wynikałoby to z oczekiwanej liczby goli w meczu. Man United wygrywa mecz z Brighton, który miał zdecydowaną przewagę w xG.

Pozostałe ligi

Przedstawię również jak to wygląda w pozostałych ligach na wykresach.

La Liga

W lidze hiszpańskiej na pierwszy plan wysuwa się Barcelona z największą wartością średniej oczekiwanej liczby goli. Mimo, że przewaga nad następnymi jest znaczna, w średniej liczbie zdobytych goli przegrywa z Athletico Madryt. Real natomiast charakteryzuje się bardzo małą różnicą w obu parametrach. Aktualny lider La Liga może pochwalić się niebywałą skutecznością swoich strzałów i akcji. Może to efekt Suareza? Celta ma najbardziej niekorzystną różnicę parametrów w obronie, natomiast Elche traci zdecydowanie mniej goli niż mogłoby to wynikać ze wskaźnika xG dla przeciwników.

Bundesliga

W lidze niemieckiej liderem w rankingu średniej liczby xG oraz goli na mecz jest Bayern. Drużyna ta może pochwalić się wysoką skutecznością i ponadprzeciętnym wykorzystywaniem sytuacji bramkowych. Różnica ta jest niebywała gdyż Bayern zdobywa średnio 0.708 więcej gola na mecz niż jego średni xG. Z drugiej zaś strony Shalke traci zdecydowanie najwięcej goli, również więcej niżeli wynikałoby to z xG przeciwnika. Obok Shalke, drużyny takie jak Hertha Berlin oraz Borussia Dortmund liderują w statystyce różnicy traconych bramek do xG przeciwnika. Tracą znacznie więcej niż wynikałoby to z łatwości akcji przeciwnika. Po drugiej stronie mamy Wolfsburg, który traci zdecydowanie mniej bramek niż przeciwnik sobie wypracował z akcji.

Serie A

W lidze włoskiej na pierwszy plan wysuwa się dosyć ścisła czołówka w postaci 6 drużyn: Atalanta Milan, Roma, Inter, Juventus oraz Napoli. Najlepszą średnią jeśli chodzi o dogodność sytuacji bramkowych może pochwalić się Milan, tuż za nim Roma. Inter natomiast ma wysoką skuteczność kończenia akcji golem. Z drugiej strony natomiast, Udinese strzela średnio pół gola na mecz mniej aniżeli jego średnie xG w meczu. Jeśli chodzi o gole stracone to zdecydowanie należy wskazać Crotone, które traci znacznie więcej goli aniżeli średnie xG przeciwników na mecz. Roma również traci dosyć dużo bramek w stosunku do tego ile sytuacji stwarzają sobie przeciwnicy.

Podsumowanie

Tak więc przedstawiłem Wam interesujące dla mnie aspekty analizy parametru oczekiwanej liczby goli w meczu. Ciekawy jestem Waszej opinii. Sami śledzicie ten parametr, może wykorzystujecie go w swoich analizach, jakie macie spostrzeżenia co do niego? Byłoby mi niezmiernie miło gdybyście dali znać co sądzicie. Sam po przeanalizowaniu tematu xG na własnej skórze wpadłem na parę nowych pomysłów, gdzie mógłbym wykorzystać ten parametr. Mam nadzieję, że już niedługo będę mógł się podzielić efektem moich działań.