Data is Beautiful - Statistiken und Grafiken zum Fußball

Zum Mythos „das zweite Jahr ist das schwerste“ die Aufsteigerbilanz der zehn Saisons von 2011/12 bis 2020/21 (um Raba bereinigt, da es sich um ein durchfinanziertes Planprojekt handelt und nicht um einen normalen Aufsteiger):

  • von den insgesamt 21 Aufsteigern sind 7 direkt in der ersten Saison wieder abgestiegen (33% Abstiegsquote, Durchschnittsplatzierung 13,2)
  • von den verbleibenden 14 Aufsteigern sind weitere 6 in der zweiten Saison abgestiegen (43% Abstiegsquote, Durchschnittsplatzierung 14,7)
  • von den verbleibenden 8 Aufsteigern sind 0-1 (je nachdem was diese Saison mit Bochum passiert) in der dritten Saison abgestiegen (0% Abstiegsquote, Durchschnittsplatzierung 7,7!)
  • von diesen 8 Aufsteigern, die es in die dritte Saison geschafft haben, sind bisher überhaupt nur Köln (in der vierten Saison) und Hertha (in der zehnten Saison) wieder abgestiegen

Tatsächlich ist also die zweite Saison um 1,5 Plätze schwieriger als die erste Saison, allerdings aufgrund des kleinen Datensatzes nicht wirklich signifikant genug um eine klare Aussage zu treffen. Weiter zurück gehen wollte ich allerdings auch nicht, weil sich die Bundesliga im letzten Jahrzehnt zu sehr verändert hat, als dass die Zahlen der frühen 2000er den Datensatz wirklich aufwerten würden.

Festhalten lässt sich denke ich die Schlussfolgerung „die ersten beiden Saisons sind für einen Aufsteiger am schwersten, danach hat man sich etabliert“.

6 „Gefällt mir“

Wie stark ändern sich die effektiven Kader?

Wegen des Union Schwerpunktes war ich mal interessiert, wie sehr sich die Kader der Vereine effektiv ändern im Laufe der Jahre. „Effektiv“ soll an dieser Stelle heißen, dass vorallem die gespielten Minuten eine Rolle spielen soll und nicht nur wie sich die Bank ändert.
Dafür habe ich für die letzten sechs Saisons und die aktuell laufende (also 2017/18 bis 2023/24) bei FBref die gesamt gespielten Minuten der Spieler genommen und daraus die Überschneidungen zwischen zwei Saisons berechnet.

Die Methodik ist etwas kompliziert diesmal und ich habe sie hier aus reinem Pflichtbewusstsein mit aufgeschrieben, ihr müsst sie aber nicht lesen. Am Ende ist sie auch Wurst, es fällt jedenfalls ein Wert raus der (mMn) ein relativ gutes Maß dafür ist wie sehr sich der „effektive“ Kader von einer Saison auf die nächste verändert hat.

Methodik – sehr(!) technisch dieses Mal

Für jeden Spieler P eines Clubs wird dessen totale Spielzeit tP,s für die Saison s genommen und dann durch die Gesamtminuten (ΣP tP,s) des kompletten Kaders geteilt. Die Quadratwurzel aus diesem normierten Wert wird dann als τP,s definiert:

τP,s² = tP,s / ΣP tP,s

Um jetzt zu wissen wie groß die Überschneidung zwischen den gespielten Minuten einer Saison s und der vorherigen Saison s-1 ist, muss man für jeden Spieler den Wert τP der beiden betrachteten Saisons multiplizieren. Über den ganzen Kader aufsummiert ergibt das dann die tatsächliche Überschneidung Q

Qs,s-1 = ΣP τP,s τP,s-1

Die Physiker unter euch werden gemerkt haben, dass ich mir einfach einen Hilbertraum aufgezogen und den Überlapp der „Wellenfunktion“ berechnet habe:

s❭= ΣP τP,s |P
Qs,s = ❬ψss❭= 1
Qs,s-1 = ❬ψss-1

Die „Änderung“ von eine Saison auf die nächste ist dementsprechend einfach

1-Qs,s-1

Damit man auch einen Vergleichswert hat habe ich noch einen Mittelwert gebildet aus allen Vereinen, die im ausgewählten Zeitfenster dauerhaft Bundesliga gespielt haben [1]. Auf- und Absteiger verändern ja durchaus häufiger ihren Kader (vorallem Absteiger wie man nachher sieht), daher sind die nicht mit in den Mittelwert eingeflossen.

Als Beispiel hier einfach mal Leverkusen:

