Public football analytics portfolio by Soccerholic.ai.
The goal of this repository is to build technical depth in football analytics through small, reproducible projects using public data. Each project should produce one clear artifact: a chart, a notebook, a short analysis, or a written article.
Phase 1: foundation with StatsBomb Open Data, pandas, and mplsoccer.
Success criteria:
- Pull event data for one match.
- Explain the structure of the data.
- Generate one readable pitch visualization.
- Keep the code reproducible from this repository.
| Project | Status | Output |
|---|---|---|
00-statsbomb-data-tour |
Done | Markdown tour of competitions, matches, and events |
01-statsbomb-shot-map |
Done | Shot map from StatsBomb Open Data |
02-statsbomb-pass-map |
Done | Single-player pass map from StatsBomb Open Data |
03-worldcup-analytics-export |
Done | Static World Cup analytics data for soccerholic.ai |
Use a project-specific virtual environment with Python 3.11 or 3.12. This does not change your global Python version.
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .On this machine, the working Python 3.11 interpreter is:
/Users/macminim4/.local/bin/python3.11 -m venv .venvGenerate a StatsBomb data tour:
python -m soccerholic_analytics.data_tourGenerate a shot map from StatsBomb Open Data:
python -m soccerholic_analytics.shot_mapGenerate a single-player pass map from StatsBomb Open Data:
python -m soccerholic_analytics.pass_mapExport World Cup analytics data for the website:
python -m soccerholic_analytics.export_worldcup_analyticsOr use the installed commands:
data-tour
pass-map
shot-map
worldcup-analytics-exportThe figure will be saved under outputs/figures/.
This repository uses StatsBomb Open Data for early projects. Any public output based on StatsBomb data must include attribution to StatsBomb.
Data source: https://github.com/statsbomb/open-data
This repository is intentionally public and focused only on football analytics portfolio work. Private Soccerholic.ai product code, environment variables, betting logs, and internal data do not belong here.