Hoe shot-kwaliteit modellering scorelijn-analyse verving in het moderne voetbal
Expected Goals (xG) is de belangrijkste enkelvoudige statistiek in voetbalanalyse - en ook de meest misbegrepen. In zijn eenvoudigste vorm beantwoordt xG de vraag: gegeven de exacte situatie van dit schot (afstand, hoek, lichaamsdeel, of het uit een voorzet kwam, of een verdediger erbij was), hoe vaak scoort een gemiddelde speler? Tel de xG van elk schot dat een ploeg in een wedstrijd neemt op en je krijgt hun verwachte goaltotal - een veel eerlijker schatting van hoe goed ze speelden dan het daadwerkelijke goaltotaal, dat onderhevig is aan de lat, gelukkige afketsers en keepersheldendaden.
Het xG-concept kwam op in de vroege jaren 2010, populair gemaakt door analisten als Sam Green bij Opta en Michael Caley bij Cartilage Free Captain. De basisinzicht is dat schoten niet even waardevol zijn: een inschieter van twee meter heeft ~90% scorekans; een afstandsschot van 30 meter heeft ~3% scorekans. Elk schot behandelen als één 'schoten op doel' eenheid wast het echte signaal uit.
Een modern xG-model is een logistische regressie (of gradient-boosted tree) getraind op miljoenen historische schoten. Voor elk schot neemt het afstand tot het doel, hoek tot het doel, gebruikt lichaamsdeel, pass-type dat eraan voorafging, aantal verdedigers tussen schutter en doel, en soms de stand (winnend / verliezend, minuut van de wedstrijd). De output is een kans tussen 0 en 1 - dat is de xG-waarde van het schot.
Een ploeg met 1.8 xG in een wedstrijd wordt gezegd gemiddeld 1.8 goals aan kansen te hebben gecreëerd. Als ze de wedstrijd 3-0 wonnen ondanks slechts 1.2 xG, overtroffen ze hun proces; als ze 0-1 verloren met 2.4 xG, bleven ze onder hun proces. Over lange samples convergeren echte goals naar xG omdat de afwijkingen grotendeels willekeurig zijn (keepers reddingen, paal, VAR-beslissingen).
De meest voorkomende klacht tegen xG is dat het 'context negeert' - het behandelt elk schot hetzelfde ongeacht de druk, de keeper, de stand. De moderne generatie modellen houdt eigenlijk rekening met de meeste van die factoren, maar de bredere kritiek mist het punt: xG probeert niet te beschrijven wat er gebeurde, het probeert te beschrijven wat er gemiddeld zou gebeuren als dezelfde kansen herhaaldelijk werden overgespeeld.
De andere kritiek is dat xG klinisch afwerken onderwaardeert. Jamie Vardy is berucht als een 'clinical finisher' - een speler die meer scoort dan zijn kansen suggereren. Maar zelfs Vardy regresseert: over zijn beste vijf seizoenen liggen zijn echte goals 15% boven zijn xG, niet 50%. Op wedstrijdbasis kan het gat dramatisch lijken, maar het krimpt snel over langere samples, wat precies is wat je wilt van een stabiele modelinput.
Het echte gevaar van xG is overtoepassing. xG gebruiken om de eindstand van komend weekend te voorspellen is prima; het gebruiken om te voorspellen wie volgende maand topscorer wordt vereist extra schotvolume-projecties, strafschoppenopdrachten en rotatierisico - dingen die het rauwe xG-getal niet vastlegt. BetsPlug gebruikt xG alleen waar het voor ontworpen is: het schatten van de Poisson-lambda voor elke ploeg in een aanstaande wedstrijd.
Binnen ons ensemble gebruiken we xG niet als stand-alone signaal. We voeden de rollende xG-cijfers van elke ploeg (aanvallende output, defensieve tegengoals, thuis/uit-verdeling) in een Poisson-goalmodel dat een kansverdeling over elke mogelijke eindstand produceert. Vanuit daar kun je de 1X2-kansen, Over/Under totals, BTTS-kansen en Asian handicap-lijnen afleiden - allemaal uit dezelfde xG-gedreven Poisson-surface.
Het lastige is beslissen hoeveel wedstrijden aan xG-historie je meeweegt. Te weinig en je overreageert op kleine samples (een 6-schoten-burst van Bruno Fernandes tegen tien man betekent niet dat de aanval van United ineens elite is). Te veel en je mist echte vormverschuivingen (Arsenal's aanvallende output veranderde betekenisvol nadat Ødegaard terugkwam van blessure). Onze pijplijn gebruikt een rollend window dat de laatste 8 wedstrijden mengt met een seizoens-level long-run prior, gewogen op basis van het betrouwbaarheidsinterval rond de huidige schatting.
De xG-pijplijn is ook waar we dataproblemen het snelst vangen. Elke week kruisen we de xG-totalen van onze primaire datavendor met een secundaire bron. Wedstrijden met afwijkingen boven 0.4 xG worden gemarkeerd voor handmatige controle voordat een downstream-model ze gebruikt. Dit klinkt saai maar het is precies het soort plumbing dat een hobbymodel onderscheidt van een productiesysteem.
Fout één: xG behandelen als gegarandeerd resultaat. 'Arsenal had 2.5 xG dus ze hadden moeten winnen' is een verkeerde lezing - ze hadden een prestatie die consistent is met 2.5 gemiddelde goals, maar de echte verdeling is breed. Een ploeg met 2.5 xG scoort nog steeds ~8% van de tijd nul.
Fout twee: xG vergelijken tussen zeer verschillende dataproviders. StatsBomb xG, Opta xG en Understat xG gebruiken allemaal verschillende trainingssets, verschillende feature engineering en verschillende shot-metadata, dus een 1.8 xG van de ene provider is niet gelijk aan 1.8 xG van een andere. Vergelijk altijd gelijkwaardige bronnen.
Fout drie: xG verwarren met een vaardigheidsrating. Een speler met 0.5 xG per 90 minuten is niet een betere afmaker dan een speler met 0.4 xG per 90 - hij komt alleen in betere posities. Afrondingsvaardigheid zie je in het gat tussen verwachte en echte goals, dat ruisig is en pas stabiliseert over duizenden schoten.
Sluit je aan bij BetsPlug en zie alle aankomende voorspellingen uit de topcompetities - met betrouwbaarheidsscores, live updates en ons volledige publieke track record.
Slechts €0,01 activeert je 7-daagse volledige-toegang-proef.
Veelgestelde vragen over dit onderwerp, beantwoord zonder marketingpraatjes.