📊 Season Forecasts [Beta]
33 084 ⚽ runs
0 👥 online
Live ?
UEFA Euro 2024

UEFA Euro 2024 - Tournament Overview

  • Group A Matchday 1 (2024-06-14): Germany 5 - 1 Scotland (FT)
  • Group A Matchday 1 (2024-06-15): Hungary 1 - 3 Switzerland (FT)
  • Group A Matchday 2 (2024-06-19): Germany 2 - 0 Hungary (FT)
  • Group A Matchday 2 (2024-06-19): Scotland 1 - 1 Switzerland (FT)
  • Group A Matchday 3 (2024-06-23): Switzerland 1 - 1 Germany (FT)
  • Group A Matchday 3 (2024-06-23): Scotland 0 - 1 Hungary (FT)
  • Group B Matchday 1 (2024-06-15): Spain 3 - 0 Croatia (FT)
  • Group B Matchday 1 (2024-06-15): Italy 2 - 1 Albania (FT)
  • Group B Matchday 2 (2024-06-19): Croatia 2 - 2 Albania (FT)
  • Group B Matchday 2 (2024-06-20): Spain 1 - 0 Italy (FT)
  • Group B Matchday 3 (2024-06-24): Albania 0 - 1 Spain (FT)
  • Group B Matchday 3 (2024-06-24): Croatia 1 - 1 Italy (FT)
  • Group C Matchday 1 (2024-06-16): Slovenia 1 - 1 Denmark (FT)
  • Group C Matchday 1 (2024-06-16): Serbia 0 - 1 England (FT)
  • Group C Matchday 2 (2024-06-20): Slovenia 1 - 1 Serbia (FT)
  • Group C Matchday 2 (2024-06-20): Denmark 1 - 1 England (FT)
  • Group C Matchday 3 (2024-06-25): England 0 - 0 Slovenia (FT)
  • Group C Matchday 3 (2024-06-25): Denmark 0 - 0 Serbia (FT)
  • Group D Matchday 1 (2024-06-16): Poland 1 - 2 Netherlands (FT)
  • Group D Matchday 1 (2024-06-17): Austria 0 - 1 France (FT)
  • Group D Matchday 2 (2024-06-21): Poland 1 - 3 Austria (FT)
  • Group D Matchday 2 (2024-06-21): Netherlands 0 - 0 France (FT)
  • Group D Matchday 3 (2024-06-25): Netherlands 2 - 3 Austria (FT)
  • Group D Matchday 3 (2024-06-25): France 1 - 1 Poland (FT)
  • Group E Matchday 1 (2024-06-17): Romania 3 - 0 Ukraine (FT)
  • Group E Matchday 1 (2024-06-17): Belgium 0 - 1 Slovakia (FT)
  • Group E Matchday 2 (2024-06-21): Slovakia 1 - 2 Ukraine (FT)
  • Group E Matchday 2 (2024-06-22): Belgium 2 - 0 Romania (FT)
  • Group E Matchday 3 (2024-06-26): Slovakia 1 - 1 Romania (FT)
  • Group E Matchday 3 (2024-06-26): Ukraine 0 - 0 Belgium (FT)
  • Group F Matchday 1 (2024-06-18): Turkey 3 - 1 Georgia (FT)
  • Group F Matchday 1 (2024-06-18): Portugal 2 - 1 Czech Republic (FT)
  • Group F Matchday 2 (2024-06-22): Georgia 1 - 1 Czech Republic (FT)
  • Group F Matchday 2 (2024-06-22): Turkey 0 - 3 Portugal (FT)
  • Group F Matchday 3 (2024-06-26): Georgia 2 - 0 Portugal (FT)
  • Group F Matchday 3 (2024-06-26): Czech Republic 1 - 2 Turkey (FT)
  • Round of 16 (2024-06-29): Germany 2 - 0 Denmark (FT)
  • Round of 16 (2024-06-29): Switzerland 2 - 0 Italy (FT)
  • Round of 16 (2024-06-30): Spain 4 - 1 Georgia (FT)
  • Round of 16 (2024-06-30): England 2 - 1 Slovakia (FT)
  • Round of 16 (2024-07-01): Portugal 0 - 0 Slovenia (FT)
  • Round of 16 (2024-07-01): France 1 - 0 Belgium (FT)
  • Round of 16 (2024-07-02): Romania 0 - 3 Netherlands (FT)
  • Round of 16 (2024-07-02): Austria 1 - 2 Turkey (FT)
  • Quarterfinals (2024-07-05): Spain 2 - 1 Germany (FT)
  • Quarterfinals (2024-07-05): Portugal 0 - 0 France (FT)
  • Quarterfinals (2024-07-06): Netherlands 2 - 1 Turkey (FT)
  • Quarterfinals (2024-07-06): England 1 - 1 Switzerland (FT)
  • Semifinals (2024-07-09): Spain 2 - 1 France (FT)
  • Semifinals (2024-07-10): Netherlands 1 - 2 England (FT)
  • Final (2024-07-14): Spain 2 - 1 England (FT)

The Project

FootySim is a dedicated simulator that allows you to predict outcomes for major football tournaments.

I built this because I enjoyed simulators like SimWorldCup and WorldCupSimulator, but I wanted more power. I wanted to run my own simulations, add custom tournaments within minutes, and visualize the data my way.

Under the Hood

The backend is powered by Python and Redis. It uses a custom implementation of the Elo rating system to calculate match probabilities in real-time.

The engine is flexible enough to handle almost any tournament format. As long as the data is available, I can add a new league or cup to the system in minutes.

Statistical Forecasts

While this interactive simulator allows for controlling the timeline, the stats.footysim.io dashboard provides stable, data-driven snapshots.

Every night, the engine runs 10,000 full-season simulations for every tournament in the database to calculate "universe-average" probabilities for champions, qualification, and relegation.

Data & Inspiration

This project wouldn't have been possible without the data, visuals, and inspiration I drew from some incredible community resources: