Football Analytics with Python
A free short course by Sportal Corporate — not a credit-bearing university award.
3h 39m of video13 videos18 written lessons
Go from no code at all to analysing real matches — Python in Colab, pandas, StatsBomb open data, FBref, pitch maps, and how expected goals is computed.
The course assumes nothing. It sets up Google Colab, then covers variables and data types, printing and f-strings, and conditionals and error handling before touching football at all. From there: working with football data in Python, getting and properly scraping data from FBref, the StatsBomb API and free data including 360 data, drawing a pitch with mplsoccer, and building a pass map. The last two lessons work through the mathematics of expected goals and expected threat.
It suits analysts who have hit the ceiling of spreadsheets, students, and anyone who wants a portfolio piece. Thirteen video lessons are released one at a time. A ten-question quiz at 80% earns a verifiable certificate.
Start learning
Free, self-paced, no payment. Work through the lessons, pass the quiz, and get a certificate you can verify by QR code.
Start free course →You will sign in with Google to save your progress. Already have a Sportal account? The same button signs you in.
What you will learn
31 lessons · 3h 39m- 1How this course works
- 2Video 1 — Setting up — Google Colab8m
- 3Notes — Setting up — Google Colab
- 4Video 2 — Variables and data types40m
- 5Notes — Variables and data types
- 6Video 3 — Printing and f-strings7m
- 7Notes — Printing and f-strings
- 8Video 4 — Conditionals and handling errors26m
- 9Notes — Conditionals and handling errors
- 10Video 5 — Getting started with football data in Python23m
- 11Notes — Getting started with football data in Python
- 12Video 6 — Getting data from FBref3m
- 13Notes — Getting data from FBref
- 14Video 7 — Scraping FBref properly11m
- 15Notes — Scraping FBref properly
- 16Video 8 — The StatsBomb API and free data11m
- 17Notes — The StatsBomb API and free data
- 18Video 9 — StatsBomb 360 data33m
- 19Notes — StatsBomb 360 data
- 20Video 10 — Drawing a pitch with mplsoccer7m
- 21Notes — Drawing a pitch with mplsoccer
- 22Video 11 — Building a pass map19m
- 23Notes — Building a pass map
- 24Video 12 — The mathematics of expected goals12m
- 25Notes — The mathematics of expected goals
- 26Video 13 — Expected threat (xT)20m
- 27Notes — Expected threat (xT)
- 28Key terms
- 29Key takeaways
- 30Applied output — Analyse one real match, and publish the notebook
- 31Exercise — Compute one xG number yourself
Lessons unlock one at a time. Finish them all, score 80% on the quiz, and your certificate is issued automatically.