In grau sehen wir den Mittelwert, welcher sich relativ konstant um die 30% bewegt. Zu Corona gab es einen kleinen Knick nach unten, da der Transfermarkt doch etwas eingeschlafen ist (würde ich so deuten), aber danach ging es wieder hoch, vlt um die verpassten Kaderumbauten nachzuholen.
Leverkusen in rot dagegen bewegt sich als stabiler Bundesligist in etwa rund um den Mittelwert auf, mit einem krassen Dip in der Saison 2022/23, wo man quasi mit dem komplett identischen Kader wie 2021/22 gespielt hat.

Hier noch die Graphen für alle Vereine die seit der Saison 2017/18 mal Erste Bundesliga gespielt haben:

Klick Mich

Hatte leider nicht die Zeit noch die Ligazugehörigkeit zu markieren, damit man Auf- und Abstiege besser erkennen kann. Falls ich dazu noch komme werde ich den Post hier aktualisieren, dann sind die Ausschläge besser zu beurteilen.

Kleine Beobachtungen:

  • Bayern ist der einzige Verein, der konstant unterhalb des Mittelwertes ist und seinen Kader nur wenig verändert
  • Hertha hat seinen Kader mit jeder Saison noch mehr verändert. Die ansteigende Kurve heißt nicht, dass der Kader gleichmäßig verändert wurde, sondern die Änderungen mit jeder Saison noch krasser wurden
  • Arminia Bielefeld :cry:
  • Leipzig war vor 5-6 Jahren noch sehr konservativ bei den Transfers, aber inzwischen werden sie auch langsam zum Durchlauferhitzer
  • Wolfsburg bewegt sich überraschend dicht am Mittelwert entlang, dafür dass sie soviel Umsatz haben bei den Transfers. Heißt das, die neuen Spieler zünden nicht und am Ende spielen doch nur wieder die alten?

[1]: Namentlich sind das BMG, BVB, FCA, FCB, LEV, M05, RBL, SCF, SGE, TSG, WOB


EDIT: Hatte in einer ersten Version einmal zuviel quadriert. Habe es korrigiert und Graphen entsprechend angepasst.

3 „Gefällt mir“

Die Sportschau untersucht im Rahmen eines Vorberichtes zu Bayern – Wolfsburg (f) ob der FCB inzwischen WOB den Rang abgelaufen hat. Dazu werden einige statistische Auswertungen vorgenommen, u.a. „Expected Points“ und den GSN-Index, einen Index von GSN (Global Soccer Network) .

Mehr zum Hintergrund: Das steckt hinter dem NDR Fußball-Datenprojekt | NDR.de - Sport - Fußball

1 „Gefällt mir“

Auswirkung von unterschiedlichen xG Modellen auf die xPts
Einige kennen das wahrscheinlich nach einem Spiel sieht man von verschiedene xG-Werte von verschiedenen Anbietern. Je nach Spiel fällt die Variation der Werte mal größer oder kleiner aus. Mittlerweile gibt es auch schon so viele Anbieter, dass man auch die Auswahl hat sich zwischen den verschiedenen Anbietern zu entscheiden. Bei dem Wert expected Points (xPts) hingegen ist mir mit understat nur der eine Anbieter bekannt, daher kam in mir die Idee auf, wie sehen die xPts aus, wenn diese auf den Werten von einem xG-Modell basieren. Also habe ich mich mal dran gemacht selbst aus den Daten von fbref/Opta die xPts für die laufende BL-Saison der Männer & meine Ergebnisse auch mit den Werten von understat zu vergleichen.

