
Kako očekivani golovi (xG) pomažu da bolje razumete šuteve i rezultate
Kada posmatrate meč, broj šuteva i postignutih golova ne pričaju celu priču. Vi želite da znate koliko su šanse za gol bile realne — tu nastupa koncept očekivanih golova, poznat kao xG. xG predstavlja verovatnoću da će određeni šut završiti kao gol, izraženu decimalom između 0 i 1. Sabiranjem tih verovatnoća dobijate vrednost koja pokazuje koliko golova je tim “zaslužio” po kvalitetu prilika, nezavisno od konačnog rezultata.
Koristeći xG, možete lakše da:
- procijenite učinak napadača i timova nezavisno od sreće ili grešaka golmana;
- prepoznate kada tim postiže više ili manje golova nego što statistika očekuje (over/underperforming);
- uporedite kvalitet šuteva iz različitih mečeva i sezona;
- donosite informisane odluke pri skautingu i taktičkim prilagođavanjima.
Koje informacije su vam potrebne da biste izračunali očekivane golove
Da biste sami izračunali xG, morate da prikupite detaljne podatke o svakom šutu. Vi ne kalkulišete samo po broju šuteva; svaki šut ima svoju “težinu” u zavisnosti od okolnosti. Ključne varijable koje treba beležiti su:
Karakteristike samog šuta
- pozicija na terenu (udaljenost od gola i ugao prema golu);
- vrsta šuta (instinktivni udarac, volej, glavom, udarac sa distance);
- deo tela koji je pogodio loptu (stopalo, glava);
- da li je šut bio sa asistencijom (i njen tip: centaršut, duga lopta, proigravanje);
- da li se radi o igri 1-na-1 sa golmanom ili o šutu iz gužve;
- trenutak igre (brza kontranapad, statična situacija, penal).
Kontekst i dodatni faktori
Uz osnovne podatke, dodatni kontekst poboljšava preciznost modela. Vi treba da zabeležite:
- poziciju i raspored protivničkih igrača u trenutku šuta (blokovi, linije odbrane);
- povratna informacija o golmanu (pozicioniranje, prethodni nastupi);
- uslovi na terenu i vreme (manje presudno, ali ponekad relevantno);
- tip utakmice (liga, kup, prijateljska), jer se ponašanje igrača menja sa rizikom.
Nakon što prikupite ove podatke, sledeći korak je formiranje modela koji pretvara karakteristike šuta u verovatnoću. To obično uključuje upotrebu statističkih metoda poput logističke regresije ili mašinskog učenja nad velikim setom šuteva kako bi se odredile težine svake varijable. U sledećem delu ćemo proći kroz konkretne matematičke korake, izvor podataka koji možete koristiti i primer jednostavnog xG izračuna koji možete primeniti sami.

