Auf dieser Seite erklären wir, welcher Prozess hinter unsere Simulation und Prognose, welche auf Elo-Rankings basieren, steckt.
Schritt 1: Start-Elo laden
Für jede der 48 qualifizierten Mannschaften wird die aktuelle Elo-Zahl von eloratings.net geladen. Diese Elo ist der Ausgangswert für alle weiteren Schritte.
Schritt 2: Ihre Anpassungen aufschlagen
Falls Sie Modifikationen gesetzt haben, also Heimvorteil, einen Elo-Bonus oder Per-Team-Anpassungen aus der Elo-Rangliste, werden diese jetzt zur Start-Elo hinzugerechnet. Beispiel: Deutschland startet eigentlich mit einer Elo von 1850. Wenn Sie einen Bonus von 100 setzen, beginnt das Turnier für Deutschland mit einer Elo von 1950. Für unsere Prognose verwenden wir die unveränderten Elo-Ratings.
Schritt 3: Gruppenphase
Die 48 Mannschaften sind in 12 Gruppen zu je 4 Mannschaften eingeteilt. Jede Mannschaft spielt gegen die drei anderen ihrer Gruppe. Das ergibt 6 Spiele pro Gruppe und insgesamt 72 Gruppenspiele. Für jedes Spiel werden die folgenden Berechnungen durchgeführt:
3.1: Sieg-Wahrscheinlichkeit berechnen
Aus der Elo-Differenz der beiden Mannschaften wird mit der klassischen Elo-Formel die Sieg-Wahrscheinlichkeit der Heim-Mannschaft berechnet:
praw = 1 / (1 + 10^((Eloeigenes Team − EloGegner) / 400))
Bei gleicher Elo ergibt sich eine Siegeswahrscheinlichkeit von 50%. Je größer der Elo-Vorsprung der Heim-Mannschaft, desto näher liegt der Wert bei 100%.
3.2: Außenseiter-Faktor anwenden
Der von Ihnen eingestellte Außenseiter-Faktor a verschiebt die Sieg-Wahrscheinlichkeit folgendermaßen:
ph = 0,5 + (praw − 0,5) · (1 − a)
Bei a = 0 bleibt die Wahrscheinlichkeit unverändert. Dies ist unsere Einstellung für die Prognose. Bei a = 1 wird sie auf 0,5 gezogen, jedes Spiel ist also 50:50. Bei a = 3 kippen die Wahrscheinlichkeiten, der Außenseiter wird zum Favoriten. Bei a = −3 dagegen werden Favoriten besonders deutlich bevorzugt.
3.3: Unentschieden-Wahrscheinlichkeit berechnen
Eine zweite Formel berechnet, wie wahrscheinlich das Spiel unentschieden endet. Dabei ist d Ihr Regler für die maximale Wahrscheinlichkeit eines Unentschiedens bei gleichem Elo. In der Prognose ist dieser auf 0,3 gesetzt. Der feste Streuungsparameter σ bestimmt, wie schnell diese Wahrscheinlichkeit mit zunehmendem ELO-Abstand abfällt, und ph die zuvor berechnete Sieg-Wahrscheinlichkeit der eigenen Mannschaft.
pUnentschieden = d · exp(−(ph − 0,5)2 / 0,18)
Diese Wahrscheinlichkeit ist am höchsten, wenn beide Mannschaften etwa gleich stark sind (dann erreicht sie genau den Wert d), und sinkt glockenförmig, je größer der ELO-Abstand ist.
3.4: Ergebnis ziehen
Aus den drei Wahrscheinlichkeiten (Sieg eigene Mannschaft, Unentschieden, Sieg Gegner) wird zufällig ein Ausgang gezogen. Die Sieg-Wahrscheinlichkeiten werden dabei um die Unentschieden-Wahrscheinlichkeit reduziert. ph und pUnentschieden sind die zuvor berechneten Wahrscheinlichkeiten, ph* und pg* sind die bedingten Sieg-Wahrscheinlichkeiten der eigenen Mannschaft bzw. des Gegners.
ph* = ph · (1 − pUnentschieden)
pg* = (1 − ph) · (1 − pUnentschieden)
3.5: Tore ziehen
Je nach gewähltem Tor-Modell:
- Poisson: Aus den bedingten Sieg-Wahrscheinlichkeiten werden die Erwartungswerte λ für die Toranzahl beider Mannschaften berechnet. Dabei ist s Ihr Regler für den Torreichtum, ph* und pg* sind die bedingten Sieg-Wahrscheinlichkeiten aus Schritt 3 (d), und λeigenes Team bzw. λGegner sind die erwarteten Toranzahlen der eigenen Mannschaft und des Gegners.
λeigenes Team = (1,99419 · ph* + 0,24629) · s
λGegner = (1,99419 · pg* + 0,24629) · s
Die Tore werden anschließend aus der Poisson-Verteilung mit dem jeweiligen λ gezogen. Die Faktoren 1,99419 und 0,24629 wurden anhand historischer Daten geschätzt. Ziehungen, die nicht zum festgelegten Ausgang passen (z.B. ein 1:1, wenn ein Sieg gezogen wurde), werden verworfen, und es wird neu gezogen.
- Empirisch: Es werden alle historischen WM-Spiele mit ähnlichem Favoriten-Verhältnis und gleichem Ausgang herausgesucht. Daraus wird zufällig ein Ergebnis gezogen. Dies ist unsere Einstellung für die Prognose.
3.6: Elo aktualisieren
Nach jedem Spiel werden die Elo-Werte beider Mannschaften aktualisiert. Dafür ist K der von Ihnen eingestellte Elo-Faktor Turnier, m ein Multiplikator, der die Tordifferenz berücksichtigt, S der tatsächlich erzielte Punktwert (1 bei Sieg, 0,5 bei Remis, 0 bei Niederlage) und praw die ursprünglich erwartete Sieg-Wahrscheinlichkeit aus Schritt 3.1. In der Prognose setzen wir K auf 60.
Der Tordifferenz-Multiplikator m hängt vom Betrag der Tordifferenz |Δ| ab:
- m = 1 wenn |Δ| ≤ 1
- m = 1,5 wenn |Δ| = 2
- m = 1,75 wenn |Δ| = 3
- m = 1,75 + (|Δ| − 3) / 8 wenn |Δ| ≥ 4
Damit wird die neue Elo der eigenen Mannschaft berechnet:
Eloneu = Eloalt + K · m · (S − praw)
Für den Gegner gilt die spiegelbildliche Formel mit (1 − S) statt S und (1 − praw) statt praw. Diese aktualisierte Elo geht in das nächste Spiel ein.
Schritt 4: Gruppentabelle aufstellen
Nach allen 72 Spielen werden die Tabellen der 12 Gruppen erstellt. Pro Gruppe qualifizieren sich der Erste und der Zweite direkt für die K.O.-Runde. Bei Punktgleichheit greifen die FIFA-Regeln: zuerst die Tordifferenz, dann die geschossenen Tore, dann der direkte Vergleich. Bei der Zuordnung der Spielgegner für die erste K.O.-Runde folgen wir den FIFA-Vorgaben.
Schritt 5: Die acht besten Gruppendritten ermitteln
Insgesamt ziehen 32 Mannschaften ins Sechzehntelfinale ein. Neben den 24 direkt Qualifizierten werden also noch 8 weitere Plätze benötigt. Diese gehen an die 8 besten Drittplatzierten aller 12 Gruppen. Verglichen werden zuerst Punkte, dann Tordifferenz, dann geschossene Tore.
Schritt 6: K.O.-Runde durchspielen
Ab jetzt geht es im Ausscheidungsmodus weiter: Sechzehntelfinale (32 auf 16), Achtelfinale (16 auf 8), Viertelfinale (8 auf 4), Halbfinale (4 auf 2), Spiel um Platz 3 und Finale.
Jedes K.O.-Spiel funktioniert wie ein Gruppenspiel (Schritte 3.1 bis 3.6). Mit einem Unterschied: Endet ein Spiel unentschieden, wird zusätzlich ein Elfmeterschießen simuliert. Dafür wird aus den Elo-Zahlen erneut eine Wahrscheinlichkeit für den Sieg der einen Mannschaft berechnet, und ein Sieger gezogen. Die Tore aus dem Elfmeterschießen zählen nicht für die Elo-Aktualisierung.
Schritt 7: Ergebnis anzeigen
Am Ende kennt die Simulation den Weltmeister, den Zweitplatzierten und den Drittplatzierten. Alle 104 Einzelspiele liegen vor. Diese Ergebnisse werden in den Tabs der App dargestellt: Podium, Gruppentabellen, alle Spielergebnisse, K.O.-Runde und die Elo-Rangliste mit der gesamten Entwicklung über das Turnier hinweg.
Hinweis zur Interpretation
Was Sie in der Simulation sehen, ist ein einzelner Turnierverlauf, eine Zufallsziehung aus unendlich vielen möglichen. Wenn Sie ohne festen Startwert erneut auf „Simulieren" klicken, kann ein völlig anderes Turnier herauskommen. Das ist der Grundgedanke einer Monte-Carlo-Simulation: Erst durch viele Wiederholungen entsteht eine belastbare Wahrscheinlichkeitsaussage. Für die Prognose ermitteln wir noch das Team mit den meisten Toren um das Team miit dem Torschützenkönig vorherzusagen.
Unser Code
Das Projekt steht online auf https://github.com/mschalberger/WC26-Prediction.git zur Verfügung.