Methodik
Wichtig ist es für die Berechnung, dass einem für alle Schüsse die xG-Werte vorliegen. Wenn stattdessen für die Spiele die xG-Werte fürs ganze Spiel genommen und durch die Anzahl an Schüssen geteilt werden bekommt man verzerrte Siegwahrscheinlichkeiten. Das bedeutet schlussendlich sind die xPts auch verzerrt. Wenn ich die genaue Stochastik dahinter klären würde, könnte das zu viel werden. Für die Stochastik-Interessierten möchte zumindest erwähnen, dass für die Berechnung die verallgemeinerte Binomialverteilung zu Grunde liegt. Die Grundannahme bei dieser Verteilung ist, dass die Zufallsvariablen unabhängig von einander sind. Um das jetzt wieder in den Fußball oder auch xG Kontext zu bringen, alle Schusssituationen werden als unabhängig angesehen. Gerade bei Doppel- und Mehrfachchancen würde wohl niemand so eine Aussage treffen. Ein Beispiel dafür:
Ein Spieler tritt beim Elfmeter an(0.75xG). Der Torwart kann den Ball halten, jedoch bekommt der Schütze einen qualitativ hochwertigen Nachschuss (0.4xG). Wenn wir die beiden Schüsse als unabhängig voneinander annehmen würden, wäre unsere Erwartungen an den Schützen, dass dieser aus den zwei Schüssen im Durchschnitt 1.15 Tore erzielt. Das macht in dem Fall keinen Sinn, daher nimmt man in dem Fall die zwei Schüsse raus & berechnet stattdessen einen xG-Wert für die Gesamtsituation.
Die Schwierigkeit ist, dass im Datensatz nicht direkt mitgeliefert wird, ob ein Schuss zu einer Doppel- oder Mehrfachchance gehört. Über die Shot Creating Actions(SCA) hat man aber dann doch zumindest teilweise die Chance solche Mehrfachchancen zu identifizieren. SCA1 ist dabei die letzte Aktion davor und SCA2 ist die vorletzte Aktion davor. Für mich war dann das Kriterium einer Mehrfachchance erfüllt, wenn SCA1 ein Schuss war oder wenn SCA2 ein Schuss war und SCA1 kein Foul oder kein Standard war. Alle Mehrfachchancen konnte ich so zwar nicht erfassen aber sehr viele. Ein Beispiel wo ich es nur teilweise hinbekommen konnte gibt es im Spiel Leverkusen gegen Heidenheim in der 45.Minute.

Boniface Abschluss bei 3:34, Frimpongs Kopfball bei 3:40 und nochmal Boniface bei 3:41 konnte ich anhand der Daten als eine Chance erfassen. Jedoch konnte ich den Hofmann-Abschluss 3:48 nicht mehr als Teil der Chance erfasst, obwohl ich beim Ansehen sagen würde, alle vier Schüsse sind Teil derselben Mehrfachchance.
So viel zur Methodik, davor aber noch ein kleiner Einschub: Direkt vor der Mehrfachchance im Video hat Kleindienst einen Abschluss. Dieser Schuss hat einen Post-Shot xG(PSxG) Wert von 0.92 bekommen, da muss Opta noch am eigenen Modell arbeiten. So wie der Ball Hradecky in die Arme hoppelt, hätte das Tor auch ein Feldspieler mit dem Fuß verhindern können. Mein Tipp ist, die Schussgeschwindigkeit ist keine Variable im Opta-Modell. Soll nur als kurze Einordnung vom PSxG-Wert auf fbref dienen.

Endresult Tabelle mit xPts


Erstmal zur Farbgebung von den Zellen der xPts. Rot bedeutet, ein Verein hat mehr Punkte gesammelt als der xPts-Wert erwarten lässt. Blau hingegen bedeutet das genaue Gegenteil. Je dunkler die Farbe, um so mehr wurde der xPts über- oder auch untertroffen.
Im Großen und Ganzen weichen die xPts-Werte der meisten Vereine nur um maximal 0.5 von den Werten bei understat ab. Den deutlichsten Unterschied gibt es bei Hoffenheim, die bei mir 1.65 xPts mehr bekommen. Die drei weiteren Vereine, die noch am deutlichsten abweichen, sind der 1.FC Köln (-1.1 xPts), RaBa Leipzig (-1.07) und Leverkusen (-0.78).
Da der Code nur minimal am Anfang abgeändert werden musste habe ich das auch noch für die Frauen-Bundesliga erstellt. Ist jetzt zwar noch nicht so ganz relevant für mich (erst in zwei Jahren, wenn die 05erinnen auch erstklassig sind :smile:), aber als kleiner Service, da es bei den Frauen noch schwieriger sein dürfte so etwas frei verfügbar zu finden.

4 „Gefällt mir“

wirklich schöne Auswertung, vielen Dank. Die xPnts berechnen sich eindach aus der xG Differenz im Spiel und wenn die kleiner 1 ist, wird es als unentschieden bewertet? oder gibt es da kompliziertere Formeln wie beim ELO?

Bin nur gerade fasziniert, dass Dortmund fast genau auf den xG und xGA werten liegt, aber bei den xPnts um 25% danaben liegt.

