Insights, research, and analysis on football analytics.
Published on June 10, 2025 by Martin Eastwood
MatchFlow just got smarter, friendlier, and more powerful for optimizing your pipelines, visualizing your data flow, and keeping your data clean...
Read MorePublished on May 25, 2025 by Martin Eastwood
MatchFlow is a JSON-native query engine for football data - no flattening, no fuss...
Read MorePublished on May 01, 2025 by Martin Eastwood
Why the Ranked Probability Score might be misleading your football model evaluations, and what to use instead....
Read MorePublished on April 14, 2025 by Martin Eastwood
A smarter, football-focused alternative to Elo — using Pi Ratings to track team strength and predict matches...
Read MorePublished on March 10, 2025 by Martin Eastwood
Comparing football goals models — Poisson, Dixon-Coles, and more — to see which predicts best and how to optimize them...
Read MorePublished on January 08, 2025 by Martin Eastwood
This article walks through how to calculate expected threat in Python using linear algebra instead of the original convergence method...
Read MorePublished on December 02, 2022 by Martin Eastwood
This article walks through how to estimate goal expectancies from bookmaker's odds using Python...
Read MorePublished on November 04, 2022 by Martin Eastwood
My penaltyblog python package has been updated to v0.5.1 to include new Bayesian football (soccer) models and web scrapers...
Read MorePublished on October 18, 2022 by Martin Eastwood
It's been ten years since I started this blog...
Read MorePublished on August 05, 2022 by Martin Eastwood
This article shows how to use the penaltyblog python package to scrape football data...
Read More