Offene Sportdaten mit R und Python prüfen: Wie gut sind Wettquoten wirklich?

  Edward (Bet Better)   Lesezeit: 2 Minuten Auf Mastodon ansehen

Ein freier Datensatz mit 5'897 NBA-Spielen, zwei kurze Skripte in R und Python, und die Frage, ob die Schlussquoten der Buchmacher die Wirklichkeit treffen.

offene sportdaten mit r und python prüfen: wie gut sind wettquoten wirklich?

Wettquoten sind im Grunde Wahrscheinlichkeiten mit Aufschlag. Rechnet man den Aufschlag heraus, sagt eine Quote: «Dieses Team gewinnt mit 62 Prozent.» Ob solche Aussagen stimmen, lässt sich mit freier Software und offenen Daten in wenigen Minuten selbst nachprüfen. Genau das machen wir hier.

Die Daten

Der Datensatz enthält 5'897 Spiele der NBA-Regular-Season vom 19. Oktober 2021 bis 13. März 2026. Pro Spiel gibt es die Schlussquote von mindestens drei Buchmachern (umgerechnet in eine Siegchance für das Heimteam, ohne Buchmacher-Aufschlag), das Endergebnis und die Ruhetage beider Teams. Die Datei ist eine einfache CSV unter CC BY 4.0 und hat eine DOI (10.5281/zenodo.23782134). Man kann sie direkt aus dem Netz einlesen, es braucht kein Konto und keinen API-Schlüssel.

Spalten: date, season, stage, home, away, home_chance, books, home_score, away_score, home_won, home_rest, away_rest.

Python (pandas)

import pandas as pd
url = "https://betbetter.world/studies/data/nba-back-to-backs-2021-2026.csv"
df = pd.read_csv(url)
brier = ((df.home_chance - df.home_won) ** 2).mean()
print(f"Spiele: {len(df)}  Brier: {brier:.4f}")
df["band"] = pd.cut(df.home_chance, [0, .2, .4, .5, .6, .8, 1])
print(df.groupby("band", observed=True).agg(spiele=("home_won", "size"),
      erwartet=("home_chance", "mean"), gewonnen=("home_won", "mean")).round(3))
tired_home = df[(df.home_rest == 0) & (df.away_rest > 0)]
print(f"Heimteam müde, Gast ausgeruht: {len(tired_home)} Spiele, "
      f"erwartet {tired_home.home_chance.mean():.1%}, gewonnen {tired_home.home_won.mean():.1%}")

R (ohne Zusatzpakete)

Titelbild: selbst

Quellen:

Tags

R, Python, pandas, Open Data, Statistik, Datenanalyse

Es wurden noch keine Kommentare verfasst, sei der erste!