Konkretni matematički koraci za izračunavanje xG
Proces izrade osnovnog xG modela može se podeliti na nekoliko jasnih koraka. Ovde opisujemo pristup zasnovan na logističkoj regresiji — najčešće korišćenom i najintuitivnijem modelu za verovatnoćne procene:
- Priprema podataka: za svaki šut formirajte zapis sa nezavisnim promenljivama (npr. distanca u metrima, ugao u radijanima, tip šuta, deo tela, da li je asistencija) i zavisnom promenljivom 0/1 (gol/ne-gol).
- Kodiranje promenljivih: numeričke promenljive zadržite, kategorijske pretvorite u one-hot enkodiranje (npr. “glava”, “volej”, “stopalo”). Normalizujte promenljive po potrebi.
- Trening modela: koristite logističku regresiju koja modeluje verovatnoću p kao p = 1 / (1 + e^-(β0 + β1×1 + β2×2 + …)). Koeficijenti β određuju uticaj svake karakteristike na verovatnoću gola.
- Regularizacija i validacija: dodajte L1 ili L2 regularizaciju da sprečite preprilagođavanje, podelite podatke na trening i test skupove i koristite k-fold cross-validation.
- Evaluacija: koristite metrike kao što su log loss (cross-entropy), Brier score i AUC da ocenite performanse. Kalibracione krive (reliability plots) pokazuju koliko su predviđene verovatnoće tačne.
- Agregacija: sabiranjem verovatnoća p za sve šuteve dobijate očekivani broj golova za igrača/tim/u takmičenju.
Važno je razmotriti i interakcione efekte (npr. distanca × tip šuta) jer uticaj distance može zavisiti od toga da li je šut glavom ili stopalom. Takođe, ako imate veliki skup podataka, razmislite o složenijim modelima (random forest, gradient boosting, neuronske mreže) ali imajte u vidu manjak interpretabilnosti.
Izvori podataka i primer jednostavnog xG izračuna
Za izgradnju modela potrebno je kvalitativno bogat skup podataka. Najčešće korišćeni izvori su:
- Komercijalni provajderi: Opta, StatsBomb, Wyscout – najdetaljniji podaci, ali često plaćeni.
- Javni resursi: StatsBomb open data (GitHub), FBref/Understat (xG za utakmice i igrače), različiti scraping projekti.
- Vlastito prikupljanje: ručno označavanje ili semi-automatsko praćenje pomoću video snimaka.
Primer jednostavnog izračuna (ilustrativno): pretpostavimo da koristite model sa tri promenljive: konstanta β0 = -2.0, β1 (distanca u metrima) = -0.12, β2 (ugaona širina u radijanima) = 1.5. Za šut sa distance 12 m i ugla 0.4 rad:
linearni izražaj z = β0 + β1distance + β2angle = -2.0 + (-0.12)12 + 1.50.4 = -2.0 -1.44 +0.6 = -2.84.
Verovatnoća gola p = 1 / (1 + e^-z) = 1 / (1 + e^{2.84}) ≈ 0.055 (5.5%). Ako tim ima u meču pet takvih šuteva, zbirni xG = 5 × 0.055 = 0.275 očekivanih golova.
Ovaj pojednostavljeni primer pokazuje princip: svaki šut dobija svoju verovatnoću, a zbir vam daje jasniju sliku o kvalitetu prilika. U stvarnom modelu koristićete više promenljivih i prilagođene koeficijente dobijene iz velikog skupa podataka.

Kalibracija modela i provera robusnosti
Nakon što dobijete model, proverite da li su predviđene verovatnoće kalibrisane — odnosno, da li šutevi kojima model daje p≈0.2 zaista završavaju golom u ~20% slučajeva. Koristite kalibracione plotove i Brier score. Takođe testirajte model na različitim sezonama i ligama kako biste otkrili pristrasnosti. Ako primetite sistematsko precenjivanje ili potcenjivanje, prilagodite model dodavanjem novih promenljivih (npr. pozicija golmana, gustina odbrane) ili korišćenjem metode kalibracije poput Platt scaling ili isotonic regression.
Praktični koraci za primenu xG u analizi
Kada završite izradu ili prilagođavanje xG modela, sledeći korak je praktična primena i kontinuirano poboljšanje. Postavite jasne ciljeve: da li koristite xG za taktičku analizu, skauting, evaluaciju performansi ili predikcije rezultata. Testirajte model na malim uzorcima pre nego što ga u potpunosti integrišete u workflow, i pratite performanse kroz sezonu.
- Automatizujte prikupljanje podataka koliko god je moguće kako biste smanjili greške u označavanju.
- Kombinujte xG sa drugim metrikama (xA, expected goals against, pressing data) za širu sliku.
- Budite transparentni sa ograničenjima modela i redovno rekalibrišite model kad se pojave nove vrste podataka ili promena u stilu igre.
Za početak rada sa otvorenim podacima i primerima koda, pogledajte StatsBomb Open Data — dobar izvor za učenje i testiranje modela na realnim događajima.
Frequently Asked Questions
Šta je razlika između xG i obične statistike šuteva?
Obična statistika šuteva broji kvantitet (koliko je šuteva izdato), dok xG procenjuje kvalitet svakog šuta dajući verovatnoću da će dovesti do gola. xG bolje osvetljava koliko su stvarno opasne bile prilike, nezavisno od konačnog rezultata.
Da li mogu izgraditi solidan xG model sa malim skupom podataka?
Moguće je napraviti jednostavan model sa manjim skupom, ali performanse i robusnost će biti ograničene. Veći i raznovrsniji skup podataka omogućava preciznije procene, bolje kalibraciju i generalizaciju modela. Početnicima se preporučuje korišćenje javnih datasetova za trening i validaciju.
Koje su najčešće greške pri interpretaciji xG vrednosti?
Najčešće greške su pretpostavka da xG predviđa tačan rezultat (xG daje očekivanje, ne garantiju) i zanemarivanje konteksta (npr. kazneni udarci imaju specifičnu prirodu). Takođe, poređenje xG između različitih modela bez ujednačenih ulaznih promenljivih može dovesti do pogrešnih zaključaka.
