Vasco da Gama have the biggest shortfall in the Campeonato Brasileiro: 31 points from chances worth 44.9 xPts, a gap of 13.9. At the other end, Palmeiras have taken 57 points from an xPts figure of 43.6, 13.4 more than the underlying numbers justify.
Expected goals measure the quality of the chances a team creates and concedes, with every shot scored between 0 and 1 by how often shots like it are converted. Expected points come from running each finished match through a Poisson model using both sides' xG, giving a win, draw and loss probability, then awarding three points and one point against those probabilities. Underlying data is supplied by Sportmonks.
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Flamengo | 14 | 28 | 26.4 | +1.6 | 10 | 11.4 | -1.4 | +18 | 15.0 | +3.0 | 33 | 28.8 | +4.2 |
| 2 | Vasco da Gama | 14 | 21 | 32.9 | -11.9 | 18 | 16.2 | +1.8 | +3 | 16.8 | -13.8 | 23 | 27.0 | -4.0 |
| 3 | Athletico PR | 14 | 25 | 23.4 | +1.6 | 11 | 11.4 | -0.4 | +14 | 12.0 | +2.0 | 31 | 26.3 | +4.7 |
| 4 | Internacional | 14 | 16 | 22.6 | -6.6 | 16 | 13.5 | +2.5 | +0 | 9.1 | -9.1 | 14 | 25.2 | -11.2 |
| 5 | Fluminense | 14 | 24 | 23.4 | +0.6 | 14 | 14.7 | -0.7 | +10 | 8.7 | +1.3 | 33 | 24.9 | +8.1 |
| 6 | Cruzeiro | 14 | 24 | 21.2 | +2.8 | 16 | 13.0 | +3.0 | +8 | 8.2 | -0.2 | 25 | 24.9 | +0.1 |
| 7 | Bahia | 14 | 22 | 22.4 | -0.4 | 14 | 14.6 | -0.6 | +8 | 7.9 | +0.1 | 24 | 24.7 | -0.7 |
| 8 | São Paulo | 14 | 22 | 23.8 | -1.8 | 12 | 14.2 | -2.2 | +10 | 9.6 | +0.4 | 27 | 24.2 | +2.8 |
| 9 | Santos | 14 | 20 | 18.8 | +1.2 | 18 | 12.7 | +5.3 | +2 | 6.1 | -4.1 | 22 | 23.2 | -1.2 |
| 10 | Palmeiras | 13 | 23 | 19.8 | +3.2 | 9 | 11.6 | -2.6 | +14 | 8.2 | +5.8 | 30 | 23.0 | +7.0 |
| 11 | Bragantino | 13 | 19 | 18.7 | +0.3 | 14 | 10.9 | +3.1 | +5 | 7.8 | -2.8 | 20 | 22.8 | -2.8 |
| 12 | Corinthians | 15 | 15 | 17.0 | -2.0 | 16 | 13.9 | +2.1 | -1 | 3.2 | -4.2 | 18 | 22.7 | -4.7 |
| 13 | Atlético Mineiro | 14 | 24 | 22.1 | +1.9 | 16 | 16.6 | -0.6 | +8 | 5.5 | +2.5 | 29 | 22.6 | +6.4 |
| 14 | Botafogo | 14 | 24 | 20.8 | +3.2 | 20 | 15.4 | +4.6 | +4 | 5.4 | -1.4 | 21 | 22.6 | -1.6 |
| 15 | Mirassol | 15 | 21 | 20.0 | +1.0 | 21 | 19.9 | +1.1 | +0 | 0.0 | +0.0 | 23 | 20.9 | +2.1 |
| 16 | Vitória | 14 | 18 | 16.7 | +1.3 | 12 | 16.6 | -4.6 | +6 | 0.1 | +5.9 | 28 | 19.8 | +8.2 |
| 17 | Chapecoense | 13 | 18 | 19.0 | -1.0 | 29 | 18.5 | +10.5 | -11 | 0.5 | -11.5 | 11 | 18.7 | -7.7 |
| 18 | Coritiba | 14 | 19 | 15.9 | +3.1 | 19 | 18.9 | +0.1 | +0 | -3.0 | +3.0 | 19 | 17.8 | +1.2 |
| 19 | Remo | 14 | 18 | 16.5 | +1.5 | 19 | 18.9 | +0.1 | -1 | -2.5 | +1.5 | 14 | 17.2 | -3.2 |
| 20 | Grêmio | 14 | 22 | 17.4 | +4.6 | 16 | 22.8 | -6.8 | +6 | -5.4 | +11.4 | 25 | 16.6 | +8.4 |
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Flamengo | 14 | 27 | 21.7 | +5.3 | 13 | 16.3 | -3.3 | +14 | 5.3 | +8.7 | 27 | 22.1 | +4.9 |
| 2 | Palmeiras | 15 | 24 | 17.2 | +6.8 | 12 | 16.9 | -4.9 | +12 | 0.4 | +11.6 | 27 | 20.6 | +6.4 |
| 3 | Bahia | 14 | 21 | 22.3 | -1.3 | 21 | 21.2 | -0.2 | +0 | 1.1 | -1.1 | 22 | 19.6 | +2.4 |
| 4 | São Paulo | 14 | 11 | 17.7 | -6.7 | 20 | 18.4 | +1.6 | -9 | -0.6 | -8.4 | 9 | 18.3 | -9.3 |
| 5 | Vasco da Gama | 13 | 13 | 14.9 | -1.9 | 23 | 14.6 | +8.4 | -10 | 0.3 | -10.3 | 8 | 17.9 | -9.9 |
| 6 | Bragantino | 15 | 14 | 19.5 | -5.5 | 18 | 24.3 | -6.3 | -4 | -4.8 | +0.8 | 16 | 17.8 | -1.8 |
| 7 | Atlético Mineiro | 14 | 13 | 15.7 | -2.7 | 16 | 18.5 | -2.5 | -3 | -2.8 | -0.2 | 14 | 17.4 | -3.4 |
| 8 | Cruzeiro | 14 | 18 | 17.0 | +1.0 | 24 | 21.9 | +2.1 | -6 | -4.9 | -1.1 | 20 | 16.7 | +3.3 |
| 9 | Internacional | 14 | 14 | 15.5 | -1.5 | 20 | 18.7 | +1.3 | -6 | -3.2 | -2.8 | 14 | 16.2 | -2.2 |
| 10 | Fluminense | 14 | 20 | 15.1 | +4.9 | 22 | 19.3 | +2.7 | -2 | -4.2 | +2.2 | 15 | 16.2 | -1.2 |
| 11 | Santos | 14 | 23 | 16.5 | +6.5 | 23 | 21.9 | +1.1 | +0 | -5.4 | +5.4 | 19 | 15.6 | +3.4 |
| 12 | Athletico PR | 14 | 18 | 13.8 | +4.2 | 21 | 21.6 | -0.6 | -3 | -7.8 | +4.8 | 18 | 14.7 | +3.3 |
| 13 | Remo | 14 | 14 | 15.0 | -1.0 | 28 | 22.1 | +5.9 | -14 | -7.1 | -6.9 | 9 | 14.6 | -5.6 |
| 14 | Botafogo | 14 | 17 | 14.8 | +2.2 | 25 | 23.8 | +1.2 | -8 | -9.1 | +1.1 | 14 | 14.0 | +0.0 |
| 15 | Mirassol | 13 | 12 | 14.9 | -2.9 | 21 | 21.6 | -0.6 | -9 | -6.8 | -2.2 | 9 | 13.8 | -4.8 |
| 16 | Corinthians | 13 | 14 | 8.1 | +5.9 | 16 | 15.3 | +0.7 | -2 | -7.2 | +5.2 | 14 | 12.7 | +1.3 |
| 17 | Coritiba | 14 | 18 | 13.2 | +4.8 | 24 | 25.1 | -1.1 | -6 | -11.9 | +5.9 | 19 | 12.3 | +6.7 |
| 18 | Vitória | 14 | 10 | 10.6 | -0.6 | 30 | 24.4 | +5.6 | -20 | -13.9 | -6.1 | 5 | 11.2 | -6.2 |
| 19 | Grêmio | 14 | 8 | 9.7 | -1.7 | 22 | 24.0 | -2.0 | -14 | -14.4 | +0.4 | 4 | 10.6 | -6.6 |
| 20 | Chapecoense | 14 | 11 | 12.4 | -1.4 | 24 | 28.7 | -4.7 | -13 | -16.3 | +3.3 | 7 | 10.6 | -3.6 |
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Flamengo | 5 | 10 | 11.4 | -1.4 | 2 | 3.6 | -1.6 | +8 | 7.8 | +0.2 | 15 | 11.5 | +3.5 |
| 2 | Bahia | 5 | 11 | 12.0 | -1.0 | 7 | 6.2 | +0.8 | +4 | 5.8 | -1.8 | 12 | 10.1 | +1.9 |
| 3 | Vasco da Gama | 5 | 11 | 13.0 | -2.0 | 7 | 5.4 | +1.6 | +4 | 7.6 | -3.6 | 9 | 9.8 | -0.8 |
| 4 | São Paulo | 5 | 6 | 8.7 | -2.7 | 5 | 5.1 | -0.1 | +1 | 3.6 | -2.6 | 9 | 9.4 | -0.4 |
| 5 | Palmeiras | 5 | 7 | 9.4 | -2.4 | 2 | 5.6 | -3.6 | +5 | 3.9 | +1.1 | 9 | 9.2 | -0.2 |
| 6 | Botafogo | 5 | 4 | 6.8 | -2.8 | 8 | 5.6 | +2.4 | -4 | 1.3 | -5.3 | 5 | 7.7 | -2.7 |
| 7 | Atlético Mineiro | 5 | 7 | 7.1 | -0.1 | 5 | 5.9 | -0.9 | +2 | 1.2 | +0.8 | 10 | 7.6 | +2.4 |
| 8 | Fluminense | 5 | 10 | 6.7 | +3.3 | 8 | 7.0 | +1.0 | +2 | -0.3 | +2.3 | 10 | 6.7 | +3.3 |
| 9 | Cruzeiro | 5 | 10 | 7.8 | +2.2 | 8 | 9.4 | -1.4 | +2 | -1.6 | +3.6 | 9 | 6.7 | +2.3 |
| 10 | Chapecoense | 5 | 6 | 7.9 | -1.9 | 7 | 9.1 | -2.1 | -1 | -1.2 | +0.2 | 7 | 6.5 | +0.5 |
| 11 | Corinthians | 5 | 4 | 6.1 | -2.1 | 10 | 7.5 | +2.5 | -6 | -1.4 | -4.6 | 0 | 6.4 | -6.4 |
| 12 | Internacional | 5 | 6 | 5.7 | +0.3 | 8 | 6.8 | +1.2 | -2 | -1.1 | -0.9 | 4 | 6.0 | -2.0 |
| 13 | Santos | 5 | 10 | 5.8 | +4.2 | 5 | 7.0 | -2.0 | +5 | -1.1 | +6.1 | 15 | 6.0 | +9.0 |
| 14 | Mirassol | 5 | 7 | 5.9 | +1.1 | 6 | 8.0 | -2.0 | +1 | -2.1 | +3.1 | 8 | 5.6 | +2.4 |
| 15 | Remo | 5 | 5 | 7.0 | -2.0 | 10 | 9.4 | +0.6 | -5 | -2.4 | -2.6 | 0 | 5.3 | -5.3 |
| 16 | Athletico PR | 5 | 12 | 6.3 | +5.7 | 12 | 9.7 | +2.3 | +0 | -3.4 | +3.4 | 8 | 5.3 | +2.7 |
| 17 | Coritiba | 5 | 9 | 6.2 | +2.8 | 13 | 11.5 | +1.5 | -4 | -5.3 | +1.3 | 7 | 4.9 | +2.1 |
| 18 | Bragantino | 5 | 5 | 5.6 | -0.6 | 9 | 9.7 | -0.7 | -4 | -4.0 | +0.0 | 1 | 4.8 | -3.8 |
| 19 | Vitória | 5 | 5 | 4.4 | +0.6 | 9 | 8.5 | +0.5 | -4 | -4.2 | +0.2 | 4 | 4.7 | -0.7 |
| 20 | Grêmio | 5 | 6 | 4.2 | +1.8 | 7 | 10.8 | -3.8 | -1 | -6.7 | +5.7 | 4 | 3.2 | +0.8 |
Palmeiras are overperforming their xG by more than any other side in Campeonato Brasileiro in 2026, with 47 goals from chances worth 37.0 xG, a gap of 10.0. Coritiba are next on 7.9.
Vasco da Gama are underperforming their xG by more than any other side in Campeonato Brasileiro in 2026, with 34 goals from chances worth 47.8 xG, a shortfall of 13.8. São Paulo are next on 8.5.
Palmeiras are the luckiest side in Campeonato Brasileiro in 2026, with 57 points from performances worth 43.6 xPts, 13.4 more than their chances deserved. Flamengo are next on 9.2.
Vasco da Gama are the unluckiest side in Campeonato Brasileiro in 2026, with 31 points from performances worth 44.9 xPts, 13.9 short of what they deserved. Internacional are next on 13.4.
Flamengo would also be top of Campeonato Brasileiro in 2026 on expected points, with 50.8 xPts from 48.1 xG created and 27.7 conceded across 28 matches. Vasco da Gama are next on 44.9.
Flamengo have created the most xG in Campeonato Brasileiro in 2026, 48.1 from 28 matches, 1.7 a game against a competition average of 1.3. Vasco da Gama are next on 47.8.
Corinthians have created the least xG in Campeonato Brasileiro in 2026, 25.1 from 28 matches, 0.9 a game against a competition average of 1.3. Grêmio are next on 27.0.
Chapecoense have conceded the most xG in Campeonato Brasileiro in 2026, 47.1 from 27 matches, 1.8 a game against a competition average of 1.3. Grêmio are next on 46.8.
Flamengo have conceded the least xG in Campeonato Brasileiro in 2026, 27.7 from 28 matches, 1.0 a game against a competition average of 1.3. Palmeiras are next on 28.5.
Campeonato Brasileiro teams have averaged 1.30 xG a game in 2026, from the 279 matches played, and have scored 1.33 goals a game from it. That is up from 1.27 xG a game in 2025.
Campeonato Brasileiro teams create more xG at home in 2026, 1.50 a game against 1.10 away, a home advantage of +0.41, against +0.49 in 2025.
The same season by player, with the goals each one scored against the chances they had.
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Flamengo | 28 | 55 | 48.1 | +6.9 | 23 | 27.7 | -4.7 | +32 | 20.3 | +11.7 | 60 | 50.8 | +9.2 |
| 2 | Vasco da Gama | 27 | 34 | 47.8 | -13.8 | 41 | 30.8 | +10.2 | -7 | 17.1 | -24.1 | 31 | 44.9 | -13.9 |
| 3 | Bahia | 28 | 43 | 44.7 | -1.7 | 35 | 35.7 | -0.7 | +8 | 9.0 | -1.0 | 46 | 44.3 | +1.7 |
| 4 | Palmeiras | 28 | 47 | 37.0 | +10.0 | 21 | 28.5 | -7.5 | +26 | 8.5 | +17.5 | 57 | 43.6 | +13.4 |
| 5 | São Paulo | 28 | 33 | 41.5 | -8.5 | 32 | 32.5 | -0.5 | +1 | 9.0 | -8.0 | 36 | 42.6 | -6.6 |
| 6 | Cruzeiro | 28 | 42 | 38.2 | +3.8 | 40 | 34.9 | +5.1 | +2 | 3.3 | -1.3 | 45 | 41.6 | +3.4 |
| 7 | Internacional | 28 | 30 | 38.1 | -8.1 | 36 | 32.1 | +3.9 | -6 | 5.9 | -11.9 | 28 | 41.4 | -13.4 |
| 8 | Fluminense | 28 | 44 | 38.5 | +5.5 | 36 | 34.1 | +1.9 | +8 | 4.4 | +3.6 | 48 | 41.0 | +7.0 |
| 9 | Athletico PR | 28 | 43 | 37.2 | +5.8 | 32 | 33.0 | -1.0 | +11 | 4.2 | +6.8 | 49 | 41.0 | +8.0 |
| 10 | Bragantino | 28 | 33 | 38.3 | -5.3 | 32 | 35.2 | -3.2 | +1 | 3.0 | -2.0 | 36 | 40.6 | -4.6 |
| 11 | Atlético Mineiro | 28 | 37 | 37.8 | -0.8 | 32 | 35.1 | -3.1 | +5 | 2.7 | +2.3 | 43 | 40.0 | +3.0 |
| 12 | Santos | 28 | 43 | 35.3 | +7.7 | 41 | 34.6 | +6.4 | +2 | 0.8 | +1.2 | 41 | 38.8 | +2.2 |
| 13 | Botafogo | 28 | 41 | 35.6 | +5.4 | 45 | 39.2 | +5.8 | -4 | -3.6 | -0.4 | 35 | 36.6 | -1.6 |
| 14 | Corinthians | 28 | 29 | 25.1 | +3.9 | 32 | 29.2 | +2.8 | -3 | -4.1 | +1.1 | 32 | 35.4 | -3.4 |
| 15 | Mirassol | 28 | 33 | 34.8 | -1.8 | 42 | 41.5 | +0.5 | -9 | -6.7 | -2.3 | 32 | 34.8 | -2.8 |
| 16 | Remo | 28 | 32 | 31.4 | +0.6 | 47 | 41.0 | +6.0 | -15 | -9.5 | -5.5 | 23 | 31.8 | -8.8 |
| 17 | Vitória | 28 | 28 | 27.2 | +0.8 | 42 | 41.0 | +1.0 | -14 | -13.8 | -0.2 | 33 | 31.0 | +2.0 |
| 18 | Coritiba | 28 | 37 | 29.1 | +7.9 | 43 | 44.0 | -1.0 | -6 | -14.9 | +8.9 | 38 | 30.1 | +7.9 |
| 19 | Chapecoense | 27 | 29 | 31.4 | -2.4 | 53 | 47.1 | +5.9 | -24 | -15.7 | -8.3 | 18 | 29.3 | -11.3 |
| 20 | Grêmio | 28 | 30 | 27.0 | +3.0 | 38 | 46.8 | -8.8 | -8 | -19.8 | +11.8 | 29 | 27.3 | +1.7 |