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