Martin Eastwood
martineastwood.co.uk
Martin Eastwood
@martineastwood.co.uk
Somewhere in the middle of a Venn diagram of machine learning and football / soccer.

http://www.pena.lt/y/blog.html
We can also split Massey Ratings into attack & defence:

🔴 LFC: best attack in the league paired with a mid-table defence
⚪️ ARS: Elite at both ends. They have the #1 defence and the #3 attack
🌳 Forest: A disaster at both ends of the pitch
October 7, 2025 at 7:55 PM
Here's how the Premier League table really looks according to Massey Ratings, which account for strength of schedule.

📈 Arsenal (+1.5) & Man City (+1.3) are clear strongest overall
😬 Man Utd (-0.2) rank in the bottom half
📉 West Ham & Forest (-1.2) are worst teams by far
October 7, 2025 at 7:54 PM
🔍 New: Flow Query DSL

Filter datasets with safe, Pythonic expressions:
- AST-parsed (no eval)
- Variables, regex, dates
- Access nested fields
August 15, 2025 at 6:59 PM
📈 Goal models are now 5-10× faster

- Cython-powered analytical gradients for speed + stability
- Fine-tune with minimizer_options:
August 15, 2025 at 6:57 PM
⚽ New: Pitch Plotting API

Build interactive football visualisations with:
- Multiple layouts & themes
- Scatter, heatmaps, arrows, comets
- Custom hover tooltips
August 15, 2025 at 6:55 PM
At the heart of matchflow is the Flow class - a lazy, composable way to work with nested football data.

You can filter, group, and summarize JSON-like data without flattening or loading everything into memory.

👇 Example:
May 25, 2025 at 8:02 PM