Footlab methodology

How our football algorithm actually works.

Two engines, one logic: measure a match with explainable weighted signals, then compare our probability with the market-implied price.

Ligue 1 engine

The Ligue 1 engine relies on 15 phase-weighted criteria. They describe recent momentum, structural quality and the sustainability of team performance.

The 15 tracked criteria

Phase-based weighting

Weights are not identical all year. Early season, mid-season and the final sprint do not carry the same information structure. Coefficients are calibrated by phase, then frozen to avoid opportunistic tuning.

International engine

The international engine is used for national-team tournaments, especially the World Cup and the Euros. It reduces small-sample noise with a more structural base.

The 6 national-team building blocks

International Elo

The long-term strength anchor of the national team.

Recent form

Results and content of the latest international matches.

Attacking potential

Ability to create chances and convert territorial dominance.

Defensive solidity

Off-ball resistance, structural quality and management of weak phases.

Tournament experience

Historic ability to perform in major competitions.

Head-to-head

Recent history between the two national teams when it is usable.

Main difference vs Ligue 1

The international engine prioritises robust signals and long-term stability. It tolerates less noise than the league engine because national teams play far less often.

Rules shared by both engines

Probability cap

No output is shown at 0% or 100%. Probabilities are capped between 1% and 97% to prevent algorithmic overconfidence.

Expected value

Expected value compares our model probability to the implied probability of the available market price.

EV = (model_probability × decimal_odd) − 1

A positive EV does not guarantee a winning bet. It only means that, over time, the market price looks lower than our estimate.

Reading policy:

Dynamic Consistency Index (DCI)

The DCI measures how stable a team profile is. The more a team reproduces the same performance patterns, the more conviction can rise at equal edge.

Our public commitments

No rewriting the past

Historical records are not recomputed after the fact to make the track record look better.

Visible methodology

The building blocks of the model are described publicly and important changes must be explained.

No promise of profit

Footlab shows probabilities and edges, never certainty.

Consistency first

The same reading framework is applied to every match within the same competition family.

See the engine in action

Algorithm FAQ

Why not show 0% or 100%?

Because no football match is certain. The cap protects the model from overconfidence.

Is the engine recalibrated every week?

No. Weights are calibrated, then frozen within their phase to avoid opportunistic tweaks.

What does a positive edge mean?

It means our estimated probability is higher than the bookmaker’s implied one.

Does the international engine work like the Ligue 1 engine?

It follows the same philosophy, but with fewer criteria and more structural signals.

Is positive EV enough to bet?

No. EV is a reading filter, not a guaranteed outcome.