The score and the xG side by side. Where they disagree, someone rode their luck or wasted chances — and that is exactly how the season-long gap builds up.
| Match | Score | xG | Who deserved it |
|---|---|---|---|
| Krylia Sovetov — Baltika Kaliningrad | 0:2 | 0.30 : 1.45 | deserved |
| Lokomotiv Moscow — Akron Tolyatti | 0:0 | 1.22 : 0.86 | even by chances |
| Rostov — CSKA Moscow | 0:0 | 0.61 : 0.89 | even by chances |
| Dynamo Moscow — Dynamo Makhachkala | 3:1 | 1.14 : 1.13 | even by chances |
| Zenit — Rodina Moscow | 1:2 | 1.21 : 1.05 | even by chances |
| Spartak Moscow — Krasnodar | 1:2 | 1.79 : 1.24 | got lucky |
| Rubin Kazan — Orenburg | 1:1 | 0.35 : 1.07 | dropped points |
| Fakel Voronezh — Akhmat Grozny | 0:0 | 1.65 : 0.29 | dropped points |
Spartak Moscow — 1.79 xG. Opponent: Krasnodar. Result: a defeat.
Fakel Voronezh: 1.65 xG against the opponent's 0.29. Result: a draw.