Es wird nachträglich berechnet wie wahrscheinlich es war, dass Team 1 oder Team 2 das Spiel gewinnt oder das Spiel unentschieden ausgeht. Die Siegwahrscheinlichkeiten werden berechnet in dem man die Wahrscheinlichkeiten für die Anzahl der Tore berechnet. Ich zeige es mal an einem winzigen Beispiel:
Team 1 hatte 2 Schüsse (0.45, 0.02) und Team 2 hatte im Spiel 4 Schüsse (0.3, 0.1, 0.25, 0.05). Ich wähle bewusst so wenige Schüsse, da ansonsten die Dimensionen viel zu groß werden, um es hier zu zeigen. Als erstes berechne ich wie wahrscheinlich es war, dass Team 1 0, 1 oder 2 Tore schießt.
P(X = 0 Tore) = (1 - 0.45) * (1 - 0.02) = 0.539,
P(X = 1 Tor) = (0.45 * 0.98) + (0.55 * 0.02) = 0.452, P(X = 2) = 0.009
Dann macht man das auch für Team 2.
P(Y = 0 Tore) = 0.4489, P(Y = 1) = 0.4155, P(Y = 2) = 0.1228, P(Y = 3) = 0.0125, P(Y = 4) = 0.0004
Siegwahrscheinlichkeit für Team 1 berechnet man, dann wie folgt
P(X > Y) = P(X > 0 | Y = 0) + P(X > 1 | Y = 1) = P(X = 1, 2 | Y = 0) + P(X = 2 | Y = 1) = P(Y = 0) * (P(X = 1) + P(X = 2)) + P(Y = 1) * P(X = 2) = 0.211
P(X = Y) = 0.431 Wahrscheinlichkeit für ein Unentschieden
P(Y > X) = 0.358 Siegwahrscheinlichkeit für Team 2
Wenn man dann die dazugehörigen Punkte mit den Wahrscheinlichkeiten multpliziert und das dann zusammen addiert bekommt man schlussendlich die xPts raus. Team 1 werden dann 3 * 0.211 + 1 * 0.431 = 1.064 xPts für das Spiel zugeschrieben und für Team 2 1.505 xPts.
Ich habe das zwar vorher bewusst vermieden, aber ich hoffe so wurde es klarer.

Der Dortmund Fall ist schon ein bisschen kurios. Wobei die xG bestätigen eigentlich nur den Eindruck, den schon die Tordifferenz vermittelt, Dortmund ist nicht wirklich dominant gewinnt aber viele enge Spiele. Wenn ein Team 5 Siege mehr als Niederlagen hat erwartet man normalerweise eine Tordifferenz > 5. Dortmund war in den Spielen bisher häufig nur leicht und nicht klar besser, dann ist das Risiko natürlich auch höher Punkte abzugeben. Dementsprechend ist trotz quasi gleichen Werten bei Toren und xG, der xPts Wert um 4.2 niedriger als die tatsächlichen Punkte.

2 „Gefällt mir“

Super spannend, vielen Dank dir! Es gibt grundsätzlich so viele Situationen, in denen sich die Tabelle nicht wirklich aussagekräftig anfühlt (Am Anfang einer Saison, aber v.a. generell, wenn man Mannschaften im Hinblick auf ihre aktuelle Formstärke betrachtet), und die xPts sind da meiner Wahrnehmung nach noch einmal eine ganze Ecke hilfreicher als die xG. Ist vielleicht auch ein Tool, mit dem man Mannschaften einschätzen kann, die man nur wenig gesehen hat (z.B. wie gut ist Girona tatsächlich? oder so). Kannst du dir vorstellen, den Code frei verfügbar zu machen? Versteh natürlich auch, wenn du da Vorbehalte hast.

Ganz andere Thematik, wurde vielleicht auch an anderer Stelle schon einmal besprochen, als es um advanced stats ging: Kann mir jemand den rise and fall der packing rate erklären? Ich fand es damals, als die packing rate im TV auf einmal so gehyped wurde, oftmals erleuchtend. Für die breite Masse war das damals scheinbar nicht interessant, aber irgendwann habe ich dann letztlich auch von nischigeren Fußball-Kanälen mit Datenbezug quasi gar nichts mehr von der packing rate gehört.

Klar kein Problem, auch für den Fall, dass es andere nutzen wollen. Man kann damit für alle Ligen, die es bei Fbref mit xG gibt, solche Tabellen erstellen. Es ist auch möglich Saisons zurückzugehen, wobei die Saisons erst ab einem gewissen Zeitpunkt mit xG geführt werden.
Der Code ist mit R geschrieben. Ich habe es einigermaßen einsteigerfreundlich gemacht, weshalb ich es auf 3 Skripte aufgeteilt habe, die vom Namen her selbst erklärend sein sollten. Die Codeabschnitte, an denen man Anpassungen vornehmen kann, stehen direkt nach dem Einlesen der Packages. Zum einen ist es eine Variable, die den Dateinamen zum Abspeichern festlegt, und zum anderen die Funktion fb_match_results aus dem Package worldfootballR. Die Funktion lädt die Daten von fbref runter. Die Dokumentation sollte man sich anschauen, um zu wissen wie man Land, Jahr, Geschlecht oder Ligaebene ändert. Wenn man das gemacht hat kann man den Code durchlaufen lassen. Ich habe ihn aber auch kommentiert, so dass einigermaßen klar sein sollte, was gemacht wird.
Tabelle_xPts.zip (4,5 KB)

