How Bawler's football model works
Bawler turns team data into match probabilities, and probabilities into picks. This page explains exactly how β the model, the inputs, how picks are selected and settled, and where the model is weak. No black box.
1. The scoring model: bivariate Poisson
We model each team's goals as a Poisson process with an attacking rate (expected goals scored) and a defensive rate (expected goals conceded), linked by a bivariate term that captures the correlation between the two sides' scoring. From the joint distribution over scorelines we derive every market probability β win/draw/win, over/under, both teams to score, correct score, and more.
2. The inputs
- Rolling expected goals (xG) β time-decayed, so recent matches weigh more than old ones.
- Form & opponent strength β adjusted for the quality of opposition faced.
- Home advantage β league- and venue-aware.
- Lineups & injuries β picks are finalised when official lineups drop, with availability adjustments.
- End-of-season stakes β title, European and relegation motivation in the final weeks.
3. The four pick tiers
- Banker β highest-confidence single market, typically ~70β80% model probability. Free.
- Value β where the bookmaker line undervalues the model's probability (positive expected value).
- Bawl Out β a four-leg accumulator across bet types; wins only if every leg lands.
- Dark Horse β a deliberate longshot where the market looks to be underpricing an outcome.
4. Logging & settlement β why the record is trustworthy
When lineups confirm (~75 minutes before kickoff) each pick is written to an append-only log with a content hash. That hash makes the pick tamper-evident: it cannot be quietly changed or backdated after the fact. Results are settled automatically from live match data β we never hand-grade our own picks, and nothing is ever deleted. Every settled pick and the live hit rate are on the public track record, which you can recompute yourself.
5. Weekly recalibration
The model is recalibrated weekly against actual results, so probability estimates stay honest over time rather than drifting. We track calibration (do things we call 70% happen ~70% of the time?), not just hit rate.
6. Limitations & known failure modes
- Low-data leagues and early-season fixtures have noisier xG and wider error.
- Derbies and cup one-offs are less predictable than the model's base rates imply.
- Late team news after lineup lock isn't captured.
- No model beats variance in the short run β judge it over large samples, not single weeks.
Bawler is statistical analysis for entertainment, not betting advice. Model estimates are not guaranteed outcomes. 18+ β please gamble responsibly.