Git Product home page Git Product logo

footy-ai's Introduction

Logo

Footy AI

Contributors Licence LinkedIn

An end-to-end application for predicting UEFA Euro tournaments

A comprehensive platform to visualise and interact with AI match predictions. This React-based application features detailed pages of statistics, historical data, language localisations, and more.

Live Demo


Table of Contents
  1. About The Project
  2. Install
  3. Features
  4. Lighthouse Report
  5. Contributors
  6. Licence

About The Project

Footy AI is a unique end-to-end platform developed in anticipation of the UEFA Euro 2024 tournament.

The application aims to enrich the engagement of football enthusiasts with the UEFA Euro tournaments by using artificial intelligence. The AI leverages matches and ELO data to predict match outcomes and provide insightful statistics. This platform not only focuses on the current Euro 2024 tournament but also offers a retrospective view of past tournaments, allowing users to explore the historical odds and performances of their national teams.

Footy AI offers comprehensive statistics for tournaments, detailed match predictions, and the ability to create custom match-ups between any UEFA national teams. It also includes interactive visualisations and insights into the AI's prediction accuracy, enhancing the experience for users who want to explore football data in depth.

Built With

  • NextJS
  • MUI
  • FormatJS
  • sklearn

Install

Run the app locally:

$ cd client
$ npm install
$ npm run dev

The website can be accessed through the URL http://localhost:3000/.

Open the notebook using your choice software in a terminal or command window. For example, if the software is Jupyter Notebook:

jupyter notebook server/euro.ipynb

Features

Overview Page

The Overview Page serves as the central hub, providing a summary of the AI's prediction performance for a certain tournament. Users can see recent predictions and their outcomes, as well as visual representations of the AI's overall and daily prediction accuracy.

Overview

All Matches

The All Matches Page offers a comprehensive view of all tournament matches with detailed predictions and actual results.

Matches

Group Stage

The Group Stage Page presents the predicted results for each team within the groups. It includes statistics on the accuracy of the AI's predictions for rankings, match outcomes, and exact scores.

Groups

Knockout Stage

The Knockout Stage Page features a bracket view, showing the predicted scores and actual outcomes for each match for the knockout rounds.

Knockout

Custom Match

The Custom Match Page allows users to create custom match-ups between any two UEFA countries from any historical period of the Euro tournaments. Users can see the AI's predictions for these hypothetical matches, and define whether they want the draw option to be available, providing a fun and interactive way to explore potential outcomes of dream match-ups.

Custom

Localisation

Users can switch between all main languages of UEFA by selecting the desired option from the language selector drop-down menu in the Navbar.

French German

Prediction Model

Footy AI uses a robust prediction model using Linear Regression to predict goal differences based on ELO differences. Linear Regression is chosen for its simplicity and effectiveness in modelling the relationship between ELO ratings and goal differences. The model is trained on the International football results dataset, and incorporates ELO Ratings from 1901 to 2024. Expected Goals (xG) are used to normalise goal scoring based on team performance, serving as the main prediction attribute. ELO Ratings quantify team strength, allowing the model to account for the relative strengths of the teams, leading to more accurate predictions. To reflect the random nature of goal scoring, Poisson Distribution is used to simulate match scores. The model uses data from all international matches over the past four years from the starting date of the tournament, so as to consider semi-major player changes. The prediction percentages are determined after simulating 10,000 matches.

Lighthouse Report

Audit

Contributors

Licence

Because Footy AI is MIT-licensed, any developer can essentially do whatever they want with it as long as they include the original copyright and licence notice in any copies of the source code.

footy-ai's People

Contributors

andreihar avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.