Ich kann zu dem Packing Thema nichts wirklich sagen, aber das Unternehmen gibt es noch. Oft ist es auch eine Strategiefrage, wie diese Unternehmen auftreten wollen. Die EM 2016 wurde sicher genutzt, um sich als neues Unternehmen auf dem Markt zu platzieren. Es würde mich nicht überraschen, wenn die ARD damals nichts dafür zahlen musste.

2 „Gefällt mir“

Sehr schön. Wollte direkt prüfen, ob deine verbesserten xPts besser mit dem Power Index Modell von 538 korrelieren als normale xPts, nur um festzustellen, dass sie ihren Sportbereich nach der ABC/Disney Übernahme im Sommer komplett eingestellt haben :sob:
War immer mein liebster Anlaufpunkt um auf die schnelle nach Über/unterperformance zu gucken.

Ich werde deine Dokumentation aber gerne als Anreiz nehmen, mich Mal wieder mit R zu beschäftigen :grimacing:

Abschlussqualität einzelner Spieler in der bisherigen BL-Saison
Ich bin wieder ein bisschen in die Welt der Daten und Statistiken abgetaucht. Dieses Mal hat es mich beschäftigt, wer eigentlich diese Saison von allen Spielern, die beste Abschlussqualität aufweist. Dafür habe ich mich zum einen aus offensichtlichen Gründen der Torschussquote bedient und zum anderen der Differenz aus Post-Shot xG und xG, die zeigen soll ob ein Spieler durch seinen Abschluss die Wahrscheinlichkeit auf ein Tor im Durchschnitt vergrößert oder verschlechtert. Dafür möchte ich kurz auf den Post-Shot xG Wert eingehen.
Ich hatte schon bei xPts Tabelle etwas zum Post-Shot xG Wert von fbref/Opta gesagt gehabt, da mir zufällig etwas aufgefallen war.

Das möchte ich zum einen Vorweg schicken, dass das Modell für die Post-Shot xG sicher nicht das beste Markt sein wird. Ein weiterer Aspekt ist, dass ich nicht genau weiß ob das Modell auf Torhüter oder Feldspieler angelegt ist. Wenn es auf Torhüter ausgelegt ist, ist es nämlich sinnvoll deren Positionierung für die Post-Shot xG nicht ins Modell aufzunehmen, um Torhüter mit besserem Positionsspiel nicht genau dafür zu bestrafen. Wenn man jedoch die Abschlussqualität von Spielern bewerten will sollte die Positionierung des Torwarts im Modell sein, da es je nach Positionierung schwieriger oder einfacher ist, ein Tor zu erzielen. Meine Vermutung ist, dass es auf die Torhüter angelegt ist, da diese Statstik nur bei diesen aufgeführt wird. Außerdem ist anzumerken, dass nur Schüsse, die gehalten wurden oder reingegangen sind, einen Wert größer als 0 aufweisen. Es ist dementsprechend egal, ob ein Ball auf der Torlinie oder im Getümmel an der Strafraumkante geblockt wird. Man kann es natürlich kritisch sehen, dass ein auf der Torlinie geklärter Schuss den Wert 0 bekommt, in dem Fall muss man es einfach akzeptieren.
Also wenn es doch zu deutlicheren Abweichungen zu der eigenen Wahrnehmungen kommen könnte kann das mit den erklärten Faktoren zusammenhängen.

Nun also zu den Grafiken, die Punkte sind farbig unterlegt, so dass man auch eine grobe Idee hat wie gut durchschnittlich die Position ist, aus der die Spieler den Abschluss suchen. Das erklärt dann nämlich auch warum Marco Richter einen positiven Wert hat, obwohl er nur knapp über 20% seiner Schüsse aufs Tor bringt.


Bei der zweiten Grafik habe ich Elfmeter rausgelassen, da Elfmeter und Schüsse aus dem Spiel heraus als unterschiedliche Art an Abschlüssen angesehen werden können. Selbiges könnte man natürlich auch mit Freistößen machen, habe ich jetzt aber noch nicht gemacht.

