{
  "format": "dataset-manifest/1",
  "slug": "sports-simulation-game",
  "version": 1,
  "seed": "sports-simulation-game:1",
  "spec": {
    "format": "dataset/1",
    "slug": "sports-simulation-game",
    "name": "Sports Franchise Event Log",
    "tagline": "Match events, player stats, team management and youth academy progress in a competitive sports simulation.",
    "description": "Franchises strategize and compete, managing teams to excel through seasons in a highly dynamic sports simulation. Coaches and managers analyze player performance, adjusting training regimens and tactics based on in-game events and statistics. Each match creates a wealth of data, detailing player contributions, game outcomes, and critical incidents such as injuries or standout performances that can influence the future of the organization. While many matches maintain predictable patterns in scoring and player deployment, the unpredictable nature of sports often leads to significant shifts in team performance metrics.\n\nThe dataset comprises several interconnected tables that together provide a comprehensive view of franchise operations. The 'matches' table records the outcomes and key events of each game, linking to 'teams' which outlines the franchises competing. Each 'team' comprises multiple 'players' whose specific performance metrics are tracked in their respective table, including goals scored, assists, and disciplinary actions. 'Managers' are associated with each team, allowing for analysis of decision-making and its impact on match outcomes. Additionally, the 'youth_academy' table captures the development of potential future stars, detailing player progression and training outcomes that could affect the overall team composition in subsequent seasons.\n\nThis data is especially valuable for those looking to explore relationships between player performance and team success, evaluate training effectiveness, or analyze the impact of managerial decisions on match outcomes. Practitioners can simulate various scenarios, such as player injuries or strategic adjustments, to assess how these factors alter team performance over time. As a synthetic dataset, it provides a safe environment for developers and analysts to hone their skills in data analysis and interpretation without the complications of real-world data.",
    "domain": "telecom",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "sports",
      "simulation",
      "franchise",
      "events",
      "player statistics",
      "training",
      "management",
      "youth academy"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "matches": {
        "description": "This table records match events, detailing each game's unique attributes and outcomes. Each row corresponds to a distinct match, linking to teams and players involved.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each match."
          },
          "date": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time of the match.",
            "dayProfile": "waking"
          },
          "home_team_id": {
            "kind": "fk",
            "ref": "teams.id",
            "description": "Identifier for the home team."
          },
          "away_team_id": {
            "kind": "fk",
            "ref": "teams.id",
            "description": "Identifier for the away team."
          },
          "score_home": {
            "kind": "int",
            "min": 0,
            "max": 10,
            "description": "Final score of the home team."
          },
          "score_away": {
            "kind": "int",
            "min": 0,
            "max": 10,
            "description": "Final score of the away team."
          },
          "event_type": {
            "kind": "enum",
            "values": [
              "goal",
              "foul",
              "injury",
              "substitution"
            ],
            "description": "Type of event recorded during the match."
          }
        }
      },
      "teams": {
        "description": "This table includes details about each team participating in the simulation, including their roster and management.",
        "rows": 30,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each team."
          },
          "name": {
            "kind": "fullName",
            "description": "Name of the team."
          },
          "manager_id": {
            "kind": "fk",
            "ref": "managers.id",
            "nullable": true,
            "description": "Identifier for the team's manager."
          },
          "foundation_year": {
            "kind": "int",
            "min": 1900,
            "max": 2023,
            "description": "Year the team was founded."
          }
        }
      },
      "players": {
        "description": "This table captures individual player statistics, linking players to their respective teams and detailing their performance metrics.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each player."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the player."
          },
          "team_id": {
            "kind": "fk",
            "ref": "teams.id",
            "description": "Identifier for the team the player belongs to."
          },
          "position": {
            "kind": "enum",
            "values": [
              "forward",
              "midfielder",
              "defender",
              "goalkeeper"
            ],
            "description": "Position played by the player."
          },
          "goals": {
            "kind": "int",
            "min": 0,
            "max": 50,
            "description": "Total goals scored by the player."
          },
          "assists": {
            "kind": "int",
            "min": 0,
            "max": 50,
            "description": "Total assists made by the player."
          }
        }
      },
      "managers": {
        "description": "This table holds information about the managers of each team, including their strategy and history.",
        "rows": 30,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each manager."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the manager."
          },
          "experience_years": {
            "kind": "int",
            "min": 0,
            "max": 50,
            "description": "Number of years of coaching experience."
          }
        }
      },
      "youth_academy": {
        "description": "This table tracks the progress of youth academy talents, their development metrics, and potential future performance.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each youth player."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the youth player."
          },
          "team_id": {
            "kind": "fk",
            "ref": "teams.id",
            "description": "Identifier for the associated team."
          },
          "potential_rating": {
            "kind": "int",
            "min": 0,
            "max": 100,
            "description": "Estimated potential rating of the youth player."
          },
          "training_sessions": {
            "kind": "int",
            "min": 0,
            "max": 100,
            "description": "Total training sessions completed by the youth player."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What player positions contribute most to scoring success?",
      "How do training sessions correlate with player performance metrics?",
      "What trends can be observed in match outcomes over the seasons?",
      "How does management experience affect team performance?",
      "Which youth academy players show the most potential based on training data?"
    ],
    "suggestedQueries": [
      {
        "title": "List all matches and their scores",
        "sql": "SELECT m.id, m.date, m.score_home, m.score_away FROM matches m;",
        "dialect": "postgres"
      },
      {
        "title": "Count goals scored by each player",
        "sql": "SELECT p.name, SUM(p.goals) FROM players p GROUP BY p.name;",
        "dialect": "postgres"
      },
      {
        "title": "Get average training sessions completed by youth players per team",
        "sql": "SELECT t.name, AVG(ya.training_sessions) FROM youth_academy ya JOIN teams t ON ya.team_id = t.id GROUP BY t.name;",
        "dialect": "postgres"
      },
      {
        "title": "Find the team with the most goals scored in a season",
        "sql": "SELECT t.name, SUM(m.score_home + m.score_away) AS total_goals FROM matches m JOIN teams t ON m.home_team_id = t.id OR m.away_team_id = t.id GROUP BY t.name ORDER BY total_goals DESC LIMIT 1;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Sports Analysts",
        "body": "Sports analysts can leverage this dataset to evaluate player performance over multiple seasons, allowing them to identify trends, strengths, and weaknesses in team strategies. By analyzing the data, they can provide insights on which players may need additional training or which strategies yield the best results."
      },
      {
        "title": "Data Scientists in Sports Tech",
        "body": "Data scientists working in sports technology can utilize this dataset for machine learning models, helping to predict match outcomes or player performance based on historical data. This can lead to improved decision-making tools for franchises looking to enhance their competitive edge."
      },
      {
        "title": "Management Training Programs",
        "body": "Management training programs can use this dataset to simulate real-life scenarios faced by sports franchise managers. Participants can engage with the data to develop their skills in player management, strategic planning, and understanding the implications of various decisions on team performance."
      },
      {
        "title": "Game Developers",
        "body": "Game developers can integrate this dataset into sports simulation games to enhance realism and strategic depth. Using the data, they can create more engaging gameplay mechanics that reflect real-world player statistics and management decisions, enriching the player experience."
      }
    ]
  },
  "counts": {
    "managers": 30,
    "teams": 30,
    "matches": 300,
    "players": 200,
    "youth_academy": 100
  },
  "stats": {
    "matches": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "date": {
          "nulls": 0,
          "distinct": 300,
          "min": "2022-01-01 18:49:37",
          "max": "2023-12-30 21:17:51"
        },
        "home_team_id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "away_team_id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "score_home": {
          "nulls": 0,
          "distinct": 11,
          "min": 0,
          "max": 10
        },
        "score_away": {
          "nulls": 0,
          "distinct": 11,
          "min": 0,
          "max": 10
        },
        "event_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "foul",
          "max": "substitution"
        }
      }
    },
    "teams": {
      "rows": 30,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "name": {
          "nulls": 0,
          "distinct": 30,
          "min": "Alice Andersen",
          "max": "Zoe Lee"
        },
        "manager_id": {
          "nulls": 6,
          "distinct": 14,
          "min": 2,
          "max": 30
        },
        "foundation_year": {
          "nulls": 0,
          "distinct": 26,
          "min": 1902,
          "max": 2019
        }
      }
    },
    "players": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Cruz",
          "max": "Zoe Meyer"
        },
        "team_id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "position": {
          "nulls": 0,
          "distinct": 4,
          "min": "defender",
          "max": "midfielder"
        },
        "goals": {
          "nulls": 0,
          "distinct": 50,
          "min": 0,
          "max": 49
        },
        "assists": {
          "nulls": 0,
          "distinct": 49,
          "min": 1,
          "max": 50
        }
      }
    },
    "managers": {
      "rows": 30,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "name": {
          "nulls": 0,
          "distinct": 30,
          "min": "Deniz Bennett",
          "max": "Yusuf Torres"
        },
        "experience_years": {
          "nulls": 0,
          "distinct": 24,
          "min": 0,
          "max": 48
        }
      }
    },
    "youth_academy": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 99,
          "min": "Alice Oliveira",
          "max": "Zoe Reyes"
        },
        "team_id": {
          "nulls": 0,
          "distinct": 30,
          "min": 1,
          "max": 30
        },
        "potential_rating": {
          "nulls": 0,
          "distinct": 64,
          "min": 1,
          "max": 98
        },
        "training_sessions": {
          "nulls": 0,
          "distinct": 63,
          "min": 6,
          "max": 96
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/managers.csv",
      "format": "csv",
      "table": "managers",
      "key": "datasets/sports-simulation-game/v1/csv/managers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/csv/managers.csv",
      "bytes": 591,
      "sha256": "aaa50c0e7817595dc3a6134f483af1128169fd519148a45a84d0624d90dc307a",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/teams.csv",
      "format": "csv",
      "table": "teams",
      "key": "datasets/sports-simulation-game/v1/csv/teams.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/csv/teams.csv",
      "bytes": 725,
      "sha256": "74393b6367c354c7e6af15b0096d6876c414135edf4ae2ba86ff0370053ec8b8",
      "rows": 30,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/matches.csv",
      "format": "csv",
      "table": "matches",
      "key": "datasets/sports-simulation-game/v1/csv/matches.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/csv/matches.csv",
      "bytes": 12524,
      "sha256": "8390502ba1cd0db682b21b709eb8920476470afdf568018dea7dbcf4d02c24fb",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/players.csv",
      "format": "csv",
      "table": "players",
      "key": "datasets/sports-simulation-game/v1/csv/players.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/csv/players.csv",
      "bytes": 6955,
      "sha256": "f0c61aaf0eabdf3e1ada1bab05b0d4fb2ca9ea8d6da92db3f29468eb5155b2a3",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/youth_academy.csv",
      "format": "csv",
      "table": "youth_academy",
      "key": "datasets/sports-simulation-game/v1/csv/youth_academy.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/csv/youth_academy.csv",
      "bytes": 2535,
      "sha256": "c641b7fbedf925f9bd730232a1546b8bfea0dfa6c7e1fe89aaeb468ff2af877f",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "sports-simulation-game.json",
      "format": "json",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/sports-simulation-game.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/sports-simulation-game.json",
      "bytes": 107715,
      "sha256": "8d9fff4f26fee9b427d64e2cdde4e234fa758c86ca7d2fac81cd449a5cf8fbd5",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/sql/postgres.sql",
      "bytes": 35846,
      "sha256": "7541a2dcc26516e0683f8e10214b386e6e4aa22d62496faa8bb4919be77a145e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/sql/mysql.sql",
      "bytes": 35262,
      "sha256": "59db3b11996e07c42769c5787f567f9d0f8edd15487fe56851a4a7bed799693a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/sql/mssql.sql",
      "bytes": 36734,
      "sha256": "66cec0a21759306509a8c80316c6bd269ec2ee553c0223459e26c57d540dc4fb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/sql/sqlite.sql",
      "bytes": 35081,
      "sha256": "9f1038716ee020e3d39dbfec0699d22f147976029b51673b50090f17a750d57b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/prisma/seed.ts",
      "bytes": 82508,
      "sha256": "f2976a96b06a053875473ff3ecec2cba6af3436c3774e0f658b94e88e34be936",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/sports-simulation-game/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/sports-simulation-game/v1/django/fixtures.json",
      "bytes": 133775,
      "sha256": "32af8b3206457585904cce11e3f13d2aeb6ee3e2c133901b02316e8c30f4abd6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767071713,
  "updatedAt": 1788767071713
}
