Football Club Analytics Set (EU)
Overview
A club-scale football analytics warehouse built for serious analysis and modelling. Follow the modelled Valdoro Calcio through eleven seasons from 2015/16 to 2025/26, including two seasons in the Italian First Division, with every league fixture in its division and every club cup tie. The 58 linked tables cover players, registrations, contracts, club tenure and transfer economics, match events and xG inputs, lineups and tactical phases, training and GPS output, daily wellness and availability, injuries and rehabilitation, leakage-safe prediction features, salaries and club finance. The 1,410 media assets add season-linked headshots and full-body images with plain green jerseys, plain white shorts and detailed varied boots, plus 45 distinct club crest pairs delivered separately. Player uniforms contain no crest, maker mark, sponsor, text, jersey number or shorts number. Match and goal analysis remains available through the detailed relational facts and coordinate-based goal reconstructions. Results are simulated once and standings, Elo, aggregates and predictive features are derived and reconciled from that shared history.
Squad and Performance
Four players from the squad, with the career numbers the dataset records for them. Every value below is read from the packaged tables.

Row Counts by Table
Counted from the files that ship, not estimated.
| Table | Rows |
|---|---|
| players | 210 |
| seasons | 11 |
| competitions | 6 |
| football_clubs | 45 |
| club_media | 45 |
| stadiums | 45 |
| match_officials | 90 |
| player_registrations | 330 |
| player_media | 450 |
| player_contracts | 330 |
| transfers | 332 |
| player_club_history | 210 |
| coaches | 12 |
| coach_spells | 12 |
| technical_staff | 72 |
| tactical_profiles | 14 |
| match_tactics | 908 |
| match_tactical_phases | 1,816 |
| set_piece_routines | 40 |
| set_piece_executions | 4,734 |
| matches | 4,216 |
| match_team_stats | 8,432 |
| match_lineups | 8,155 |
| match_player_stats | 7,258 |
| match_events | 633,710 |
| match_shots | 11,784 |
| goals | 11,412 |
| goal_reconstructions | 11,412 |
| substitutions | 2,264 |
| disciplinary | 1,199 |
| standings_snapshots | 8,360 |
| playoff_ties | 54 |
| season_outcomes | 220 |
| training_sessions | 2,870 |
| training_participation | 86,100 |
| physical_output | 89,195 |
| wellness_daily | 120,540 |
| load_monitoring | 120,540 |
| injuries | 330 |
| medical_treatments | 2,040 |
| rehabilitation_milestones | 2,640 |
| fitness_tests | 7,920 |
| player_availability_daily | 120,540 |
| international_duty | 252 |
| player_season_aggregates | 602 |
| team_season_aggregates | 267 |
| elo_ratings | 8,432 |
| market_odds | 29,512 |
| match_prediction_features | 8,432 |
| match_attendance | 4,216 |
| academy_players | 120 |
| scouting_reports | 900 |
| player_salary_history | 330 |
| club_financial_transactions | 1,320 |
| club_season_financials | 11 |
| operating_expenses | 1,056 |
| commercial_contracts | 55 |
| club_facilities | 6 |
Table Relationships
One parent record and seven child tables, each joined back on the same key.
Schema
Every table ships with typed columns, referential integrity, and documentation.
| Column | Type | Description |
|---|---|---|
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| first_name | varchar(16) | Human-readable first name. All people and organisations are fictional. |
| last_name | varchar(16) | Human-readable last name. All people and organisations are fictional. |
| display_name | varchar(24) | Human-readable display name. All people and organisations are fictional. |
| date_of_birth | date | Date of birth for the record. |
| age_at_data_as_of | integer | Age at data as of for the record. |
| nationality_code | varchar(8) | Stable code for nationality; its companion description carries the meaning. |
+15 more columns in players. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| season_label | varchar(16) | Season label for the record. |
| tier | integer | Tier for the record. |
| division_name | varchar(32) | Human-readable division name. All people and organisations are fictional. |
| division_name_description | varchar(72) | Human-readable meaning of division name. |
| start_date | date | start date as an ISO 8601 calendar date. |
| end_date | date | end date as an ISO 8601 calendar date. |
+10 more columns in seasons. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| competition_name | varchar(40) | Human-readable competition name. All people and organisations are fictional. |
| competition_format | varchar(16) | Competition format for the record. |
| competition_format_description | varchar(72) | Human-readable meaning of competition format. |
| tier | integer | Tier for the record. |
| legs | integer | Legs for the record. |
| extra_time_allowed | boolean | Extra time allowed for the record. |
+4 more columns in competitions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| club_name | varchar(32) | Human-readable club name. All people and organisations are fictional. |
| short_name | varchar(24) | Human-readable short name. All people and organisations are fictional. |
| club_code | varchar(8) | Stable code for club; its companion description carries the meaning. |
| city | varchar(24) | City for the record. |
| region | varchar(32) | Region for the record. |
| country_code | varchar(8) | Stable code for country; its companion description carries the meaning. |
+10 more columns in football_clubs. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| club_media_id | varchar(8) | Stable fictional identifier for club media; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| club_name | varchar(32) | Human-readable club name. All people and organisations are fictional. |
| logo_svg_file | varchar(40) | Dataset-relative SVG path to the fictional club crest. |
| logo_png_file | varchar(40) | Dataset-relative PNG fallback path to the fictional club crest. |
| primary_colour | varchar(16) | Primary colour for the record. |
| secondary_colour | varchar(16) | Secondary colour for the record. |
+3 more columns in club_media. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| stadium_id | varchar(8) | Stable fictional identifier for stadium; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| stadium_name | varchar(24) | Human-readable stadium name. All people and organisations are fictional. |
| city | varchar(24) | City for the record. |
| region | varchar(32) | Region for the record. |
| capacity | integer | Capacity for the record. |
| opened_year | integer | Opened year for the record. |
+10 more columns in stadiums. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| official_id | varchar(8) | Stable fictional identifier for official; use it for declared joins. |
| official_name | varchar(24) | Human-readable official name. All people and organisations are fictional. |
| birth_year | integer | Birth year for the record. |
| region | varchar(32) | Region for the record. |
| seniority_band | varchar(16) | Seniority band for the record. |
| seniority_band_description | varchar(56) | Human-readable meaning of seniority band. |
| career_matches_before_dataset | integer | Career matches before dataset for the record. |
+4 more columns in match_officials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| registration_id | varchar(16) | Stable fictional identifier for registration; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| club_name | varchar(24) | Human-readable club name. All people and organisations are fictional. |
| squad_number | varchar(8) | Squad number for the record. |
| squad_list_code | varchar(8) | Stable code for squad list; its companion description carries the meaning. |
+13 more columns in player_registrations. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| player_media_id | varchar(16) | Stable fictional identifier for player media; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| player_name | varchar(24) | Human-readable player name. All people and organisations are fictional. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| registration_id | varchar(16) | Stable fictional identifier for registration; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| club_name | varchar(24) | Human-readable club name. All people and organisations are fictional. |
+11 more columns in player_media. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| contract_id | varchar(16) | Stable fictional identifier for contract; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| signed_on | date | signed on as an ISO 8601 calendar date. |
| expires_on | date | expires on as an ISO 8601 calendar date. |
| contract_type | varchar(16) | Contract type for the record. |
| contract_type_description | varchar(48) | Human-readable meaning of contract type. |
+9 more columns in player_contracts. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| transfer_id | varchar(16) | Stable fictional identifier for transfer; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| direction | varchar(16) | Direction for the record. |
| direction_description | varchar(56) | Human-readable meaning of direction. |
| window_code | varchar(8) | Stable code for window; its companion description carries the meaning. |
+12 more columns in transfers. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| player_club_history_id | varchar(16) | Stable fictional identifier for player club history; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| player_name | varchar(24) | Human-readable player name. All people and organisations are fictional. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| club_name | varchar(24) | Human-readable club name. All people and organisations are fictional. |
| entry_season_id | varchar(16) | Stable fictional identifier for entry season; use it for declared joins. |
| exit_season_id | varchar(16) | Stable fictional identifier for exit season; use it for declared joins. |
+20 more columns in player_club_history. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| coach_id | varchar(8) | Stable fictional identifier for coach; use it for declared joins. |
| coach_name | varchar(24) | Human-readable coach name. All people and organisations are fictional. |
| date_of_birth | date | Date of birth for the record. |
| nationality_code | varchar(8) | Stable code for nationality; its companion description carries the meaning. |
| nationality_name | varchar(16) | Human-readable nationality name. All people and organisations are fictional. |
| coaching_licence_code | varchar(8) | Stable code for coaching licence; its companion description carries the meaning. |
| coaching_licence_description | varchar(72) | Human-readable meaning of coaching licence. |
+4 more columns in coaches. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| spell_id | varchar(8) | Stable fictional identifier for spell; use it for declared joins. |
| coach_id | varchar(8) | Stable fictional identifier for coach; use it for declared joins. |
| appointed_on | date | appointed on as an ISO 8601 calendar date. |
| departed_on | date | departed on as an ISO 8601 calendar date. |
| role_code | varchar(16) | Stable code for role; its companion description carries the meaning. |
| role_description | varchar(56) | Human-readable meaning of role. |
| departure_reason_code | varchar(24) | Stable code for departure reason; its companion description carries the meaning. |
+7 more columns in coach_spells. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| staff_id | varchar(16) | Stable fictional identifier for staff; use it for declared joins. |
| spell_id | varchar(8) | Stable fictional identifier for spell; use it for declared joins. |
| staff_name | varchar(24) | Human-readable staff name. All people and organisations are fictional. |
| role_code | varchar(24) | Stable code for role; its companion description carries the meaning. |
| role_description | varchar(80) | Human-readable meaning of role. |
| start_date | date | start date as an ISO 8601 calendar date. |
| end_date | date | end date as an ISO 8601 calendar date. |
+3 more columns in technical_staff. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| profile_id | varchar(16) | Stable fictional identifier for profile; use it for declared joins. |
| spell_id | varchar(8) | Stable fictional identifier for spell; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| base_formation | varchar(16) | base formation, using standard goalkeeper-to-forward notation. |
| in_possession_shape | varchar(16) | in possession shape, using standard goalkeeper-to-forward notation. |
| out_of_possession_shape | varchar(16) | out of possession shape, using standard goalkeeper-to-forward notation. |
| buildup_style_code | varchar(24) | Stable code for buildup style; its companion description carries the meaning. |
+14 more columns in tactical_profiles. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| match_tactic_id | varchar(16) | Stable fictional identifier for match tactic; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| planned_formation | varchar(16) | planned formation, using standard goalkeeper-to-forward notation. |
| actual_starting_formation | varchar(16) | actual starting formation, using standard goalkeeper-to-forward notation. |
| pressing_trigger_code | varchar(24) | Stable code for pressing trigger; its companion description carries the meaning. |
| pressing_trigger_description | varchar(80) | Human-readable meaning of pressing trigger. |
+11 more columns in match_tactics. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| phase_id | varchar(16) | Stable fictional identifier for phase; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| minute_from | integer | minute from as an ISO 8601 calendar date. |
| minute_to | integer | minute to as an ISO 8601 calendar date. |
| formation | varchar(16) | formation, using standard goalkeeper-to-forward notation. |
| trigger_code | varchar(24) | Stable code for trigger; its companion description carries the meaning. |
+8 more columns in match_tactical_phases. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| routine_id | varchar(8) | Stable fictional identifier for routine; use it for declared joins. |
| routine_name | varchar(32) | Human-readable routine name. All people and organisations are fictional. |
| set_piece_type | varchar(16) | Set piece type for the record. |
| set_piece_type_description | varchar(24) | Human-readable meaning of set piece type. |
| delivery_type | varchar(16) | Delivery type for the record. |
| delivery_type_description | varchar(56) | Human-readable meaning of delivery type. |
| target_zone | varchar(24) | Target zone for the record. |
+9 more columns in set_piece_routines. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| execution_id | varchar(16) | Stable fictional identifier for execution; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| routine_id | varchar(8) | Stable fictional identifier for routine; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| minute | integer | minute in regulation match minutes. |
| delivery_zone | varchar(24) | Delivery zone for the record. |
+11 more columns in set_piece_executions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| kickoff_date | date | kickoff date as an ISO 8601 calendar date. |
| kickoff_local_time | varchar(16) | Kickoff local time for the record. |
| matchday | integer | Matchday for the record. |
| round_name | varchar(16) | Human-readable round name. All people and organisations are fictional. |
+26 more columns in matches. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| match_team_stat_id | varchar(16) | Stable fictional identifier for match team stat; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| opponent_club_id | varchar(8) | Stable fictional identifier for opponent club; use it for declared joins. |
| home_away | varchar(16) | Home away for the record. |
| home_away_description | varchar(48) | Human-readable meaning of home away. |
| goals_for | integer | Goals for for the record. |
+47 more columns in match_team_stats. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| lineup_id | varchar(16) | Stable fictional identifier for lineup; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| selection_role | varchar(16) | Selection role for the record. |
| selection_role_description | varchar(48) | Human-readable meaning of selection role. |
| shirt_number | varchar(8) | Shirt number for the record. |
+13 more columns in match_lineups. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| match_player_stat_id | varchar(16) | Stable fictional identifier for match player stat; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| minutes_played | integer | minutes played in minutes. |
| starter_flag | boolean | Boolean indicator for starter. |
| goals | integer | Goals for the record. |
+52 more columns in match_player_stats. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| event_id | varchar(16) | Stable fictional identifier for event; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| sequence_no | varchar(8) | Sequence no for the record. |
| period | integer | Match period: 1 for first half and 2 for second half. |
| minute | integer | minute in regulation match minutes. |
| second | integer | Second for the record. |
| event_type | varchar(16) | Event type for the record. |
+24 more columns in match_events. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| shot_id | varchar(16) | Stable fictional identifier for shot; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| source_event_id | varchar(16) | Stable fictional identifier for source event; use it for declared joins. |
| minute | integer | minute in regulation match minutes. |
| period | integer | Match period: 1 for first half and 2 for second half. |
+22 more columns in match_shots. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| goal_id | varchar(16) | Stable fictional identifier for goal; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| shot_id | varchar(16) | Stable fictional identifier for shot; use it for declared joins. |
| scoring_club_id | varchar(8) | Stable fictional identifier for scoring club; use it for declared joins. |
| scorer_player_id | varchar(16) | Stable fictional identifier for scorer player; use it for declared joins. |
| assist_player_id | varchar(16) | Stable fictional identifier for assist player; use it for declared joins. |
| second_assist_player_id | varchar(16) | Stable fictional identifier for second assist player; use it for declared joins. |
+20 more columns in goals. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| goal_reconstruction_id | varchar(16) | Stable fictional identifier for goal reconstruction; use it for declared joins. |
| goal_id | varchar(16) | Stable fictional identifier for goal; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| scoring_club_id | varchar(8) | Stable fictional identifier for scoring club; use it for declared joins. |
| scoring_club_name | varchar(32) | Human-readable scoring club name. All people and organisations are fictional. |
+25 more columns in goal_reconstructions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| substitution_id | varchar(16) | Stable fictional identifier for substitution; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| minute | integer | minute in regulation match minutes. |
| period | integer | Match period: 1 for first half and 2 for second half. |
| score_state | varchar(32) | Score state for the record. |
| player_in_id | varchar(16) | Stable fictional identifier for player in; use it for declared joins. |
+9 more columns in substitutions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| disciplinary_id | varchar(16) | Stable fictional identifier for disciplinary; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| card_colour | varchar(16) | Card colour for the record. |
| card_colour_description | varchar(64) | Human-readable meaning of card colour. |
| minute | integer | minute in regulation match minutes. |
+10 more columns in disciplinary. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| standing_id | varchar(16) | Stable fictional identifier for standing; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| matchday | integer | Matchday for the record. |
| matchday_date | date | matchday date as an ISO 8601 calendar date. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| position | integer | Position for the record. |
| played | integer | Played for the record. |
+14 more columns in standings_snapshots. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| tie_id | varchar(16) | Stable fictional identifier for tie; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| round_name | varchar(16) | Human-readable round name. All people and organisations are fictional. |
| leg_number | varchar(8) | Leg number for the record. |
| home_club_id | varchar(8) | Stable fictional identifier for home club; use it for declared joins. |
| away_club_id | varchar(8) | Stable fictional identifier for away club; use it for declared joins. |
+10 more columns in playoff_ties. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| outcome_id | varchar(16) | Stable fictional identifier for outcome; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| final_position | integer | Final position for the record. |
| points | integer | points under three points for a win and one for a draw unless stated otherwise. |
| promoted_flag | boolean | Boolean indicator for promoted. |
| relegated_flag | boolean | Boolean indicator for relegated. |
+16 more columns in season_outcomes. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| session_id | varchar(16) | Stable fictional identifier for session; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| session_date | date | session date as an ISO 8601 calendar date. |
| microcycle_day_code | varchar(8) | Stable code for microcycle day; its companion description carries the meaning. |
| microcycle_day_description | varchar(96) | Human-readable meaning of microcycle day. |
| session_type | varchar(16) | Session type for the record. |
| session_type_description | varchar(64) | Human-readable meaning of session type. |
+9 more columns in training_sessions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| participation_id | varchar(16) | Stable fictional identifier for participation; use it for declared joins. |
| session_id | varchar(16) | Stable fictional identifier for session; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| participation_status | varchar(24) | Participation status for the record. |
| participation_status_description | varchar(64) | Human-readable meaning of participation status. |
| reason_code | varchar(32) | Stable code for reason; its companion description carries the meaning. |
| reason_description | varchar(32) | Human-readable meaning of reason. |
+6 more columns in training_participation. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| output_id | varchar(16) | Stable fictional identifier for output; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| session_id | varchar(16) | Stable fictional identifier for session; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| output_date | date | output date as an ISO 8601 calendar date. |
| exposure_type | varchar(16) | Exposure type for the record. |
| exposure_type_description | varchar(56) | Human-readable meaning of exposure type. |
+24 more columns in physical_output. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| wellness_id | varchar(16) | Stable fictional identifier for wellness; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| wellness_date | date | wellness date as an ISO 8601 calendar date. |
| submission_status | varchar(16) | Submission status for the record. |
| submission_status_description | varchar(104) | Human-readable meaning of submission status. |
| sleep_duration_hours | numeric(4,1) | sleep duration in hours. |
| sleep_quality_1_5 | integer | sleep quality self-report on a 1 to 5 scale. |
+13 more columns in wellness_daily. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| load_id | varchar(16) | Stable fictional identifier for load; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| monitoring_date | date | monitoring date as an ISO 8601 calendar date. |
| daily_load_au | numeric(7,1) | Sum of session load and match-minute load for the player-day, in arbitrary units. |
| acute_load_7d_au | numeric(7,1) | Rolling sum of daily load over the current day and previous six days, in arbitrary units. |
| chronic_load_28d_au | numeric(7,1) | Rolling 28-day load divided by four to express a weekly-equivalent chronic load, in arbitrary units. |
| acute_chronic_workload_ratio | numeric(6,3) | acute_load_7d_au divided by chronic_load_28d_au; empty until chronic load is non-zero. |
+12 more columns in load_monitoring. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| injury_id | varchar(16) | Stable fictional identifier for injury; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| session_id | varchar(16) | Stable fictional identifier for session; use it for declared joins. |
| onset_date | date | onset date as an ISO 8601 calendar date. |
| body_region_code | varchar(16) | Stable code for body region; its companion description carries the meaning. |
| body_region_description | varchar(16) | Human-readable meaning of body region. |
+20 more columns in injuries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| treatment_id | varchar(16) | Stable fictional identifier for treatment; use it for declared joins. |
| injury_id | varchar(16) | Stable fictional identifier for injury; use it for declared joins. |
| treatment_date | date | treatment date as an ISO 8601 calendar date. |
| modality_code | varchar(24) | Stable code for modality; its companion description carries the meaning. |
| modality_description | varchar(40) | Human-readable meaning of modality. |
| duration_min | integer | duration in minutes. |
| practitioner_role | varchar(24) | Practitioner role for the record. |
+3 more columns in medical_treatments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| milestone_id | varchar(16) | Stable fictional identifier for milestone; use it for declared joins. |
| injury_id | varchar(16) | Stable fictional identifier for injury; use it for declared joins. |
| stage_code | varchar(32) | Stable code for stage; its companion description carries the meaning. |
| stage_description | varchar(32) | Human-readable meaning of stage. |
| planned_date | date | planned date as an ISO 8601 calendar date. |
| achieved_date | date | achieved date as an ISO 8601 calendar date. |
| delay_days | integer | Delay days for the record. |
+3 more columns in rehabilitation_milestones. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| test_id | varchar(16) | Stable fictional identifier for test; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| test_date | date | test date as an ISO 8601 calendar date. |
| test_code | varchar(32) | Stable code for test; its companion description carries the meaning. |
| test_description | varchar(64) | Human-readable meaning of test. |
| value | numeric(8,2) | Value for the record. |
| unit | varchar(16) | Unit for the record. |
+6 more columns in fitness_tests. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| availability_id | varchar(16) | Stable fictional identifier for availability; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| availability_date | date | availability date as an ISO 8601 calendar date. |
| status_code | varchar(24) | Stable code for status; its companion description carries the meaning. |
| status_description | varchar(80) | Human-readable meaning of status. |
| reason_id | varchar(16) | Stable fictional identifier for reason; use it for declared joins. |
| days_in_current_status | integer | Days in current status for the record. |
+4 more columns in player_availability_daily. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| duty_id | varchar(16) | Stable fictional identifier for duty; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| national_team_name | varchar(40) | Human-readable national team name. All people and organisations are fictional. |
| level_code | varchar(16) | Stable code for level; its companion description carries the meaning. |
| level_description | varchar(56) | Human-readable meaning of level. |
| window_start | date | window start as an ISO 8601 calendar date. |
| window_end | date | window end as an ISO 8601 calendar date. |
+8 more columns in international_duty. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| aggregate_id | varchar(16) | Stable fictional identifier for aggregate; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| appearances | integer | Appearances for the record. |
| starts | integer | Starts for the record. |
| minutes | integer | minutes in minutes. |
+16 more columns in player_season_aggregates. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| team_aggregate_id | varchar(16) | Stable fictional identifier for team aggregate; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| competition_id | varchar(16) | Stable fictional identifier for competition; use it for declared joins. |
| matches | integer | Matches for the record. |
| points | integer | points under three points for a win and one for a draw unless stated otherwise. |
| goals_for | integer | Goals for for the record. |
+13 more columns in team_season_aggregates. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| rating_id | varchar(16) | Stable fictional identifier for rating; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| rating_date | date | rating date as an ISO 8601 calendar date. |
| opponent_club_id | varchar(8) | Stable fictional identifier for opponent club; use it for declared joins. |
| rating_before | numeric(9,3) | rating before in the declared modelled rating system. |
+10 more columns in elo_ratings. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| odds_id | varchar(16) | Stable fictional identifier for odds; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| market_code | varchar(24) | Stable code for market; its companion description carries the meaning. |
| market_description | varchar(56) | Human-readable meaning of market. |
| selection_code | varchar(16) | Stable code for selection; its companion description carries the meaning. |
| selection_description | varchar(32) | Human-readable meaning of selection. |
| opening_decimal_price | numeric(8,4) | Opening decimal price for the record. |
+8 more columns in market_odds. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| feature_id | varchar(16) | Stable fictional identifier for feature; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| opponent_club_id | varchar(8) | Stable fictional identifier for opponent club; use it for declared joins. |
| kickoff_date | date | kickoff date as an ISO 8601 calendar date. |
| home_away | varchar(16) | Home away for the record. |
| feature_source_cutoff | date | Latest kickoff date used by any feature. Empty when no prior match exists and otherwise strictly earlier than kickoff_date. |
+31 more columns in match_prediction_features. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| attendance_id | varchar(16) | Stable fictional identifier for attendance; use it for declared joins. |
| match_id | varchar(16) | Stable fictional identifier for match; use it for declared joins. |
| tickets_issued | integer | Tickets issued for the record. |
| turnstile_attendance | integer | turnstile attendance; zero is valid under a closed-doors restriction. |
| season_ticket_attendance | integer | season ticket attendance; zero is valid under a closed-doors restriction. |
| hospitality_attendance | integer | hospitality attendance; zero is valid under a closed-doors restriction. |
| away_supporter_attendance | integer | away supporter attendance; zero is valid under a closed-doors restriction. |
+7 more columns in match_attendance. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| academy_player_id | varchar(16) | Stable fictional identifier for academy player; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| team_level | varchar(16) | Team level for the record. |
| team_level_description | varchar(64) | Human-readable meaning of team level. |
| joined_academy_on | date | joined academy on as an ISO 8601 calendar date. |
| scholarship_flag | boolean | Boolean indicator for scholarship. |
+8 more columns in academy_players. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| report_id | varchar(16) | Stable fictional identifier for report; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| report_date | date | report date as an ISO 8601 calendar date. |
| observer_code | varchar(8) | Stable code for observer; its companion description carries the meaning. |
| observation_context | varchar(16) | Observation context for the record. |
| observation_context_description | varchar(64) | Human-readable meaning of observation context. |
| technical_score_1_10 | numeric(4,1) | technical score on a 1 to 10 scale. |
+11 more columns in scouting_reports. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| salary_id | varchar(16) | Stable fictional identifier for salary; use it for declared joins. |
| player_id | varchar(16) | Stable fictional identifier for player; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| contract_id | varchar(16) | Stable fictional identifier for contract; use it for declared joins. |
| currency | varchar(16) | Currency for the record. |
| annual_gross_salary_eur | numeric(11,2) | annual gross salary in euros. |
| estimated_bonus_eur | numeric(10,2) | estimated bonus in euros. |
+8 more columns in player_salary_history. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| financial_transaction_id | varchar(16) | Stable fictional identifier for financial transaction; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| posting_month | varchar(16) | Posting month for the record. |
| transaction_category | varchar(32) | Transaction category for the record. |
| transaction_category_description | varchar(32) | Human-readable meaning of transaction category. |
| revenue_expense_type | varchar(16) | Revenue expense type for the record. |
| revenue_expense_description | varchar(56) | Human-readable meaning of revenue expense. |
+5 more columns in club_financial_transactions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| financial_id | varchar(16) | Stable fictional identifier for financial; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| currency | varchar(16) | Currency for the record. |
| total_revenue_eur | numeric(12,2) | total revenue in euros. |
| matchday_revenue_eur | numeric(11,2) | matchday revenue in euros. |
| broadcast_revenue_eur | numeric(12,2) | broadcast revenue in euros. |
| commercial_revenue_eur | numeric(11,2) | commercial revenue in euros. |
+10 more columns in club_season_financials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| expense_id | varchar(16) | Stable fictional identifier for expense; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| expense_month | varchar(16) | Expense month for the record. |
| cost_centre_code | varchar(24) | Stable code for cost centre; its companion description carries the meaning. |
| cost_centre_description | varchar(64) | Human-readable meaning of cost centre. |
| expense_class | varchar(16) | Expense class for the record. |
| expense_class_description | varchar(56) | Human-readable meaning of expense class. |
+4 more columns in operating_expenses. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| commercial_contract_id | varchar(16) | Stable fictional identifier for commercial contract; use it for declared joins. |
| season_id | varchar(16) | Stable fictional identifier for season; use it for declared joins. |
| partner_name | varchar(48) | Human-readable partner name. All people and organisations are fictional. |
| contract_type | varchar(24) | Contract type for the record. |
| contract_type_description | varchar(24) | Human-readable meaning of contract type. |
| starts_on | date | starts on as an ISO 8601 calendar date. |
| ends_on | date | ends on as an ISO 8601 calendar date. |
+5 more columns in commercial_contracts. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| facility_id | varchar(8) | Stable fictional identifier for facility; use it for declared joins. |
| club_id | varchar(8) | Stable fictional identifier for club; use it for declared joins. |
| facility_name | varchar(40) | Human-readable facility name. All people and organisations are fictional. |
| facility_type | varchar(24) | Facility type for the record. |
| facility_type_description | varchar(24) | Human-readable meaning of facility type. |
| city | varchar(16) | City for the record. |
| opened_on | date | opened on as an ISO 8601 calendar date. |
+9 more columns in club_facilities. The full schema ships with the download.
Sample Data
A snapshot of real rows from the dataset (values are fully synthetic).
| player_media_id | player_id | season_id | club_name | squad_number | season_captain_flag | headshot_image_file | full_body_image_file |
|---|---|---|---|---|---|---|---|
| PMD0000001 | PLY0001 | SEA2015 | Valdoro Calcio | 24 | true | image/player/season/SEA2015/headshot/PLY0001.png | image/player/season/SEA2015/full-body/PLY0001.png |
| PMD0000002 | PLY0002 | SEA2015 | Valdoro Calcio | 17 | false | image/player/season/SEA2015/headshot/PLY0002.png | image/player/season/SEA2015/full-body/PLY0002.png |
| PMD0000003 | PLY0003 | SEA2015 | Valdoro Calcio | 7 | false | image/player/season/SEA2015/headshot/PLY0003.png | image/player/season/SEA2015/full-body/PLY0003.png |
Version History
| v2.0.0 | 2026-06-30 | Version 2.0 adds season-addressable player headshots and full-body images with plain unmarked jerseys and shorts plus varied detailed boots; 45 distinct scalable club crests delivered separately; player tenure and transfer economics; readable club names beside keys; and coordinate-based reconstruction data for every goal. |
Related Datasets
Basketball Club Analytics Set (EU)
Sports & Athlete PerformanceA complete synthetic European basketball-club warehouse covering eleven seasons of games, play-by-play, shots, tactics, rotations, athlete condition, prediction, roster movement and finance.
Sprint Running Athlete Analytics Set (WW)
Sports & Athlete PerformanceA complete worldwide sprint athlete warehouse for short sprint, half-lap and full-lap races, with starts, splits, weather, training, health and prediction.
Swimming Athlete Analytics Set (WW)
Sports & Athlete PerformanceA complete worldwide swimming athlete warehouse covering races, laps, starts, turns, training, condition, health, finance and prediction.