Überraschend ist wie Guirassy abschneidet, der zwar auch einen positiven Wert erreicht, sich aber nicht wie man es erwarten würde von der Masse absetzen kann. Hingegen überragt sein Stuttgarter Sturmkollege Undav alle anderen BL-Spieler. Ebenso bemerkenswert ist auch Frimpong. Bei seinem Teamkollegen Grimaldo habe ich diese Positionierung fast schon erwartet, wenn daran denkt aus welchen Positionen er schon getroffen hat. Im negativen Sinne fällt dann jemand wie Gregoritsch auf, der bisher nur ein Saisontor erzielt hat.
Mich hat dann noch interessiert wie Robert Lewandowski in den letzten Saison abgeschnitten hat, da man ihn sicher als den Goldstandard in der BL in den letzten 10 Jahren bezeichnen kann. Die weißen Punkte sind die Punkte der Spieler aus der Grafik darüber.

Für mich war es doch etwas überraschend zu sehen, dass er abgesehen von seiner Rekordsaison und letzten Saison bei den Bayern keinen positiven Wert bei der Differenz zwischen Post-Shot xG und xG aufweisen kann. So ganz erklären kann ich mir das tatsächlich nicht. Ein bisschen beruhigt mich hingegen die Tatsache, dass mit 2018/19 und 2023/24 die beiden Saison negativ herausstechen, in denen er recht deutlich seinen xG-Wert unterperformt hat bzw. aktuell unterperformt.
Also von einem gewissen Erklärwert kann man schon ausgehen, jedoch würde ich auch nicht aufgrund der angesprochenen möglichen Probleme von einer fehlerfreien Darstellung der Abschlussqualitäten ausgehen.

3 „Gefällt mir“

Nice! Solche Zahlen schaue ich mir ja gerne an.

Wenn man mal annimmt, dass Lewandowski nicht wirklich jede Saison plötzlich gut oder schlecht schießen kann, dann ist die Verteilung von ihm eine Visualisierung der recht großen Messunsicherheit. Aber selbst wenn man die an Undav gedanklich anlegt, bleibt er ein Phänomen.

Würde vielleicht noch empfehlen, die x Achse als Anteil Schüsse aufs Tor oder so umzubenennen, damit es noch einmal ein Tick mehr selbsterklärender ist. Aber ich liebe die Grafiken!!!

Das ist mehr ein Meta-Beitrag:

Bin vor Kurzem über einen Artikel im RBB gestoßen, der nochmal schön und verständlich einige statistische Werte erklärt und die Kritik an diesen gleich mitliefert: Zweikampf mit dem Zahlensalat
Dürfte für die meisten hier keine vollkommen neue Information sein, aber ich finde der Artikel gibt die wichtigsten Punkte pointiert mit, sodass man ihn hervorragend als Erklärungshilfe für interessierte ‚Unbeleckte‘ benutzen kann.

PS: Ich wollte den auch einfach teilen und dafür keinen neuen Beitrag aufmachen.

4 „Gefällt mir“

Basierend auf dem oben beschriebenen Modell für Änderungen des „effektiven Kaders“, hier eine kleine Spielerei:

Habe hier mal alle (ex-)BuLi-Vereine seit der Saison 2017/18 dargestellt wie viel sie im Schnitt ihren Kader verändern und wie viele Trainer sie in der Zeit hatten.

Mit Vollkreisen dargestellt sind dabei die Vereine, die durchgängig in der ersten Liga waren, und mit Ringen diejenigen mit Auf- und Abstiegen seit 2017/18 – und deswegen schon größere Kaderumbrüche dabei hatten. Die gestrichelten Linien sind dabei die Mittelwerte aller 11 Vereine, die durchgängig in der ersten Liga waren.


ERRATUM
Hatte in einer früheren Version die Anzahl der Trainer falsch berechnet. Die (hoffentlich) korrekte Version wurde neu hochgeladen. Bielefeld und Dortmund liegen dadurch jetzt nahezu identisch aufeinander.


Wo ich diesen Post eh schon editieren musste noch die obligatorischen Beobachtungen:

  • von den sieben Clubs die ihren Kader am wenigsten verändern (mussten) gehören mit Bayern plus den vier „50+1“-Ausnahmen/Umgehungen (LEV, WOB, RaBa, TSG), 5 Clubs bei denen Geld nur bedingt eine Rolle spielt (mutmaßlich)
  • bis auf Leverkusen sind es auch diese Clubs unter den permanenten Bundesligisten, deren Trainerstuhl am lockersten ist, zusammen mit Dortmund
  • Dortmund hat von den „reichen“ Klubs den größten Kaderumbau (Stichwort: Geschäftsmodell und Busanschlag)
  • die „kleineren“ Clubs haben idR viel größere Kaderveränderungen (Stichworte: Auf- /Abstiege und „weggekauft“)
  • Eintracht und Bremen sind von den „großen Traditionsvereinen“ mit am konservativsten
  • Hannover, HSV und Schalke erreichen ihr eigenes Level an „Chaos“

