Guide

How the Oddsy model works

Oddsy blends several statistical models with a language model's reading of team news, publishes the resulting probability before kick-off, and grades every pick afterwards in public.

The inputs

Goal expectancy comes from a Dixon-Coles model, a Poisson variant built for football that accounts for low-scoring matches behaving differently from the raw maths. Team strength comes from Elo. Recent form, rest days, injuries and lineup news adjust from there.

A language model reads the surrounding context - team news, and what the numbers imply - and produces the written reasoning shown alongside each pick.

How confidence is set

Each model produces a probability, and they are blended with weights that are re-optimised weekly against how the models have actually performed. A model that has been reading a market badly loses influence in it.

The blended figure is then calibrated, because raw model outputs tend to be overconfident. A calibrated 70% should land about seven times in ten - that is the whole point of the number.

How picks are graded

Every prediction is timestamped before kick-off and locked. Afterwards it is graded correct, close or miss - close meaning the right direction but marginally the wrong side of a line, such as a 2.5 goals call ending on exactly two.

Nothing is edited or deleted afterwards. Every settled match has a public page showing what was said and what happened.

What it cannot do

It cannot tell you what will happen. It produces probabilities, and probabilities are wrong individually by design - a 70% call losing three times in ten is the model working correctly.

It does not beat every market. Roughly forty percent of headline picks carry a positive edge against the bookmaker price; the rest are published because a record with the inconvenient parts removed is not a record.

See it applied

Every match we have called is published with the model's probability, the market price and the result - including the ones we got wrong.

Browse settled predictions