{"id":18071540,"url":"https://github.com/chrisby/soccergpt","last_synced_at":"2025-07-19T00:32:52.673Z","repository":{"id":244243812,"uuid":"814680121","full_name":"chrisby/SoccerGPT","owner":"chrisby","description":"Small POC to predict game outcomes of the 2024 European Championship using GPT-4o and sportmonks football API. ","archived":false,"fork":false,"pushed_at":"2024-07-15T06:57:39.000Z","size":331,"stargazers_count":26,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T22:22:28.771Z","etag":null,"topics":["genai","llm","predictive-analytics","soccer"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrisby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-13T13:35:52.000Z","updated_at":"2025-02-27T18:12:30.000Z","dependencies_parsed_at":"2024-07-14T08:48:12.987Z","dependency_job_id":null,"html_url":"https://github.com/chrisby/SoccerGPT","commit_stats":null,"previous_names":["chrisby/soccergpt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisby%2FSoccerGPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisby%2FSoccerGPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisby%2FSoccerGPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrisby%2FSoccerGPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrisby","download_url":"https://codeload.github.com/chrisby/SoccerGPT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248508006,"owners_count":21115734,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genai","llm","predictive-analytics","soccer"],"created_at":"2024-10-31T09:15:34.965Z","updated_at":"2025-04-12T02:44:03.786Z","avatar_url":"https://github.com/chrisby.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/chrisby/SoccerGPT/main/logo.webp\" alt=\"drawing\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# SoccerGPT\nUsing OpenAI's `GPT-4o` and the [Sportmonks Football API](https://www.sportmonks.com/football-apis) to predict match winners of the 2024 European Soccer Championship. Take a look at the [notebook outputs](https://github.com/chrisby/SoccerGPT/blob/main/main.ipynb) to see the predicted winner! \n\nThe LLM receives team performance statistics from the 2024 qualification tournament as well as detailed player statistics.\n\n## Get your own predictions\n1. Insert you OpenAI key in the second cell of the notebook\n2. Set your sportmonks token in `line 6` of `helper.py`. To get results, sign up for the `EURO 2024` plan which includes the qualification statistics.\n3. Update prompts throughout the code base if required.\n4. To include statistics from the tournament as soon as results are available, update [this line](https://github.com/chrisby/SoccerGPT/blob/main/helper.py#L309).\n\n## Code quality\nThis is a POC hacked together over a couple hours, so I can submit my predictions to my betting platform, don't judge ;).\n\n## Predictions\nPredictions will be updated throughout the tournament.\n### Gameday 1\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/14  | Group | Germany:Scotland  | 3:1  | 5:1            |       ✅︎       |        ❌           |       ❌       |\n| 06/15  | Group | Hungary:Switzerland  | 1:2 | 1:3          |       ✅︎       |        ❌           |       ❌       |\n| 06/15  | Group | Spain:Croatia  | 2:1 | 3:0                |       ✅︎       |        ❌           |       ❌       |\n| 06/15  | Group | Italy:Albania  | 2:0 | 2:1                |       ✅︎       |        ❌           |       ❌       |\n| 06/16  | Group | Poland:Netherlands  | 1:3 | 1:2           |       ✅︎       |        ❌           |       ❌       |\n| 06/16  | Group | Slovenia:Denmark  | 1:2 | 1:1             |       ❌       |        ❌           |       ❌       |\n| 06/16  | Group | Serbia:England  | 1:2 | 0:1               |       ✅︎       |        ✅︎           |       ❌       |\n### Gameday 2\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/17  | Group | Romania:Ukraine  | 2:1  | 3:0             |       ✅︎       |        ❌           |       ❌       |\n| 06/17  | Group | Belgium:Slovakia  | 3:1 | 0:1             |       ❌       |       ❌            |       ❌       |\n| 06/17  | Group | Austria:France  | 1:3 | 0:1               |       ✅︎       |        ❌           |       ❌       |\n| 06/18  | Group | Turkey:Georgia  | 2:1 | 3:1               |       ✅︎       |        ❌           |       ❌       |\n| 06/18  | Group | Portugal:Czech Republic  | 3:0 | 2:1      |       ✅︎       |        ❌           |       ❌       |\n### Gameday 3\nFrom here on out, we take stats from the current tournament into account.\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/19  | Group | Croatia:Albania  | 1:1  | 2:2             |       ✅︎       |       ✅︎            |       ❌       |\n| 06/19  | Group | Germany:Hungary  | 4:1 | 2:0              |       ✅︎       |       ❌            |       ❌       |\n| 06/19  | Group | Scotland:Switzerland  | 1:3 | 1:1         |       ❌       |       ❌            |       ❌       |\n| 06/20  | Group | Slovenia:Serbia  | 1:1 | 1:1              |       ✅︎       |       ✅︎            |       ✅︎       |\n| 06/20  | Group | Denmark:England  | 1:2 | 1:1              |       ❌       |       ❌            |       ❌       |\n| 06/20  | Group | Spain:Italy  | 2:1 | 1:0                  |       ✅︎       |       ✅︎            |       ❌       |\n### Gameday 4\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/21  | Group | Slovakia:Ukraine  | 2:0  | 1:2            |       ❌       |       ❌            |       ❌       |\n| 06/21  | Group | Poland:Austria  | 1:2 | 1:3               |       ✅︎       |       ❌            |       ❌       |\n| 06/21  | Group | Netherlands:France  | 1:2 | 0:0           |       ❌       |       ❌            |       ❌       |\n| 06/22  | Group | Georgia:Czech Republic  | 1:2 | 1:1       |       ❌       |       ❌            |       ❌       |\n| 06/22  | Group | Turkey:Portugal  | 1:3 | 0:3              |       ✅︎       |       ❌            |       ❌       |\n| 06/22  | Group | Belgium:Romania  | 1:2 | 2:0              |       ❌       |       ❌            |       ❌       |\n### Gameday 5\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/23  | Group | Switzerland:Germany  | 1:3 | 1:1          |       ❌       |       ❌            |       ❌       |\n| 06/23  | Group | Scotland:Hungary  | 1:2 | 0:1             |       ✅︎       |       ❌            |       ❌       |\n| 06/24  | Group | Croatia:Italy  | 1:2 | 1:1                |       ❌       |       ❌            |       ❌       |\n| 06/24  | Group | Albania:Spain  | 0:3 | 0:1                |       ✅︎       |       ❌            |       ❌       |\n### Gameday 6\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/25  | Group | Netherlands:Austria  | 2:1 | 2:3          |       ❌       |       ❌            |       ❌       |\n| 06/25  | Group | France:Poland  | 3:0 | 1:1                |       ❌       |       ❌            |       ❌       |\n| 06/25  | Group | Denmark:Serbia  | 2:1 | 0:0               |       ❌       |       ❌            |       ❌       |\n| 06/25  | Group | England:Slovenia  | 2:0 | 0:0             |       ❌       |       ❌            |       ❌       |\n### Gameday 7\n| Date  | Round  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ------| --- | ---------------------|--------------|----------------|---------------------|---------------|\n| 06/26  | Group | Ukraine:Belgium  | 1:3 | 0:0              |       ❌       |       ❌            |       ❌       |\n| 06/26  | Group | Slovakia:Romania  | 1:2 | 1:1             |       ❌       |       ❌            |       ❌       |\n| 06/26  | Group | Czech Republic:Turkey  | 1:2 | 1:2        |       ✅︎       |       ✅︎            |       ✅︎       |\n| 06/26  | Group | Georgia:Portugal  | 0:3 | 2:0             |       ❌       |       ❌            |       ❌       |\n### Best of 16\n| Date  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ----| ---------------------- | ------------|----------------|---------------------|---------------|\n| 06/29  |  Switzerland:Italy           | 5:6 | 2:0   |       ❌       |       ❌            |       ❌       |\n| 06/29  |  Germany:Denmark           | 2:0 | 2:0     |       ✅︎       |       ✅︎            |       ✅︎       |\n| 06/30  |  England:Slovakia           | 2:1 | 2:1    |       ✅︎       |       ✅︎            |       ✅︎       |\n| 06/30  |  Spain:Georgia           | 2:0 | 4:1       |       ✅︎       |       ❌            |       ❌       |\n| 07/01  |  France:Belgium           | 5:4 | 1:0      |       ✅︎       |       ✅︎            |       ❌       |\n| 07/01  |  Portugal:Slovenia        | 2:0 |3:0       |       ✅︎       |       ❌            |       ❌       |\n| 07/02  |  Romania:Netherlands      | 1:2 | 0:3      |       ✅︎       |       ❌            |       ❌       |\n| 07/02  |  Austria:Turkey      | 2:1 | 1:2           |        ❌      |       ❌            |       ❌       |\n### Quarter Finals\n| Date  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ----| ---------------------- | ------------|----------------|---------------------|---------------|\n| 07/05  |  Spain:Germany         | 6:5 | 2:1         |       ✅︎       |       ✅︎            |       ❌       |\n| 07/05  |  Portugal:France         | 1:2 | 3:5       |       ✅︎       |       ❌            |       ❌       |\n| 07/06  |  England:Switzerland         | 2:1 | 6:4   |       ✅︎       |       ❌            |       ❌       |\n| 07/06  |  Netherlands:Turkey         | 2:1 | 2:1    |       ✅︎       |       ✅︎            |       ✅︎       |\n### Semi Finals\n| Date  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ----| ---------------------- | ------------|----------------|---------------------|---------------|\n| 07/09  |  Spain:France         | 2:1 | 2:1          |       ✅︎       |       ✅︎            |       ✅︎       |\n| 07/10  |  Netherlands:England         | 1:2 | 1:2   |       ✅︎       |       ✅︎            |       ✅︎       |\n### Final\n| Date  | Game | SoccerGPT Prediction | Final Score | Winner Correct | Score diff. correct | Score correct |\n| ------ | ----| ---------------------- | ------------|----------------|---------------------|---------------|\n| 07/14  |  Spain:England         | 2:1 | 2:1       |       ✅︎       |       ✅︎            |       ✅︎       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisby%2Fsoccergpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisby%2Fsoccergpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisby%2Fsoccergpt/lists"}