Serie | Interaktive Datenvisualisierung mit Python/R – Vorstellung eines Dashboards zur Analyse von Fußballspielen in Dash

Dash ist ein Framework für die Erstellung von interaktiven Webapplikation zur Visualisierung von Daten. Dash hilft Data Scientists ihre Ergebnisse innerhalb kurzer Zeit auf einem Interface darzustellen und zu teilen. Die Entwicklung eines Dashboards mithilfe von Dash erfordert keine tiefgreifenden Frontend-Kenntnisse in HTML oder JavaScript, da der gesamte Quellcode in Python, R oder Julia implementiert werden kann und nur ein wenig Styling durch CSS benötigt.

Im zweiten Teil der Impulsserie zu Dash möchten wir euch ein Dashboard zur Analyse von Fußballspielen vorstellen, um einen Überblick zu den Möglichkeiten und Funktionalitäten von Dash an einem Beispiel zu geben. In den folgenden Teilen werden dann die Implementierung des Dashboards sowie die Visualisierungselemente genauer erläutert. Ihr habt den ersten Impuls verpasst? Hier gelangt ihr zum Überblick und den Kernelementen von Dash.

 

Dashboard zur Analyse von Fußballspielen

Das hier vorgestellte Dashboard dient dazu, verschiedene Aspekte eines Fußballspiels zu untersuchen. Dazu werden Visualisierungen zur Analyse des Passspiels, der Ballaktionen, des Positionsspiels sowie der Torschüsse dargestellt, die in vier Tabs aufgeteilt sind. In diesem Beispiel wird mithilfe des Dashboards das Champions League Finale 2019 zwischen Liverpool und Tottenham analysiert.

 

Verwendeter Datensatz

Als Datensatz wurde der frei verfügbare Datensatz von Statsbomb genutzt, welcher verschiedene Aktionen zu Fußballspielen enthält. Die Daten liegen als json-Dateien vor und beschreiben Aktionen wie Pässe, Schüsse, Zweikämpfe, Dribblings, Foulspiele oder Standardsituationen. Zum Beispiel enthält der Datensatz zu jedem Pass Informationen über den Passgeber und Empfänger, die Spielminute, Position, Höhe, Länge und Richtung eines Passes sowie vieles mehr.

 

Analyse des Passspiels

Im ersten Tab wird das Passspiel einzelner Spieler sowie beider Mannschaften visualisiert. Ein Dropdown-Menü bietet die Möglichkeit einen Spieler auszuwählen, dessen Passspiel untersucht werden soll. Anschließend wird eine Grafik zur Beschreibung der Spielfeldpositionen angezeigt, von wo der jeweilige Spieler seine Pässe gespielt hat. Dabei werden die angekommenen Pässe als weißer Punkt und die Fehlpässe als schwarzer Punkt dargestellt. Dadurch ist auf einen Blick erkennbar, wie viele Pässe der Spieler in welchen Teilen des Spielfeldes mit welcher Passgenauigkeit gespielt hat. Die zweite Grafik zur Analyse des Passspiels eines Spielers zeigt durch einen Pfeil auch die Endposition eines Passes an. Die angekommenen Pässe werden hier durch einen blauen Pfeil und die Fehlpässe durch einen roten Pfeil abgebildet. Auf diese Weise ist zum Beispiel sichtbar, in welche Räume der Spieler am häufigsten passt und ob der Spieler eher kurze oder lange Pässe spielt.

Zur Untersuchung von Mustern im Passspiel einer Mannschaft werden Passnetzwerke erstellt, welche die häufigsten Passverbindungen und Passrichtungen zwischen den Spielfeldzonen darstellen. Dazu wurde das Spielfeld in 18 Zonen eingeteilt mit sechs Bereichen von hinten nach vorne, wobei jeder Bereich auf die rechte bzw. linke Außenbahn sowie das Zentrum aufgeteilt ist. Die gespielten Pässe einer Mannschaft zwischen diesen Zonen werden durch einen Pfeil dargestellt, dessen Pfeilspitze auf die Zone zeigt, in die der Pass gespielt wurde. Die Dicke eines Pfeils gibt an, wie häufig ein Pass von der einen in die andere Zone gespielt worden ist. So lässt sich erkennen, welche Spielfeldzonen eine Mannschaft besonders oft bespielt und welche Pässe typischerweise im Spielaufbau oder im Angriffsdrittel genutzt werden.

 

Analyse der Ballaktionen