Zusammenfassend würde ich es in etwa so gruppieren:

  • oben links sind die großen/reichen Clubs
  • unten rechts die „genügsamen“ kleinen Clubs, die gute Arbeit leisten
  • oben rechts sind die großen Clubs im Panic-Mode
  • unten links ist Heidenheim

Vereine die aus diesem Schema ausreißen wären also besonders interessant anzuschauen. Weiß jemand warum Gladbach so konservativ in Sachen Transfers war? Und Leverkusen schien zufrieden damit zu sein ständig die CL zu verpassen?

6 „Gefällt mir“

In der aktuellen Folge war es kurz Thema beim Mainz-Wolfsburg Spiel wie selten bisher die Mainzer in Führung lagen. Kurz vor der Winterpause hatte ich mich indirekt damit beschäftigt gehabt, dementsprechend war es recht leicht für mich eine Tabelle dazu zu erzeugen.


Im Gegensatz zu der Vermutung von @passwinkel, der Effzeh lag tatsächlich noch seltener in Führung in dieser Saison als die 05er.
Kurze Erklärung, was ich als offenes Spiel bezeichnet habe. Das sind alle Spielstände innerhalb der ersten 70 Minuten, wenn der Torvorsprung nicht mehr als ein Tor beträgt. Die 70 ist natürlich ein bisschen zufällig gewählt. Meine Überlegung war es, für die meisten Mannschaften stehen die Chancen noch ganz gut mit 20 oder mehr Minuten einen Rückstand mit einem Tor in einen Sieg umzuwandeln.
Außerdem fehlen die Nachspielzeiten bei den Minuten, weil ich dazu keinen Daten habe.

4 „Gefällt mir“

Liebe. Einfach nur Liebe. Danke!

2 „Gefällt mir“

Ich bin auf Twitter über eine xPts Tabelle von Ben Griffis gestolpert (den vielleicht einige aufgrund seiner Wyscout Spieler Grafiken kennen). Er hat dafür ein Modell erstellt bei dem er noch andere Statistiken als nur die xG einfließen lässt, was im Vergleich zu den anderen xPts Tabellen doch eher unüblich ist. Dementsprechend sind auch einige der Werte etwas unterschiedlich.


Hier noch der Verweis auf den Tweet, damit man es sich direkt bei ihm ansehen kann. Er hat das auch für die anderen Top 5 Ligen gemacht.

Die Werte unterscheiden sich bei einigen Teams dann doch etwas deutlicher zum klassischen Ansatz bei xPts. Ich nehme als Vergleich einfach mal die xPts Werte von mir, die ich hier vor Monaten vorgestellt habe.

Wenn ich direkt mal auf die beiden größten Unter- und Overperformer eingehe (Leverkusen & Mainz 05), ändert sich der Wert bei Leverkusen fast gar nicht während der xPts-Wert von Mainz 05 bei seinem Modell um 4.3 geringer ist. Es bleibt aber dabei nach xPts ist Mainz 05 der größte Unterperfomer. Die größte Überraschung ist für mich wie unterschiedlich der FC Augsburg bewertet wird. Es fehlt bei ihm zwar noch das Spiel Bochum-Augsburg. Aber auch wenn man den Wert vom 19.Spieltag nimmt ist der Unterschied von 22.94 zu 17.72 doch recht deutlich. Persönlich muss ich sagen fühlt sich die Einordnung vom FCA als eines der Durchschnittsteams hinter den Top 5 richtiger im Vergleich zur Einordnung als zweitschwächstes Team. Da wäre es interessant zu wissen, warum das Modell die Augsburger so einordnet. Im Gegensatz dazu schneidet der Effzeh doch deutlich besser ab (16.93 zu 20.42), gehört aber weiterhin zu der Gruppe der unteren Teams. Die sonstigen Differenzen sind abgesehen von den Bayern (3.85 xPts) nicht größer als 2.5.

1 „Gefällt mir“

Sau interessant, aber irgendwie wertlos solange er die Methodik dahinter nicht erklärt :sweat_smile: hoffe die wird irgendwann nachgereicht. (Oder steht es da irgendwo aber shitter zeigt es nicht an, weil ich keinen Account habe?)

