Bottlers FC
Aug 2025

Bottlers FC

A data science project ranking European football teams prone to underperformance.

PythonPandasNumPyJupyter Notebook

Overview

A lightweight data analysis project built to quantify a very specific football frustration. It takes historical league data and turns it into a ranking of teams that consistently fall just short. This started as a personal exercise, partly curiosity, partly to settle arguments I kept having as an Arsenal fan.


Problem

Finishing second is not the same as finishing mid-table, but most stats treat them similarly. There is no clear way to measure “almost winning” or repeated near-misses.

As a Gooner, this became a recurring debate. Are some teams genuinely unlucky, or just serial underachievers? This project was built to make that argument less subjective.


Solution

A custom “Bottle Score” assigns penalties based on:

  • Final position relative to league size
  • Distance from the title winner
  • Extra weight for close title races

The formula was iterated multiple times to make results feel realistic rather than mathematically perfect. The aim was simple. If a result looks wrong at a glance, the formula needs fixing.

The script processes multiple seasons across Europe’s top leagues and produces rankings and visualisations. Some outcomes were expected. Others were inconvenient, especially when my own team ranked higher than I would like.


Developer Notes

How to run:

  • Install pandas, numpy, matplotlib
  • Place dataset in /data
  • Run main.ipynb

Behind the scenes:

  • The scoring system went through several revisions because early versions either over-penalised or made everyone look equally bad
  • A lot of testing was manual, checking whether specific seasons “felt” correctly scored
  • Visual polish took more time than the analysis itself

Possible extensions:

  • Add more leagues or cup competitions
  • Track trends over time instead of static rankings
  • Build a simple UI for exploring teams interactively

Overall, this project is less about perfect analytics and more about structured football banter, built to back up my own arguments with just enough data to sound convincing.

COYG!
COYG!