Im zweiten Tab werden die Ballaktionen eines Spielers ausgewertet. Dort zeigt die linke Grafik die Spielfeldposition aller Aktionen des Spielers, wobei zwischen defensiven und offensiven Aktionen unterschieden wird. Defensivaktionen sind beispielsweise Ballgewinne, Zweikämpfe oder Foulspiele und Offensivaktionen sind unter anderem Pässe, Dribblings oder Torschüsse. Zudem können die Aktionen, welche aus Standardsituationen resultierten, optional ausgeblendet werden. So bietet die Grafik einen Überblick, in welchen Bereichen des Spielfeldes der Spieler seine offensiven und defensiven Aktionen hatte. Die rechte Grafik stellt die Spielfeldbereiche, in denen der Spieler besonders aktiv war, als Heatmap dar. Auch hier gibt es die Möglichkeit, die Standardsituationen auszublenden und die Heatmap auf die Offensiv- oder Defensivaktionen zu beschränken. Dadurch ist es leicht zu erkennen, wo sich der Spieler offensiv, defensiv und insgesamt aufgehalten hat.

 

Analyse des Positionsspiels

Unter dem Tab zum Positionsspiel kann die realtaktische Aufstellung beider Mannschaften ausgewertet werden. Die realtaktische Aufstellung beschreibt dabei die tatsächliche Formation eines Teams während des Spiels. Dazu wird für jeden Spieler seine durchschnittliche Spielfeldposition anhand des Mittelwertes von den Positionen aller Aktionen während des Spiels ermittelt. Die Aktionen nach Standardsituationen können optional aus der Berechnung für die durchschnittliche Spielfeldposition rausgenommen werden. Außerdem können die Aktionen auf die Offensiv- oder Defensivaktionen gefiltert werden, um die offensive bzw. defensive Grundformation zu untersuchen.

Die zweite Grafik beschreibt zusätzlich auch die durchschnittliche Spielfeldzone jedes Spielers. Dazu wurde für jeden Spieler ein Polygonzug berechnet, der die 25% aller Aktionen des Spielers enthält, welche am nächsten zum Mittelwert liegen. Mithilfe dieser Darstellung ist beispielsweise erkennbar, wie groß der Aktionsbereich eines Spielers ist und wie positionsgetreu er seine Rolle ausfüllt.

 

Analyse der Torschüsse

Im Tab zur Analyse der Torschüsse stellt die erste Abbildung die Position aller Torschüsse beider Mannschaften als Kreis auf dem Spielfeld dar. Die Farbe des Kreises kennzeichnet dabei die Mannschaft, welche den Torschuss abgegeben hat, und der Radius des Kreises gibt die Trefferwahrscheinlichkeit des Torschusses an. Die Trefferwahrscheinlichkeit für einen Torschuss wurde mithilfe eines Expected Goals Modells berechnet. Falls aus einem Torschuss ein Torerfolg resultierte, ist der Kreis zudem farblich hervorgehoben.

 

In der unteren Grafik wird das Expected Goals Modell zur Darstellung eines Race Charts genutzt. Dieser beschreibt den Verlauf eines Spiels, indem er die Trefferwahrscheinlichkeit für jeden Torschuss einer Mannschaft kumuliert abbildet. So ist das Chancenverhältnis zwischen den beiden Mannschaften leicht ersichtlich und es kann abgeleitet werden, welche Mannschaft in bestimmten Phasen des Spiels torgefählicher war.

 

Fazit

Dash bietet Entwicklern ohne komplexe Kenntnisse in der Webentwicklung die Möglichkeit, interaktive Dashboards schnell zu entwickeln und mit anderen zu teilen. Die Vorstellung des Dashboards zur Spielanalyse sollte einen Überblick zu den Möglichkeiten von Dash und dem Einsatz von Data Science im Fußball vermittelt haben. Weitere Beispiele für die Umsetzung von Dashboards mithilfe von Dash sind in der App Gallery verfügbar (Dash Enterprise App Gallery). Im nächsten Teil der Dash Serie wird die technische Entwicklung des Dashboards erklärt.

 

Ihr möchtet mehr zur Umsetzung in Dash erfahren oder einfach nur mit uns über Fußball reden? Dann kommt auf uns zu!

 

Haben wir Ihr Interesse geweckt? Kontaktieren Sie uns gerne.

Ihre Ansprechpartner

Jan Schneider

jan.schneider@datalytics-consulting.com