Im Grunde ist Pts-xPts ja ein Gradmesser für „Glück + Qualität der Torschützen“, oder? Krass wie weit Leverkusen da abweicht. Liegt das einfach daran, dass Grimaldo ständig das selbe Tor copy-pasted obwohl es einen niedrigen xG hat?

1 „Gefällt mir“

Der größte Zufallsfaktor, der von xPts nicht abgebildet wird, dürfte der Spielverlauf sein.

Wenn ein spielstarkes Team wie Bayern nach drei Minuten in Führung oder Rückstand geht, ändert es an der Spieldynamik wenig. Sie werden weiter das Spiel machen und der Gegner auf Konter lauern.
Wenn ein spielschwaches Team wie Darmstadt nach drei Minuten in Führung oder Rückstand geht, ändert es an der Spieldynamik ebenso wenig. Sie werden weiter hinten drin stehen und den Gegner das Spiel machen lassen.

Zwischen Bayern und Darmstadt hast du aber lauter pragmatisch agierende Teams, die sich situativ je nach Spielverlauf eher hinten rein stellen oder selber das Spiel machen. Bei diesen Teams kippt die ganze Spieldynamik mit jedem Tor. Wenn Bremen nach zwei Minuten gegen Mainz führt und Mainz am Ende mit den höheren xG aus dem Spiel geht, heißt es ja noch lange nicht, dass Mainz die höhere Siegwahrscheinlichkeit als Bremen hatte, da sich die Spieldynamik mit einem Ausgleich wieder komplett verändert hätte.

Zusätzliche Paramter zu nutzen, könnte also insbesondere für diese Art von Spielen zwischen zwei pragmatisch agierenden Teams Vorteile haben.

1 „Gefällt mir“

Er erwähnt schon seine Methodik, nämlich dass er ein XGBoost Modell dafür verwendet hat. XGBoost ist ein Machine Learning Algorithmus, der auf Entscheidungsbäumen basiert. Dabei wird das statistische Verfahren, Gradient Boosting, verwendet. Viel mehr will ich da aber auch gar nicht drauf eingehen, da es einiges an statistischen Vorkenntnissen braucht.
Wie genau einige der Statistiken eingeflossen sind wird er auch nicht sagen können, da Machine Learning Modelle Black Box Modelle sind. Es gibt ein paar Methoden wie man im Nachhinein den Einfluss von Variablen abschätzen kann, aber 100%ige Gewissheit hat man dann trotzdem nicht.
Was mir aber tatsächlich auch fehlt ist die komplette Liste der Variablen, weil so ist es noch schwieriger das Modell einzuschätzen.

So kann man es denke ich ganz gut zusammenfassen. Teams mit hoher individuellen Qualität haben sowieso die Tendenz besser abzuschneiden als die xG, also sollte sich das auch auf die xPts übertragen.

Das ist auch gar nicht so einfach bei der Umsetzung. Es ist schwer abzuschätzen wie sich die Spieldynamik bei einem Ausgleichstreffer verändert. Oft genug ist es auch, dass sich nichts verändert, da die Mannschaft, die die Führung verteidigt hat, es nicht mehr schafft den Schalter umzulegen. Die andere Mannschaft drückt dann noch weiter auf den Sieg. Generell würde ich behaupten sieht man solche Veränderungen eher erst später im Spiel. Das Risiko ist recht hoch doch noch irgendwie mindestens ein Gegentor zu fangen, wenn sich ein Team 88 Minuten nur darauf beschränkt zu verteidigen.
Bei Siegwahrscheinlichkeit bin ich mir nicht ganz sicher was du damit meinst. Nur bezogen auf das eine Spiel oder wenn man das Spiel so x-mal simulieren würde. Auf das eine Spiel bezogen wächst natürlich die Siegwahrscheinlichkeit mit jeder Minute, die ein Team in Führung liegt. Bei den meisten xPts Ansätzen ist es, dass man sagt wenn das Spiel x-mal mit genau den Torchancen wiederholt werden würde, wären die erwarteten Wahrscheinlichkeiten für einen Sieg für eines der beiden Teams oder Unentschieden so und so.
Um auf das Modell von Ben Griffis zurückzukommen, ich tippe er hat nur Statistiken, die sich
auf das ganze Spiel beziehen, miteingebaut. Also dürfte der Spielverlauf oder die Spieldynamik noch nicht wirklich mit einfließen. Auch auf eine Frage in den Kommentaren hat er geantwortet, dass er noch überlegt so etwas wie Spielverlauf miteinzubauen.

3 „Gefällt mir“