{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \"Penalty\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# penaltyblog: Football Data & Modelling Made Easy\n", "\n", "**penaltyblog** is a production-ready Python package designed for football (soccer) analytics, providing powerful tools from [pena.lt/y/blog](https://pena.lt/y/blog) for data analysis, outcome modelling, and betting insights. Optimized with Cython, **penaltyblog** delivers high-performance modelling to power faster, efficient predictions.\n", "\n", "## Features\n", "- ⚽ **Scrape Data** – Collect match statistics from sources like FBRef, Understat, Club Elo, and Fantasy Premier League.\n", "- 📊 **Model Matches Efficiently** – High-performance implementations of Poisson, Bivariate Poisson, Dixon-Coles, and other advanced statistical models, optimized with Cython for rapid analysis.\n", "- 💰 **Bet Smarter** – Precisely estimate probabilities for Asian handicaps, over/under totals, match outcomes, and more.\n", "- 🏆 **Rank Teams** – Evaluate team strengths with sophisticated methods including Elo, Massey, Colley, and Pi ratings.\n", "- 📈 **Decode Bookmaker Odds** – Accurately extract implied probabilities by removing bookmaker margins (overrounds).\n", "- 🎯 **Fantasy Football Optimisation** – Mathematically optimize your fantasy football squad to maximize performance.\n", "\n", "Take your football analytics and betting strategy to the next level with **penaltyblog** 🚀\n", "\n", "## Installation\n", "\n", "```bash\n", "pip install penaltyblog\n", "```\n", "\n", "\n" ] }, { "cell_type": "raw", "metadata": { "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" }, "tags": [], "vscode": { "languageId": "raw" } }, "source": [ ".. toctree::\n", " :maxdepth: 1\n", " :caption: Table of Contents\n", "\n", " backtest/index\n", " fpl/index\n", " implied/index\n", " install/index\n", " kelly/index\n", " metrics/index \n", " models/index\n", " ratings/index \n", " scrapers/index\n", "\n", ".. toctree::\n", " :maxdepth: 1\n", " :caption: Resources & References\n", "\n", " changelog/index \n", " references/index\n", " api_reference/index" ] }, { "cell_type": "raw", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.1" } }, "nbformat": 4, "nbformat_minor": 4 }