{
  "fetched_at": "2026-10-19T09:21:30Z",
  "source_url": "https://www.kaggle.com/competitions/football-match-probability-prediction/data",
  "pages": [
    {
      "name": "data-description",
      "content": "The data set contains more than 150000 historical world football matches from 2019 to 2021, with more than 860 leagues and 9500 teams. Your goal is to predict the probabilities for each match outcome in the `target` columns: the probabilities of `home` to win, `draw,` and `away` to win.\n\n## Features, Home and Away meaning\nThe features provided are divided into two parts: **the descriptive features** and **the historical features**. Descriptive features are point-in-time descriptions of the match that has to be predicted. Historical features contain past information of the 10 games previously played by the Home and the Away team.\n\nHome and Away are used by convention to describe a match between two teams **Home - Away**. For instance **Manchester City - Chelsea**.  In this case, Manchester City plays home. For cups, the Home team does not necessarily play home, but the information is not available in the dataset. \n\nNote that for historical data, to know which team plays home, please refer to the column of historical data `is_play_home` as the **Home** and the **Away** team can have played home or away in their 10 last matches.\n\n\n\n## Files\n\n*   **train.csv** - the training set\n*   **test.csv** - the test set, does not have the target column.\n*   **sample_submission.csv** - a sample submission file in the correct format\n*   **train_target_and_scores.csv** - contains each match's final score **Home - Away** in addition to the target which is also in the training set. More information [here](https://www.kaggle.com/c/football-match-probability-prediction/discussion/314078).\n\n\n## Descriptive columns\n\n*   `target` - The variable you have to predict the probabilities only available in the train set.\n*   `home_team_name` - The name of the **Home** the team. Hidden in test set, see [this discussion](https://www.kaggle.com/competitions/football-match-probability-prediction/discussion/314744)\n*   `away_team_name` - The name of the **Away** the team. Hidden in test set, see [this discussion](https://www.kaggle.com/competitions/football-match-probability-prediction/discussion/314744)\n*   `match_date` - The match date (UTC).\n*   `league_name` - The league name.\n*   `league_id` - The league id. Note that league names can be identical for two differents id.\n*   `is_cup` - If the value is 1 the match is played for a cup compettion.\n*   `home_team_coach_id ` - The id of the **Home** team coach.\n*   `away_team_coach_id ` - The id of the **Away** team coach.\n\n## Historical columns\nHistorical columns contain the key world `history` and are indexed with numbers from 1 to 10 for the last 10 matches played by the two teams. The number **1** means the most recent while **10** is the oldest. Note that the historical matches can have been played in different leagues.\nFor instance `home_team_history_match_date_1` is the date of the last match played by the home team while  `home_team_history_match_date_2` is two matches ago. Another example, `home_team_history_is_play_home_3` tells you if the team played home 3 matches ago and `home_team_history_opponent_rating_3` what was the opponent rating.\n\n**Historical home team features**\n\n*   `home_team_history_match_date_{i}` - The date of the last i-th match played by **Home** team.\n*   `home_team_history_is_play_home_{i}` - If 1, the **Home** team played home.\n*   `home_team_history_is_cup_{i}` - If 1, the match was a cup competition.\n*   `home_team_history_goal_{i}` - The number of goals scored by the **Home** team on its last i-th match.\n*   `home_team_history_opponent_goal_{i}` - The number of goals  conceded by the **Home** team on its last i-th match.\n*   `home_team_history_rating_{i}` - The rating of the **Home** team on its last i-th match (pre match rating).\n*   `home_team_history_opponent_rating_{i}` -  The rating of the opponent team on **Home** team last i-th match (pre match rating).\n*   `home_team_history_coach_{i}` - The coach id of the **Home** team on its last i-th match.\n*   `home_team_history_league_id_{i}` - The league name id by the **Home** team on its last i-th match.\n\n**Historical away team features**\n\n*   `away_team_history_match_date_{i}` - The date of the last i-th match played by  **Away** team.\n*   `away_team_history_is_play_home_{i}` - If 1, the **Away** team played home.\n*   `away_team_history_is_cup_{i}` - If 1, the match was a cup competition.\n*   `away_team_history_goal_{i}` - The number of goals scored by the **Away** team on its last i-th match.\n*   `away_team_history_opponent_goal_{i}` - The number of goals conceded by the **Away** team on its last i-th match.\n*   `away_team_history_rating_{i}` - The rating of the **Away** team on its last i-th match (pre match rating).\n*   `away_team_history_opponent_rating_{i}` -  The rating of the opponent team on **Away** team last i-th match (pre match rating).\n*   `away_team_history_coach_{i}` - The coach id of the **Away** team on its last i-th match.\n*   `away_team_history_league_id_{i}` - The league name id played by the **Away** on its last i-th match.\n\n## What are the rating features?\nThe rating features are calculated by Octosport. Ratings are meant to give information on the team's relative strength for a given match. For instance, we would expect that a team with a rating of 10.5 beats a team with a rating of 2.3.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "## Predicting the beautiful game\n[Octosport](https://www.octosport.io/) and [Sportmonks](https://www.sportmonks.com/) are proud to present their first football prediction competition. Do you know how to code in python and are passionate about football? Do you want to test your knowledge in machine learning, sequence learning, or neural networks? Do you want to beat the bookmaker's performance? You are at the right place.\n\n## Competition Description\n\nFootball has been at the heart of data science for more than a decade. If today's algorithms focus on event detection, player style, or team analysis, predicting the results of a match stays an open challenge.\n\nPredicting the outcomes of a match between two teams depends mostly (but not only) on their current form. The form of a team can be viewed as their recent sequence of results versus the other teams. So match probabilities between two teams can be different given their calendar.\n\nThis competition is about **predicting the probabilities** of more than **150000** match outcomes using the recent sequence of 10 matches of the teams.\n\n## Community\nAs a part of the community competition, we want to encourage published notebooks. So **the best-published notebook will also be rewarded**. See the prizes section for more information.\n\n## Benchmark\nTo add more fun we also added the performance of the bookmakers as a benchmark. We turned their [odds into probabilities](https://medium.com/geekculture/how-to-compute-football-implied-probabilities-from-bookmakers-odds-bbb33ccf7c1d). Try to beat them!\n\n## Practical skills\n - Coding in python\n - Dealing with heterogeneous and missing data\n - Dealing with imbalanced and noisy classes\n - Use advanced machine learning techniques  like sequence learning, neural networks (but not limited to)\n \n## Acknowledgements\n\nThe data are provided by [Octosport](https://www.octosport.io/) and [Sportmonks](https://www.sportmonks.com/) \n\nGood luck!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "\n\nThe evaluation metric for this competition is a multinomial [Log-Loss](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.log_loss.html). The log-loss measure the quality of the predicted probabilities. Check out our[ blog post ](https://medium.com/geekculture/football-prediction-performance-how-to-calculate-hit-ratio-and-log-loss-1e5e22310497)if you want to know more about it.\n\n### Submission file\n\n**For every match in the dataset**, submission files should contain four columns: `id`,  `home`, `draw`, and `away`. The columns home stands for the probability of the Home team to win the match, the column away for the Away team to win, and the columns draw for the probability of a Draw. Each column expects a double between 0 and 1, and the sum of the three probabilities to be equals one. The `id` column contains the id of the predicted match.\n\n### Submission Format\n\nThe file should contain a header **in the correct order** and have the following format:\n```\nid,home,away,draw\n1,0.3,0.5,0.2\n2,0.45,0.25,0.3\n...\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "##One account per participant\nYou cannot sign up to Kaggle from multiple accounts and therefore you cannot submit from multiple accounts.\n\n## External data\n- Using external data is not permitted.\n- Using the test set for training purposes is not permitted (leakage).\n\n## Solutions\nYour solution should be fully reproducible at the end of the competition by the Kaggle community to be awarded (preferably Kaggle Notebooks). You should use only open-source libraries. \n\n##Submission Limits\nYou may submit a maximum of 5 entries per day.\nYou may select up to 2 final submissions.\n\n##Team Limits\nThere is no maximum team size.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Resources",
      "content": "\n\n### Octosport help\nYou are free to use any materials you need for this competition but external data is not permitted. If you do not know where to start octosport has published articles on [medium](https://octosport.medium.com/) and code on [github](https://github.com/octosport) that could be very useful.\n\n### Kaggle help examples\n- [European Soccer Database](https://www.kaggle.com/hugomathien/soccer)\n- [Match Outcome Prediction in Football](https://www.kaggle.com/saife245/football-match-prediction)\n- [Deep Learning Starter : Simple LSTM](https://www.kaggle.com/theoviel/deep-learning-starter-simple-lstm)\n- [Everything you can do with a time series](https://www.kaggle.com/thebrownviking20/everything-you-can-do-with-a-time-series)",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Timeline",
      "content": "- February 1, 2022 - Start Date\n- May 6, 2022 - Competition ends\n- May 12, 2022 - Top 3 model review and winners announcement.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Code Requirements",
      "content": "Submissions to this competition should be made through Notebooks if possible. For the \"Submit\" button to be active after a commit, the following conditions must be met:\n\n- CPU Notebook <= 9 hours run-time\n- GPU Notebook <= 9 hours run-time\n- Internet access disabled\n- Submission file must be named submission.csv\n \nFeel free to run a test using our [notebook submission example](https://www.kaggle.com/octosportio/logistic-regression-submission-example). Please read the [competition debugging](https://www.kaggle.com/code-competition-debugging) and the [code competition FAQ](https://www.kaggle.com/docs/competitions#notebooks-only-FAQ)",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Prizes",
      "content": "The winning solutions should be **submitted in a Kaggle Notebook and reproducible by the community using only open-source code**. After reviewing it, the winners will be awarded as follow:\n\n**1st Place** - Ipad AIR (3), 64go, wifi.\n**2nd Place** - Ipad 9th, 64go, wifi.\n**3rd Place** - Air pods 3rd generation.\n**Best published notebook**  - Air pods 3rd generation.\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}