Skip to content

⚽ High-performance football analytics toolkit: scrape data, model matches, rank teams, and bet smarter | Powered by pena.lt/y/blog πŸš€

License

Notifications You must be signed in to change notification settings

martineastwood/penaltyblog

Repository files navigation

Penalty Blog

Penalty Blog Logo

penaltyblog: Football Data & Modelling Made Easy

penaltyblog is a production-ready Python toolkit for football analytics β€” built for speed, clarity, and real-world impact.

Features

  • ⚽ Scrape Data – Collect match statistics from sources like FBRef, Understat, Club Elo, and Fantasy Premier League.
  • πŸ“Š Model Matches Efficiently – High-performance implementations of Poisson, Bivariate Poisson, Dixon-Coles, and other advanced statistical models, optimized with Cython for rapid analysis.
  • πŸ’° Bet Smarter – Precisely estimate probabilities for Asian handicaps, over/under totals, match outcomes, and more.
  • πŸ† Rank Teams – Evaluate team strengths with sophisticated methods including Elo, Massey, Colley, and Pi ratings.
  • πŸ“ˆ Decode Bookmaker Odds – Accurately extract implied probabilities by removing bookmaker margins (overrounds).
  • 🎯 Fantasy Football Optimisation – Mathematically optimize your fantasy football squad to maximize performance.

Take your football analytics and betting strategy to the next level with penaltyblog πŸš€

Installation

pip install penaltyblog

Documentation

Learn more about how to utilize penaltyblog by exploring the official documentation and detailed examples:

Why Penaltyblog?

Unlike many football analytics resources that are academic, one-off, or hard to scale, penaltyblog is designed from the ground up to be production-ready, performance-optimized, and practically useful.

It combines advanced statistical models, efficient implementations (via Cython), and real-world workflows β€” from scraping public data to modelling outcomes and optimising fantasy teams.

Built by Martin Eastwood, who has worked with football clubs, governing bodies, and player agencies worldwide, penaltyblog is the foundation for football analytics.

Whether you're a club analyst, independent researcher, or just data-curious, penaltyblog gives you the tools to go from data to insight β€” fast, flexibly, and with confidence.

Support & Collaboration

If you're working at a football club, agency, or organisation and want help applying these tools to your own data or workflows, I'm open to:

  • πŸ“‚ Integration support
  • πŸ”§ Custom model development
  • 🧠 Technical collaboration on football analytics projects

➑️ Get in touch here