Analyzing 8 Years of European Football: Insights from the European Soccer Dataset (2008–2016)
The European Soccer Database provides a rich collection of over 25,000 matches across major European leagues. Covering match outcomes, betting odds, player attributes, and team standings, it serves as a goldmine for sports analytics. In this post, we explore data loading, missing value analysis, betting odds distributions, and team dominance across Europe.
1. Connecting to SQLite & Table Structure
The dataset is stored inside an SQLite database (database.sqlite). We use Python's sqlite3 and pandas libraries to query table structures and extract match records.
import sqlite3
import pandas as pd
# Connect to database
conn = sqlite3.connect('database.sqlite')
# Inspect database tables
tables = pd.read_sql_query("SELECT name FROM sqlite_master WHERE type='table';", conn)
print("Tables in Database:\n", tables)
# Load match records
match_df = pd.read_sql_query("SELECT * FROM Match", conn)
conn.close()
print(f"Total Matches Loaded: {len(match_df)}")
| # | Table Name | Description |
|---|---|---|
| 1 | Match | Includes 25,979 match records across 115 feature columns. |
| 2 | Player_Attributes | Detailed FIFA ratings, skills, and attributes per player. |
| 3 | League / Country | Mapping IDs to primary European domestic leagues. |
| 4 | Team_Attributes | Tactical metrics (build-up play, chance creation, defense style). |
2. Data Quality & Missing Values Snippet
With 115 features in the Match table, missing values are predominantly concentrated in specific bookmaker odds columns and historical lineups.
| Column Name | Missing Count | Missing % | Insight |
|---|---|---|---|
| PSA / PSD / PSH | 14,811 | 57.01% | Pinnacle Sports odds omitted for earlier seasons. |
| BSH / BSD / BSA | 11,818 | 45.49% | Betting Sbobet Home/Draw/Away odds incomplete. |
| home_player_9 | 1,273 | 4.90% | Occasional missing starting XI player data. |
3. Analyzing Betting Odds Distributions
Comparing betting odds distributions highlights bookmaker skewness. Home win odds (such as BSH and PSH) show heavy right-skewed distributions centered between 1.50 and 2.50, reflecting strong home-field advantage expectations.
import matplotlib.pyplot as plt
import seaborn as sns
# Extract non-null home win odds
bsh_odds = match_df['BSH'].dropna()
psh_odds = match_df['PSH'].dropna()
# Plot distributions
plt.figure(figsize=(10, 5))
sns.histplot(bsh_odds, kde=True, bins=30, color='skyblue', label='Sbobet (BSH)')
sns.histplot(psh_odds, kde=True, bins=30, color='lightcoral', label='Pinnacle (PSH)')
plt.title('Home Win Betting Odds Comparison')
plt.xlabel('Odds Value')
plt.legend()
plt.show()
4. Dominant Teams Across Major Leagues (2008–2016)
By combining match outcomes with league and team data, we identified the most dominant club in each top European league based on total victories over the 8-year span:
| Country / League | Top Team | Total Wins | Notable Runners-up |
|---|---|---|---|
| Spain (LIGA BBVA) | FC Barcelona | 234 | Real Madrid, AtlΓ©tico Madrid |
| Scotland (Premier League) | Celtic | 218 | Motherwell, Aberdeen |
| Germany (1. Bundesliga) | FC Bayern Munich | 193 | Borussia Dortmund, Bayer Leverkusen |
| England (Premier League) | Manchester United | 192 | Chelsea, Manchester City, Arsenal |
| Italy (Serie A) | Juventus | 189 | Roma, Milan, Inter |
| Portugal (Liga ZON Sagres) | SL Benfica | 185 | FC Porto, Sporting CP |
| France (Ligue 1) | Paris Saint-Germain | 175 | Olympique Lyonnais, LOSC Lille |
Key Tactical Insight: FC Barcelona logged the highest overall win count (234 wins out of ~304 matches), closely followed by Celtic (218) and FC Bayern Munich (193). These figures highlight periods of extreme domestic dominance during the 2008–2016 eras.
Summary
The European Soccer dataset demonstrates how relational SQL databases can be leveraged for deep exploratory data analysis[cite: 2]. From quantifying domestic league dominance to examining bookmaker odds behavior, structured ETL processes form the backbone of modern sports analytics[cite: 2].

No comments:
Post a Comment