Women's Football (European Leagues)
Team and Player Performance Statistics
@kaggle.thedevastator_uncovering_female_football_success_in_top_europe
Team and Player Performance Statistics
@kaggle.thedevastator_uncovering_female_football_success_in_top_europe
By [source]
This dataset includes comprehensive female football-related performance data and player statistics from the top 5 European leagues: Serie A in Italy, Liga Femenina in Spain, Women's Super League in England, Bundesliga Frauen in Germany, and Division 1 Feminin in France. Gathered throughout each season of the respective leagues, the dataset tracks teams, players, matches and a range of important performance metrics. The recently released data provides intriguing insight into team success and player form - covering parameters such as goals scored per game (xGHome), clean sheets (CS), number of opponents' passes allowed (Sweeper_#OPA) as well as individual performance stats such as tackles made per goal kick (Crosses_Stp). Analyze this insightful data to gain further insight on how female football is developing across Europe's major leagues!
For more datasets, click here.
- 🚨 Your notebook can be here! 🚨!
This dataset can be used to analyze and compare the performance of teams and players across the top five European leagues: Serie A in Italy, Liga Femenina in Spain, Women's Super League in England, Bundesliga Frauen in Germany, and Division 1 Feminin in France. The dataset provides records of each individual match that occurred within these leagues during the tracked season(s), as well as a range of performance metrics for both teams and players.
To use this dataset effectively it is important to understand which columns are available, as described above. By exploring different combinations of team-level versus player-level data you will be able to identify correlations between certain performance metrics for teams or players that provide insights about female football success across Europe.
Once you’re ready to start exploring the data there are several approaches you may take from visualizing your data via bar or line graphs with Python Matplotlib or Seaborn packages; correlating team-level versus player-level statistics such as number of wins (W) compared against goalkeeper saves (Saves); or performing more complicated regression analyses on your data that explore how different features like time played (Min) can predict goals scored (Goals_FK). Each approach provides unique insights into trends within female football success.
No matter how you choose to analyze this dataset it is important to note that trendlines may shift from year-to year -- so make sure you use consistent periods when comparing changes between seasons! It is also helpful to break down aggregate results by country when analyzing different trends across Europe so consider running separate analyses for each country instead aggregating them all together at once. Using this stepwise approach we hope that through careful exploration of the female football success will begin ‘uncovering’!
Analyzing the effect of player performance metrics on team success and vice versa: Using this dataset, it is possible to analyze how changes in different player performance metrics might affect overall team performance (e.g. goals scored or allowed, clean sheets). With further analysis, correlations can be drawn between teams’ and players’ performances under different match-day conditions such as travel distance or surface type.
Examining trends in the development of female football: This data set spans multiple seasons, making it possible to evaluate any general trends in aspects such as the average age of the players across countries and how that affects their performances; or identifying any underused opportunities available for young talented footballers in specific countries which could be benefitted from improvisations by these countries' governing bodies;
Benchmark positions used among teams versus outside experts’ opinions: One clever use for this dataset can be to compare positional performances between expert opinions from scouts with actual field results from teams using those positions within each country's top leagues and analyzing areas where consensus is reached upon versus discrepancies found throughout the analyzed data samples . For example, one may cross-examine national team call up rosters with squad selections for clubs’ top female divisions - finding anomalies not spotted prior by those making roster decisions - thereby potentially deriving more informed decisions with regards to selecting position holders based on tangible facts rather than focusing merely on biased subjective eye tests over which player should officially take a particular spot on a lineup card due to proximity or existing relationships attracted through media attention etc..
If you use this dataset in your research, please credit the original authors.
Data Source
License: CC0 1.0 Universal (CC0 1.0) - Public Domain Dedication
No Copyright - You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. See Other Information.
File: matches-checkpoint.csv
| Column name | Description |
|---|---|
| Wk | Week of the season. (Integer) |
| Day | Day of the week. (String) |
| Date | Date of the match. (Date) |
| Time | Time of the match. (Time) |
| Home | Home team. (String) |
| xGHome | Expected goals for the home team. (Float) |
| Score | Final score of the match. (String) |
| xGAway | Expected goals for the away team. (Float) |
| xPHome | Expected points for the home team. (Float) |
| xPAway | Expected points for the away team. (Float) |
| ScoreHome | Final score of the home team. (Integer) |
| ScoreAway | Final score of the away team. (Integer) |
File: gk_players.csv
| Column name | Description |
|---|---|
| Rk | Rank of the player in the squad. (Integer) |
| Player | Name of the player. (String) |
| Nation | Nationality of the player. (String) |
| Pos | Position of the player. (String) |
| Squad | Name of the team the player is in. (String) |
| Age | Age of the player. (Integer) |
| Born | Year the player was born. (Integer) |
| MP | Number of matches played. (Integer) |
| Starts | Number of matches started. (Integer) |
| Min | Number of minutes played. (Integer) |
| GA | Number of goals allowed. (Integer) |
| SoTA | Number of shots on target allowed. (Integer) |
| Saves | Number of saves made. (Integer) |
| W | Number of wins. (Integer) |
| D | Number of draws. (Integer) |
| L | Number of losses. (Integer) |
| CS | Number of clean sheets. (Integer) |
| PKatt | Number of penalties attempted. (Integer) |
| PKA | Number of penalties allowed. (Integer) |
| PKsv | Number of penalties saved. (Integer) |
| PKm | Number of penalties missed. (Integer) |
| Matches | Number of matches played. (Integer) |
| Goals_FK | Number of goals scored from free kicks. (Integer) |
| Goals_CK | Number of goals scored from corner kicks. (Integer) |
| Goals_OG | Number of goals scored from own goals. (Integer) |
| PSxG | Expected goals per shot on target. (Float) |
| PSxG/SoT | Expected goals per shot on target. (Float) |
| PSxG+/- | Difference between expected goals and actual goals. (Float) |
| Launched_Cmp | Number of successful launcher passes. (Integer) |
| Launched_Att | Number of attempted launcher passes. (Integer) |
| Passes_Att | Number of passes attempted. (Integer) |
| Passes_Thr | |
| Passes_AvgLen |
File: gk_teams.csv
| Column name | Description |
|---|---|
| Squad | Name of the team the player is in. (String) |
| MP | Number of matches played. (Integer) |
| Starts | Number of matches started. (Integer) |
| Min | Number of minutes played. (Integer) |
| GA | Number of goals allowed. (Integer) |
| SoTA | Number of shots on target allowed. (Integer) |
| Saves | Number of saves made. (Integer) |
| W | Number of wins. (Integer) |
| D | Number of draws. (Integer) |
| L | Number of losses. (Integer) |
| CS | Number of clean sheets. (Integer) |
| PKatt | Number of penalties attempted. (Integer) |
| PKA | Number of penalties allowed. (Integer) |
| PKsv | Number of penalties saved. (Integer) |
| PKm | Number of penalties missed. (Integer) |
| Goals_FK | Number of goals scored from free kicks. (Integer) |
| Goals_CK | Number of goals scored from corner kicks. (Integer) |
| Goals_OG | Number of goals scored from own goals. (Integer) |
| PSxG | Expected goals per shot on target. (Float) |
| PSxG/SoT | Expected goals per shot on target. (Float) |
| PSxG+/- | Difference between expected goals and actual goals. (Float) |
| Launched_Cmp | Number of successful launcher passes. (Integer) |
| Launched_Att | Number of attempted launcher passes. (Integer) |
| Passes_Att | Number of passes attempted. (Integer) |
| Passes_Thr | |
| Passes_AvgLen |
File: matches.csv
| Column name | Description |
|---|---|
| Wk | Week of the season. (Integer) |
| Day | Day of the week. (String) |
| Date | Date of the match. (Date) |
| Time | Time of the match. (Time) |
| Home | Home team. (String) |
| xGHome | Expected goals for the home team. (Float) |
| Score | Final score of the match. (String) |
| xGAway | Expected goals for the away team. (Float) |
| xPHome | Expected points for the home team. (Float) |
| xPAway | Expected points for the away team. (Float) |
| ScoreHome | Final score of the home team. (Integer) |
| ScoreAway | Final score of the away team. (Integer) |
If you use this dataset in your research, please credit the original authors.
If you use this dataset in your research, please credit .
CREATE TABLE all_players (
"player" VARCHAR,
"nation" VARCHAR,
"pos" VARCHAR,
"squad" VARCHAR,
"age" VARCHAR,
"born" DOUBLE,
"mp" BIGINT,
"starts" BIGINT,
"min" BIGINT,
"gls" BIGINT,
"ast" BIGINT,
"g_pk" BIGINT,
"pk" BIGINT,
"pkatt" BIGINT,
"crdy" BIGINT,
"crdr" BIGINT,
"xg" DOUBLE,
"npxg" DOUBLE,
"xag" DOUBLE,
"player_id" VARCHAR,
"squad_id" VARCHAR,
"sh" DOUBLE,
"sot" DOUBLE,
"g_by_sh" DOUBLE,
"g_by_sot" DOUBLE,
"dist" DOUBLE,
"fk" DOUBLE,
"npxg_by_sh" DOUBLE,
"g_xg" DOUBLE,
"np_g_xg" DOUBLE,
"total_cmp" BIGINT,
"total_att" DOUBLE,
"total_totdist" DOUBLE,
"total_prgdist" DOUBLE,
"xa" DOUBLE,
"a_xag" DOUBLE,
"kp" DOUBLE,
"lastthird" DOUBLE,
"ppa" DOUBLE,
"crspa" DOUBLE,
"prog" DOUBLE,
"sca" DOUBLE,
"sca_passlive" DOUBLE,
"sca_passdead" DOUBLE,
"sca_drib" DOUBLE,
"sca_sh" DOUBLE,
"sca_fld" DOUBLE,
"sca_def" DOUBLE,
"gca" DOUBLE,
"gca_passlive" DOUBLE,
"gca_passdead" DOUBLE,
"gca_drib" DOUBLE,
"gca_sh" DOUBLE,
"gca_fld" DOUBLE,
"gca_def" DOUBLE,
"tackles_tkl" DOUBLE,
"tackles_tklw" DOUBLE,
"tackles_def3rd" DOUBLE,
"tackles_mid3rd" DOUBLE,
"tackles_att3rd" DOUBLE,
"vsdribbles_tkl" DOUBLE,
"vsdribbles_att" DOUBLE,
"vsdribbles_past" DOUBLE,
"blocks_blocks" DOUBLE,
"blocks_sh" DOUBLE,
"blocks_pass" DOUBLE,
"int" DOUBLE,
"tkl_plus_int" DOUBLE,
"clr" DOUBLE,
"err" DOUBLE,
"touches_touches" DOUBLE,
"touches_defpen" DOUBLE,
"touches_def3rd" DOUBLE,
"touches_mid3rd" DOUBLE,
"touches_att3rd" DOUBLE,
"touches_attpen" DOUBLE,
"touches_live" DOUBLE,
"dribbles_succ" DOUBLE,
"dribbles_att" DOUBLE,
"dribbles_mis" DOUBLE,
"dribbles_dis" DOUBLE,
"receiving_rec" DOUBLE,
"receiving_prog" DOUBLE,
"mn_by_mp" DOUBLE,
"mn_by_start" DOUBLE,
"compl" BIGINT,
"subs" BIGINT,
"mn_by_sub" DOUBLE,
"unsub" DOUBLE,
"ts_ppm" DOUBLE,
"ts_ong" DOUBLE,
"ts_onga" DOUBLE,
"ts_diff" DOUBLE,
"ts_on_off" DOUBLE,
"ts_xg_onxg" DOUBLE -- TS(xG) OnxG,
"ts_xg_onxga" DOUBLE -- TS(xG) OnxGA,
"ts_xg_xgdiff" DOUBLE -- TS(xG) XGDiff,
"ts_xg_on_off" DOUBLE -- TS(xG) On-Off,
"n_2crdy" BIGINT -- 2CrdY,
"fls" DOUBLE
);CREATE TABLE all_players_checkpoint (
"player" VARCHAR,
"nation" VARCHAR,
"pos" VARCHAR,
"squad" VARCHAR,
"age" VARCHAR,
"born" DOUBLE,
"mp" BIGINT,
"starts" BIGINT,
"min" BIGINT,
"gls" BIGINT,
"ast" BIGINT,
"g_pk" BIGINT,
"pk" BIGINT,
"pkatt" BIGINT,
"crdy" BIGINT,
"crdr" BIGINT,
"xg" DOUBLE,
"npxg" DOUBLE,
"xag" DOUBLE,
"player_id" VARCHAR,
"squad_id" VARCHAR,
"sh" DOUBLE,
"sot" DOUBLE,
"g_by_sh" DOUBLE,
"g_by_sot" DOUBLE,
"dist" DOUBLE,
"fk" DOUBLE,
"npxg_by_sh" DOUBLE,
"g_xg" DOUBLE,
"np_g_xg" DOUBLE,
"total_cmp" DOUBLE,
"total_att" DOUBLE,
"total_totdist" DOUBLE,
"total_prgdist" DOUBLE,
"xa" DOUBLE,
"a_xag" DOUBLE,
"kp" DOUBLE,
"lastthird" DOUBLE,
"ppa" DOUBLE,
"crspa" DOUBLE,
"prog" DOUBLE,
"sca" DOUBLE,
"sca_passlive" DOUBLE,
"sca_passdead" DOUBLE,
"sca_drib" DOUBLE,
"sca_sh" DOUBLE,
"sca_fld" DOUBLE,
"sca_def" DOUBLE,
"gca" DOUBLE,
"gca_passlive" DOUBLE,
"gca_passdead" DOUBLE,
"gca_drib" DOUBLE,
"gca_sh" DOUBLE,
"gca_fld" DOUBLE,
"gca_def" DOUBLE,
"tackles_tkl" DOUBLE,
"tackles_tklw" DOUBLE,
"tackles_def3rd" DOUBLE,
"tackles_mid3rd" DOUBLE,
"tackles_att3rd" DOUBLE,
"vsdribbles_tkl" DOUBLE,
"vsdribbles_att" DOUBLE,
"vsdribbles_past" DOUBLE,
"blocks_blocks" DOUBLE,
"blocks_sh" DOUBLE,
"blocks_pass" DOUBLE,
"int" DOUBLE,
"tkl_plus_int" DOUBLE,
"clr" DOUBLE,
"err" DOUBLE,
"touches_touches" DOUBLE,
"touches_defpen" DOUBLE,
"touches_def3rd" DOUBLE,
"touches_mid3rd" DOUBLE,
"touches_att3rd" DOUBLE,
"touches_attpen" DOUBLE,
"touches_live" DOUBLE,
"dribbles_succ" DOUBLE,
"dribbles_att" DOUBLE,
"dribbles_mis" DOUBLE,
"dribbles_dis" DOUBLE,
"receiving_rec" DOUBLE,
"receiving_prog" DOUBLE,
"mn_by_mp" DOUBLE,
"mn_by_start" DOUBLE,
"compl" BIGINT,
"subs" BIGINT,
"mn_by_sub" DOUBLE,
"unsub" DOUBLE,
"ts_ppm" DOUBLE,
"ts_ong" DOUBLE,
"ts_onga" DOUBLE,
"ts_diff" DOUBLE,
"ts_on_off" DOUBLE,
"ts_xg_onxg" DOUBLE -- TS(xG) OnxG,
"ts_xg_onxga" DOUBLE -- TS(xG) OnxGA,
"ts_xg_xgdiff" DOUBLE -- TS(xG) XGDiff,
"ts_xg_on_off" DOUBLE -- TS(xG) On-Off,
"n_2crdy" BIGINT -- 2CrdY,
"fls" DOUBLE
);CREATE TABLE all_teams (
"squad" VARCHAR,
"n__pl" BIGINT -- #Pl,
"age" DOUBLE,
"poss" DOUBLE,
"mp" BIGINT,
"starts" BIGINT,
"min" BIGINT,
"gls" BIGINT,
"ast" BIGINT,
"g_pk" BIGINT,
"pk" BIGINT,
"pkatt" BIGINT,
"crdy" BIGINT,
"crdr" BIGINT,
"xg" DOUBLE,
"npxg" DOUBLE,
"xag" DOUBLE,
"squad_id" VARCHAR,
"league_id" BIGINT,
"sh" BIGINT,
"sot" BIGINT,
"g_by_sh" DOUBLE,
"g_by_sot" DOUBLE,
"dist" DOUBLE,
"fk" BIGINT,
"npxg_by_sh" DOUBLE,
"g_xg" DOUBLE,
"np_g_xg" DOUBLE,
"total_cmp" BIGINT,
"total_att" BIGINT,
"total_totdist" BIGINT,
"total_prgdist" BIGINT,
"xa" DOUBLE,
"a_xag" DOUBLE,
"kp" BIGINT,
"lastthird" BIGINT,
"ppa" BIGINT,
"crspa" BIGINT,
"prog" BIGINT,
"sca" BIGINT,
"sca_passlive" BIGINT,
"sca_passdead" BIGINT,
"sca_drib" BIGINT,
"sca_sh" BIGINT,
"sca_fld" BIGINT,
"sca_def" BIGINT,
"gca" BIGINT,
"gca_passlive" BIGINT,
"gca_passdead" BIGINT,
"gca_drib" BIGINT,
"gca_sh" BIGINT,
"gca_fld" BIGINT,
"gca_def" BIGINT,
"tackles_tkl" BIGINT,
"tackles_tklw" BIGINT,
"tackles_def3rd" BIGINT,
"tackles_mid3rd" BIGINT,
"tackles_att3rd" BIGINT,
"vsdribbles_tkl" BIGINT,
"vsdribbles_att" BIGINT,
"vsdribbles_past" BIGINT,
"blocks_blocks" BIGINT,
"blocks_sh" BIGINT,
"blocks_pass" BIGINT,
"int" BIGINT,
"tkl_plus_int" BIGINT,
"clr" BIGINT,
"err" BIGINT,
"touches_touches" BIGINT,
"touches_defpen" BIGINT,
"touches_def3rd" BIGINT,
"touches_mid3rd" BIGINT,
"touches_att3rd" BIGINT,
"touches_attpen" BIGINT,
"touches_live" BIGINT,
"dribbles_succ" BIGINT,
"dribbles_att" BIGINT,
"dribbles_mis" BIGINT,
"dribbles_dis" BIGINT,
"receiving_rec" BIGINT,
"receiving_prog" BIGINT,
"mn_by_mp" BIGINT,
"mn_by_start" BIGINT,
"compl" BIGINT,
"subs" BIGINT,
"mn_by_sub" BIGINT,
"unsub" BIGINT,
"ts_ppm" DOUBLE,
"ts_ong" BIGINT,
"ts_onga" BIGINT,
"ts_diff" BIGINT,
"ts_xg_onxg" DOUBLE -- TS(xG) OnxG,
"ts_xg_onxga" DOUBLE -- TS(xG) OnxGA,
"ts_xg_xgdiff" DOUBLE -- TS(xG) XGDiff,
"n_2crdy" BIGINT -- 2CrdY,
"fls" BIGINT,
"fld" BIGINT,
"off" BIGINT,
"crs" BIGINT,
"tklw" BIGINT
);CREATE TABLE gk_players (
"rk" BIGINT,
"player" VARCHAR,
"nation" VARCHAR,
"pos" VARCHAR,
"squad" VARCHAR,
"age" VARCHAR,
"born" BIGINT,
"mp" BIGINT,
"starts" BIGINT,
"min" BIGINT,
"ga" DOUBLE,
"sota" DOUBLE,
"saves" DOUBLE,
"w" BIGINT,
"d" BIGINT,
"l" BIGINT,
"cs" BIGINT,
"pkatt" BIGINT,
"pka" BIGINT,
"pksv" BIGINT,
"pkm" BIGINT,
"matches" VARCHAR,
"goals_fk" DOUBLE,
"goals_ck" DOUBLE,
"goals_og" DOUBLE,
"psxg" DOUBLE,
"psxg_sot" DOUBLE,
"psxg_3588aa" DOUBLE -- PSxG+/-,
"launched_cmp" DOUBLE,
"launched_att" DOUBLE,
"passes_att" DOUBLE,
"passes_thr" DOUBLE,
"passes_avglen" DOUBLE,
"goal_kicks_att" DOUBLE,
"goal_kicks_avglen" DOUBLE,
"crosses_opp" DOUBLE,
"crosses_stp" DOUBLE,
"sweeper_opa" DOUBLE -- Sweeper #OPA,
"sweeper_avgdist" DOUBLE,
"player_id" VARCHAR,
"nation_id" VARCHAR,
"squad_id" VARCHAR,
"matches_id" VARCHAR
);CREATE TABLE gk_teams (
"squad" VARCHAR,
"n__pl" BIGINT -- # Pl,
"mp" BIGINT,
"starts" BIGINT,
"min" BIGINT,
"ga" BIGINT,
"sota" BIGINT,
"saves" BIGINT,
"w" BIGINT,
"d" BIGINT,
"l" BIGINT,
"cs" BIGINT,
"pkatt" BIGINT,
"pka" BIGINT,
"pksv" BIGINT,
"pkm" BIGINT,
"squad_id" VARCHAR,
"league_id" BIGINT,
"goals_ga" BIGINT,
"goals_pka" BIGINT,
"goals_fk" BIGINT,
"goals_ck" BIGINT,
"goals_og" BIGINT,
"psxg" DOUBLE,
"psxg_sot" DOUBLE,
"psxg_3588aa" DOUBLE -- PSxG+/-,
"launched_cmp" BIGINT,
"launched_att" BIGINT,
"passes_att" BIGINT,
"passes_thr" BIGINT,
"passes_avglen" DOUBLE,
"goal_kicks_att" BIGINT,
"goal_kicks_avglen" DOUBLE,
"crosses_opp" BIGINT,
"crosses_stp" BIGINT,
"sweeper_opa" BIGINT -- Sweeper #OPA,
"sweeper_avgdist" DOUBLE
);CREATE TABLE matches (
"wk" BIGINT,
"day" VARCHAR,
"date" TIMESTAMP,
"time" VARCHAR,
"home" VARCHAR,
"xghome" DOUBLE,
"score" VARCHAR,
"xgaway" DOUBLE,
"away" VARCHAR,
"home_id" VARCHAR,
"away_id" VARCHAR,
"match_id" VARCHAR,
"league_id" BIGINT,
"xphome" DOUBLE,
"xpaway" DOUBLE,
"scorehome" BIGINT,
"scoreaway" BIGINT
);CREATE TABLE matches_checkpoint (
"wk" BIGINT,
"day" VARCHAR,
"date" TIMESTAMP,
"time" VARCHAR,
"home" VARCHAR,
"xghome" DOUBLE,
"score" VARCHAR,
"xgaway" DOUBLE,
"away" VARCHAR,
"home_id" VARCHAR,
"away_id" VARCHAR,
"match_id" VARCHAR,
"league_id" BIGINT,
"xphome" DOUBLE,
"xpaway" DOUBLE,
"scorehome" BIGINT,
"scoreaway" BIGINT
);Anyone who has the link will be able to view this.