Skip to content

Methodology story

Build the rating move one layer at a time

Pick two clubs, choose a result, then walk through the rating update from the simplest Elo version to the full beyondELO match adjustment.

Methodology follows the selected ranking system
After every layerParis Saint-Germain +11.4
65.6% Paris Saint-Germain / 34.4% Bayern Munich

Your match

Start with any two teams

The selected clubs load their current ratings first. You can still move the sliders to test a different starting point.

Paris Saint-Germain
Home teamParis Saint-Germain#1
Bayern Munich
Away teamBayern Munich#2
2-1
1

Step 1

Start with only the two ratings

First, ignore every match detail. The two Elo ratings give a win probability, then the result moves points from the team that underperformed to the team that overperformed.

Learn more about this step
Calculation at this pointParis Saint-Germain +9.5
Paris Saint-Germain52.6%
Bayern Munich47.4%
Paris Saint-Germain1984 -> 1993+9.5
Bayern Munich1966 -> 1957-9.5

This is the clean baseline before match context is added.

Only the two starting ratings and the chosen result are active here. Every later step changes this same exchange.

2

Step 2

Add match importance with adaptive K

A bigger stage should teach the model more. This step replaces the single base K with the competition and round weight.

Learn more about this step
Calculation at this pointParis Saint-Germain +14.2
Paris Saint-Germain52.6%
Bayern Munich47.4%
Paris Saint-Germain1984 -> 1998+14.2
Bayern Munich1966 -> 1952-14.2

This layer changes Paris Saint-Germain by +4.7 Elo compared with the previous step.

CompetitionGroupEarly knockoutLate knockout
UCL
UEL
UECL
3

Step 3

Give the home team its venue edge

Now the home side gets a small rating boost before probability is calculated. At a neutral venue, that boost is removed.

Learn more about this step
Calculation at this pointParis Saint-Germain +10.3
Paris Saint-Germain65.6%
Bayern Munich34.4%
Paris Saint-Germain1984 -> 1994+10.3
Bayern Munich1966 -> 1956-10.3

This layer changes Paris Saint-Germain by -3.9 Elo compared with the previous step.

4

Step 4

Let the scoreline explain the strength of the result

A narrow win and a dominant win should not tell the same story. Goal margin scales the move, while extra time and penalties soften the win.

Learn more about this step
Calculation at this pointParis Saint-Germain +10.3
Paris Saint-Germain65.6%
Bayern Munich34.4%
Paris Saint-Germain1984 -> 1994+10.3
Bayern Munich1966 -> 1956-10.3

This layer changes Paris Saint-Germain by 0.0 Elo compared with the previous step.

5

Step 5

Move uncertain teams faster

RD works in two directions. If the model is unsure about your team, your rating can move faster. If the opponent is uncertain, the result counts as weaker evidence.

Learn more about this step
Calculation at this pointParis Saint-Germain +11.4
Paris Saint-Germain65.6%
Bayern Munich34.4%
Paris Saint-Germain1984 -> 1995+11.4
Bayern Munich1966 -> 1954-12.0

This layer changes Paris Saint-Germain by +1.1 Elo compared with the previous step.

Paris Saint-Germain move x1.12 / x0.99 own uncertainty / opponent reliability
Bayern Munich move x1.17 / x0.99 own uncertainty / opponent reliability
6

Step 6

Put the full model together

The final rating move is still one Elo exchange. The difference is that the model now knows how important the match was, where it was played, how decisive the result was, and how certain each team rating is.

Learn more about this step
Latest UCL exampleMay 30, 2026Final
Paris Saint-Germain
Paris Saint-Germain
1-1
Arsenal
Arsenal
Expected home69.1%1,985 + 95 vs 1,940
Result weight0.5090 minutes
K team44.140 x 1.00 x 1.12 x 0.99
Home move-8.41,985 -> 1,977
Formula 1,985 + 44.1 x (0.50 - 0.691) = 1,976.6
Paris Saint-Germain1,985 -> 1,984Stored -1
Arsenal1,940 -> 1,941Stored +1