No, Santos have taken 46 points over 32 Campeonato Brasileiro games in 2026, within 0.26 of the 45.74 expected points (xPts) their chances were worth, so their results match their performances.
Santos create 1.34 expected goals (xG) per game over 32 Campeonato Brasileiro games in 2026, 42.87 in all, and have scored 49 goals from those chances, 6.13 more than that xG would expect.
Santos allow 1.24 expected goals against (xGA) per game over 32 Campeonato Brasileiro games in 2026, 39.65 in all, and have conceded 47 goals from those chances, 7.35 more than that xGA would expect.
Gabriel Barbosa has the most expected goals (xG) for Santos over 32 Campeonato Brasileiro games in 2026, 10.11 xG in 24 appearances, and has scored 15 goals; Neymar is next with 7.77 xG.
Santos's results and their chances agree, within 0.3 points of xPts over 32 games. There is no regression case either way. What the table says is roughly what they have earned.
| Window | Games | xG | Goals | Goals minus xG | xGA | Conceded | xGA minus conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|
| 26/ | 32 | 42.87 | 49 | +6.13 | 39.65 | 47 | -7.35 | 45.74 | 46 | +0.26 |
| Last 10 | 10 | 15.43 | 17 | +1.57 | 12.28 | 12 | +0.28 | 15.50 | 21 | +5.50 |
| Last 5 | 5 | 8.15 | 8 | -0.15 | 6.86 | 7 | -0.14 | 7.52 | 8 | +0.48 |
| Home | 16 | 22.88 | 23 | +0.12 | 15.17 | 21 | -5.83 | 26.93 | 24 | -2.93 |
| Away | 16 | 19.99 | 26 | +6.01 | 24.48 | 26 | -1.52 | 18.81 | 22 | +3.19 |
| Date | Competition | Opponent | Score | xG | xGA | xPts | Points | Deserved result |
|---|---|---|---|---|---|---|---|---|
| 25 Oct | Campeonato Brasileiro | Bahia (H) | 1-1 | 1.76 | 1.45 | 1.58 | 1 | W |
| 18 Oct | Campeonato Brasileiro | Fluminense (A) | 1-2 | 2.59 | 0.87 | 2.38 | 3 | W |
| 11 Oct | Campeonato Brasileiro | Atlético-MG (A) | 2-1 | 0.86 | 1.66 | 0.83 | 0 | L |
| 8 Oct | Campeonato Brasileiro | Flamengo (H) | 2-2 | 2.29 | 1.07 | 2.13 | 1 | W |
| 2 Oct | Campeonato Brasileiro | São Paulo (A) | 1-2 | 0.65 | 1.81 | 0.60 | 3 | L |
| 19 Sep | Campeonato Brasileiro | Remo (A) | 1-2 | 0.98 | 1.08 | 1.27 | 3 | L |
| 13 Sep | Campeonato Brasileiro | Cruzeiro (H) | 2-1 | 2.13 | 1.57 | 1.73 | 3 | W |
| 6 Sep | Campeonato Brasileiro | Internacional (A) | 2-3 | 1.34 | 1.70 | 1.15 | 3 | L |
| 30 Aug | Campeonato Brasileiro | Corinthians (A) | 0-1 | 0.72 | 0.80 | 1.25 | 3 | D |
| 23 Aug | Campeonato Brasileiro | Mirassol (H) | 1-1 | 2.11 | 0.27 | 2.58 | 1 | W |
| 16 Aug | Campeonato Brasileiro | Vasco (A) | 0-3 | 1.46 | 1.49 | 1.36 | 3 | L |
| 9 Aug | Campeonato Brasileiro | Athletico PR (H) | 0-2 | 2.04 | 0.99 | 2.05 | 0 | W |
| 25 Jul | Campeonato Brasileiro | Chapecoense (H) | 2-2 | 2.04 | 0.60 | 2.33 | 1 | W |
| 16 Jul | Campeonato Brasileiro | Botafogo (A) | 2-1 | 2.00 | 1.77 | 1.53 | 0 | W |
| 30 May | Campeonato Brasileiro | Vitória (H) | 3-1 | 0.57 | 1.18 | 0.84 | 3 | L |
| 23 May | Campeonato Brasileiro | Grêmio (A) | 3-2 | 1.16 | 1.20 | 1.34 | 0 | L |
| 17 May | Campeonato Brasileiro | Coritiba (H) | 0-3 | 1.52 | 1.69 | 1.27 | 0 | L |
| 10 May | Campeonato Brasileiro | Bragantino (H) | 2-0 | 1.23 | 0.40 | 2.03 | 3 | W |
| 2 May | Campeonato Brasileiro | Palmeiras (A) | 1-1 | 0.87 | 2.07 | 0.64 | 1 | L |
| 25 Apr | Campeonato Brasileiro | Bahia (A) | 2-2 | 2.35 | 1.29 | 2.02 | 1 | W |
| 19 Apr | Campeonato Brasileiro | Fluminense (H) | 2-3 | 0.99 | 0.90 | 1.41 | 0 | W |
| 11 Apr | Campeonato Brasileiro | Atlético-MG (H) | 1-0 | 1.39 | 0.83 | 1.78 | 3 | W |
| 5 Apr | Campeonato Brasileiro | Flamengo (A) | 3-1 | 0.96 | 2.63 | 0.50 | 0 | L |
| 2 Apr | Campeonato Brasileiro | Remo (H) | 2-0 | 0.83 | 0.39 | 1.71 | 3 | W |
| 22 Mar | Campeonato Brasileiro | Cruzeiro (A) | 0-0 | 0.12 | 0.86 | 0.56 | 1 | L |
| 19 Mar | Campeonato Brasileiro | Internacional (H) | 1-2 | 1.35 | 1.14 | 1.51 | 0 | W |
| 15 Mar | Campeonato Brasileiro | Corinthians (H) | 1-1 | 0.80 | 0.56 | 1.52 | 1 | D |
| 11 Mar | Campeonato Brasileiro | Mirassol (A) | 2-2 | 1.74 | 1.36 | 1.63 | 1 | W |
| 26 Feb | Campeonato Brasileiro | Vasco (H) | 2-1 | 0.86 | 1.25 | 1.05 | 3 | L |
| 12 Feb | Campeonato Brasileiro | Athletico PR (A) | 2-1 | 0.82 | 2.25 | 0.55 | 0 | L |
| Player | Position | Apps | Minutes | xG | Goals | Goals minus xG | xG per 90 |
|---|---|---|---|---|---|---|---|
| Gabriel Barbosa | attacker | 24 | 1824 | 10.11 | 15 | +4.89 | 0.50 |
| Álvaro Barreal | attacker | 26 | 1662 | 2.56 | 5 | +2.44 | 0.14 |
| Luan Peres | defender | 26 | 2045 | 0.40 | 2 | +1.60 | 0.02 |
| Zé Ivaldo | defender | 5 | 358 | 0.14 | 1 | +0.86 | 0.04 |
| Moisés | attacker | 13 | 371 | 1.24 | 2 | +0.76 | 0.30 |
| Christian Oliva | midfielder | 24 | 1542 | 1.29 | 2 | +0.71 | 0.08 |
| Benjamín Rollheiser | attacker | 26 | 943 | 3.31 | 4 | +0.69 | 0.32 |
| Adonis Frías | defender | 9 | 766 | 0.32 | 1 | +0.68 | 0.04 |
| Willian Arão | midfielder | 24 | 1504 | 0.45 | 1 | +0.55 | 0.03 |
| Lautaro Díaz | attacker | 8 | 238 | 0.65 | 1 | +0.35 | 0.24 |
| Zé Rafael | midfielder | 5 | 165 | 0.68 | 1 | +0.32 | 0.37 |
| Gabriel Menino | midfielder | 13 | 591 | 0.73 | 1 | +0.27 | 0.11 |
| Neymar | midfielder | 15 | 1222 | 7.77 | 8 | +0.23 | 0.57 |
| Thaciano | midfielder | 20 | 683 | 1.82 | 2 | +0.18 | 0.24 |
| Philippe Coutinho | midfielder | 5 | 226 | 0.86 | 1 | +0.14 | 0.34 |
| Miguelito | midfielder | 11 | 483 | 1.13 | 1 | -0.13 | 0.21 |
| Gustavo Henrique | midfielder | 20 | 1364 | 0.50 | 0 | -0.50 | 0.03 |
| João Schmidt | midfielder | 17 | 1011 | 0.59 | 0 | -0.59 | 0.05 |
| Everton | attacker | 5 | 377 | 0.89 | 0 | -0.89 | 0.21 |
| Lucas Veríssimo | defender | 19 | 1703 | 1.01 | 0 | -1.01 | 0.05 |
| Gabriel Bontempo | midfielder | 28 | 1923 | 2.13 | 1 | -1.13 | 0.10 |
| Rony | attacker | 27 | 1379 | 2.27 | 1 | -1.27 | 0.15 |
| # | Team | MP | xG | Goals | xGA | Conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Palmeiras | 32 | 46.4 | 56 | 31.9 | 22 | 51.9 | 69 | +17.1 |
| 2 | Flamengo | 31 | 53.7 | 61 | 31.6 | 25 | 55.9 | 67 | +11.1 |
| 3 | Athletico PR | 32 | 42.8 | 50 | 37.9 | 38 | 46.9 | 54 | +7.1 |
| 4 | Cruzeiro | 32 | 46.4 | 51 | 41.8 | 46 | 48 | 54 | +6 |
| 5 | Coritiba | 31 | 33.1 | 38 | 49.1 | 49 | 33.5 | 39 | +5.5 |
| 6 | Fluminense | 32 | 43.6 | 50 | 40.5 | 41 | 45.9 | 51 | +5.1 |
| 7 | Atlético Mineiro | 31 | 42.7 | 42 | 39.1 | 35 | 44.9 | 50 | +5.1 |
| 8 | Bahia | 32 | 50.1 | 45 | 44.5 | 40 | 48.1 | 50 | +1.9 |
| 9 | Vitória | 32 | 33 | 35 | 46.2 | 46 | 37.1 | 38 | +0.9 |
| 10 | Santos | 32 | 42.8 | 49 | 39.6 | 47 | 45.7 | 46 | +0.3 |
| 11 | Grêmio | 31 | 32.5 | 34 | 51.4 | 44 | 31.9 | 31 | -0.9 |
| 12 | Botafogo | 32 | 40 | 44 | 45.3 | 51 | 41.3 | 39 | -2.3 |
| 13 | Mirassol | 32 | 43 | 37 | 49.3 | 45 | 40.5 | 37 | -3.5 |
| 14 | São Paulo | 32 | 47.3 | 37 | 39.3 | 36 | 47.6 | 43 | -4.6 |
| 15 | Bragantino | 32 | 46.9 | 39 | 45 | 38 | 46.2 | 41 | -5.2 |
| 16 | Corinthians | 32 | 31.4 | 34 | 36.2 | 42 | 40.7 | 33 | -7.7 |
| 17 | Remo | 32 | 35.5 | 34 | 46.9 | 50 | 35.8 | 26 | -9.8 |
| 18 | Chapecoense | 31 | 34.3 | 32 | 54.1 | 63 | 32.1 | 21 | -11.1 |
| 19 | Internacional | 32 | 43.9 | 36 | 39.5 | 40 | 46.4 | 35 | -11.4 |
| 20 | Vasco da Gama | 31 | 54.1 | 39 | 34.3 | 45 | 52.2 | 38 | -14.2 |