Combining forecasts often beats any single one. So a natural next step after building an Elo model is to blend it with the betting market: perhaps the model adds something the market misses. We tested the idea on real data. The answer, for a simple Elo model, is a clear no, and the reason is instructive.
The experiment
We used the forecasts from Score Your Model With the Brier Score: our Elo model and margin-free market probabilities for 2,660 Premier League matches from 2019-20 to 2025-26. For each weight w, the blended forecast is:
blend = w × Elo + (1 − w) × market
for w in (0.0, 0.1, 0.2, 0.3, 0.5):
for o in "hda":
test[f"bl_{o}"] = w * test[f"elo_{o}"] + (1 - w) * test[f"mkt_{o}"]
print(w, round(brier(test, ["bl_h", "bl_d", "bl_a"]), 5))
The results
| Weight on Elo | Brier score |
|---|---|
| 0% (market only) | 0.57447 |
| 10% | 0.57479 |
| 20% | 0.57537 |
| 30% | 0.57619 |
| 50% | 0.57859 |
Our own results. Lower is better. The Elo model alone scored 0.58897 on the same matches.
Every amount of Elo made the forecasts worse, and the more Elo we added, the worse they got.
Why blending did not help
Blending helps when the forecasts being combined are comparably good and make different errors. Our Elo model fails both tests:
- It is clearly weaker than the market. It uses only past results, while the market also reflects injuries, lineups, transfers and many other models.
- Its information is already in the market. Past results are public and are surely part of what market prices reflect. Elo adds no new information, only extra noise.
Key point: Combining forecasts is not magic. A weak forecast that only repeats what a stronger one already knows does not add a second opinion; it dilutes the first.
What could help
A model is worth blending only if it contains information the market does not, or processes it better. Candidates people try include:
- Expected goals (xG) instead of results, which measure performance with less luck.
- Faster information, such as reacting to lineups before prices fully adjust.
- Niche markets where prices are set with less attention.
Each of these should be tested exactly as we did here: on held-out seasons, with a proper scoring rule, against the market alone.
Watch out: If your model does not improve the market's Brier score when blended, it should not be used to look for "value" against market prices either. Disagreeing with the market is not evidence of an edge.
Takeaway for your own models
Run this test before anything else. It is cheap, honest and tells you quickly whether your model contains new information. Our Elo model is a fine learning tool and a good benchmark against naive baselines, but against a liquid market it adds nothing.
For the building blocks, see Build an Elo Rating System in Python and Turn Odds Into Probabilities in Python.
- Blending a simple Elo model into market probabilities made the Brier score worse at every weight we tried.
- Blending helps only when forecasts are comparably good and carry different information.
- Test any model this way before using it to second-guess market prices.
Sources
- Combining forecasts: a review and annotated bibliography — Robert T. Clemen, International Journal of Forecasting, 1989
- English football results and data — Football-Data.co.uk
18+ only. Models do not guarantee results. See our Responsible Gambling page.