- Matches
- 244 / 244
- Season complete
- Goals
- 615
- 2.52 per match
League leaders
-
Finished first
Zenit St. Petersburg
ZEN
68 pts
30 played 2 points clear
-
Best attack
FK Krasnodar & Lokomotiv Moscow
1.88 xG per match
-
Best defence
Zenit St. Petersburg
ZEN
0.85 xGA per match
25.50 xGA in 30 matches
-
Strongest underlying
Zenit St. Petersburg
ZEN
+0.92 xGD per match
58.25 xPts · 1st on xPts
What the Russian Premier League numbers say
Zenit St. Petersburg finished first on 68 points. Their +0.92 xG difference per match was also the best in the league. FC Rostov finished with 33 points from 44.55 xPts, the furthest below expected in the league. On xPts, CSKA Moscow would have finished 9th rather than 5th.
Table
| # | Team | P | Pts | xG | xGA | xGD | xPts |
|---|---|---|---|---|---|---|---|
| 1 | Zenit St. Petersburg | 30 | 68 | 53.24 | 25.50 | +27.74 | 58.25 |
| 2 | FK Krasnodar | 30 | 66 | 54.57 | 29.62 | +24.95 | 54.47 |
| 3 | Lokomotiv Moscow | 30 | 53 | 56.47 | 47.78 | +8.69 | 48.66 |
| 4 | FC Spartak Moscow | 30 | 52 | 53.38 | 36.52 | +16.86 | 52.08 |
| 5 | CSKA Moscow | 30 | 51 | 45.21 | 47.18 | −1.97 | 40.30 |
Where the table and the chances disagree
Actual vs xPts position
Higher in the table than on xPts
- CSKA Moscow CSK 5th · 9th on xPts 4 above xPts rank
- Rubin Kazan RUB 8th · 12th on xPts 4 above xPts rank
- Krylya Sovetov Samara KRY 11th · 14th on xPts 3 above xPts rank
Lower in the table than on xPts
- Dinamo Makhachkala DIN 12th · 8th on xPts 4 below xPts rank
- FC Rostov FCR 10th · 7th on xPts 3 below xPts rank
- Orenburg ORE 14th · 11th on xPts 3 below xPts rank
Points and goals against the chances
-
Most points above xPts
Actual points minus expected points based on match xG.
CSKA Moscow
CSK
+10.70
51 pts from 40.30 xPts
-
Most points below xPts
Actual points minus expected points based on match xG.
FC Rostov
FCR
−11.55
33 pts from 44.55 xPts
-
Most goals above xG
Goals scored minus the xG of the chances taken.
Krylya Sovetov Samara
KRY
+4.29
35 goals from 30.71 xG
-
Fewest conceded vs xGA
Goals conceded minus the xG of the chances allowed.
CSKA Moscow
CSK
−14.18
33 conceded from 47.18 xGA
- Better than the chances
- Worse than the chances
A gap can come from finishing, goalkeeping, game state or chance. xG and xPts are model estimates, not the result a team deserved.
Attack and defence
Strong and weak mean above or below the league average, the dashed lines. Fewer xGA per match sits higher, so top-right is strong at both ends.Zenit St. Petersburg
P 30 · Pts 68 · 1st
xG/match 1.77 · xGA/match 0.85 · xGD/match +0.92
xPts 58.25
Open Zenit St. PetersburgFK Krasnodar
P 30 · Pts 66 · 2nd
xG/match 1.88 · xGA/match 1.02 · xGD/match +0.86
xPts 54.47
Open FK KrasnodarFC Spartak Moscow
P 30 · Pts 52 · 4th
xG/match 1.78 · xGA/match 1.22 · xGD/match +0.56
xPts 52.08
Open FC Spartak MoscowDynamo Moscow
P 30 · Pts 45 · 7th
xG/match 1.80 · xGA/match 1.36 · xGD/match +0.43
xPts 47.89
Open Dynamo MoscowBaltika Kaliningrad
P 30 · Pts 46 · 6th
xG/match 1.47 · xGA/match 1.14 · xGD/match +0.32
xPts 47.55
Open Baltika KaliningradLokomotiv Moscow
P 30 · Pts 53 · 3rd
xG/match 1.88 · xGA/match 1.59 · xGD/match +0.29
xPts 48.66
Open Lokomotiv MoscowFC Rostov
P 30 · Pts 33 · 10th
xG/match 1.35 · xGA/match 1.20 · xGD/match +0.16
xPts 44.55
Open FC RostovCSKA Moscow
P 30 · Pts 51 · 5th
xG/match 1.51 · xGA/match 1.57 · xGD/match −0.07
xPts 40.30
Open CSKA MoscowAkhmat Grozny
P 30 · Pts 37 · 9th
xG/match 1.30 · xGA/match 1.36 · xGD/match −0.07
xPts 39.19
Open Akhmat GroznyRubin Kazan
P 30 · Pts 43 · 8th
xG/match 1.14 · xGA/match 1.23 · xGD/match −0.09
xPts 37.17
Open Rubin KazanDinamo Makhachkala
P 32 · Pts 32 · 12th
xG/match 1.09 · xGA/match 1.21 · xGD/match −0.12
xPts 40.86
Open Dinamo MakhachkalaOrenburg
P 30 · Pts 29 · 14th
xG/match 1.38 · xGA/match 1.60 · xGD/match −0.22
xPts 38.27
Open OrenburgAkron Togliatti
P 32 · Pts 30 · 13th
xG/match 1.32 · xGA/match 1.82 · xGD/match −0.50
xPts 34.03
Open Akron TogliattiPari Nizhny Novgorod
P 30 · Pts 23 · 15th
xG/match 1.11 · xGA/match 1.81 · xGD/match −0.69
xPts 27.88
Open Pari Nizhny NovgorodKrylya Sovetov Samara
P 30 · Pts 32 · 11th
xG/match 1.02 · xGA/match 1.79 · xGD/match −0.77
xPts 28.03
Open Krylya Sovetov SamaraFC Sochi
P 30 · Pts 22 · 16th
xG/match 0.93 · xGA/match 1.94 · xGD/match −1.01
xPts 24.42
Open FC SochiRotor Volgograd
P 2 · Pts 3 · 17th
xG/match 1.68 · xGA/match 1.41 · xGD/match +0.28
xPts 3.06
Only 2 matches with xG, so it is left out of the averages.
Open Rotor VolgogradUral Yekaterinburg
P 2 · Pts 0 · 18th
xG/match 0.54 · xGA/match 0.94 · xGD/match −0.39
xPts 1.93
Only 2 matches with xG, so it is left out of the averages.
Open Ural Yekaterinburg| Club | xG/match | xGA/match | xGD/match |
|---|---|---|---|
| Zenit St. Petersburg ZEN | 1.77 | 0.85 | +0.92 |
| FK Krasnodar FKK | 1.88 | 1.02 | +0.86 |
| FC Spartak Moscow FCS | 1.78 | 1.22 | +0.56 |
| Dynamo Moscow DYN | 1.80 | 1.36 | +0.43 |
| Baltika Kaliningrad BAL | 1.47 | 1.14 | +0.32 |
| Lokomotiv Moscow LOK | 1.88 | 1.59 | +0.29 |
| FC Rostov FCR | 1.35 | 1.20 | +0.16 |
| CSKA Moscow CSK | 1.51 | 1.57 | −0.07 |
| Akhmat Grozny AKH | 1.30 | 1.36 | −0.07 |
| Rubin Kazan RUB | 1.14 | 1.23 | −0.09 |
| Dinamo Makhachkala DIN | 1.09 | 1.21 | −0.12 |
| Orenburg ORE | 1.38 | 1.60 | −0.22 |
| Akron Togliatti AKR | 1.32 | 1.82 | −0.50 |
| Pari Nizhny Novgorod PAR | 1.11 | 1.81 | −0.69 |
| Krylya Sovetov Samara KRY | 1.02 | 1.79 | −0.77 |
| FC Sochi FCS | 0.93 | 1.94 | −1.01 |
| Rotor Volgograd ROT 2 with xG | 1.68 | 1.41 | +0.28 |
| Ural Yekaterinburg URA 2 with xG | 0.54 | 0.94 | −0.39 |
- Top 3 in the table
- Other clubs
- Hollow: fewer than 22 matches with xG.
- Above average at both ends
- Below average at both ends
All xG. Hover, focus or tap a dot for its figures.
Latest results
-
xG 1.28 – 2.35 Followed the xG
-
xG 1.21 – 0.39 Followed the xG
-
xG 1.01 – 1.53 Followed the xG
-
xG 0.70 – 0.66 Level on xG
-
FK Krasnodar 3–0 Orenburg
xG 2.69 – 1.39 Followed the xG