No, Bahia have taken 50 points over 32 Campeonato Brasileiro games in 2026, within 1.92 of the 48.08 expected points (xPts) their chances were worth, so their results match their performances.
Bahia create 1.57 expected goals (xG) per game over 32 Campeonato Brasileiro games in 2026, 50.12 in all, and have scored 45 goals from those chances, 5.12 fewer than that xG would expect.
Bahia allow 1.39 expected goals against (xGA) per game over 32 Campeonato Brasileiro games in 2026, 44.49 in all, and have conceded 40 goals from those chances, 4.49 fewer than that xGA would expect.
Alejo Veliz has the most expected goals (xG) for Bahia over 32 Campeonato Brasileiro games in 2026, 6.41 xG in 13 appearances, and has scored 3 goals; Luciano Juba is next with 5.90 xG.
Bahia's results and their chances agree, within 1.9 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 | 50.12 | 45 | -5.12 | 44.49 | 40 | +4.49 | 48.08 | 50 | +1.92 |
| Last 10 | 10 | 19.74 | 16 | -3.74 | 16.43 | 15 | +1.43 | 15.79 | 17 | +1.21 |
| Last 5 | 5 | 6.78 | 3 | -3.78 | 9.57 | 7 | +2.57 | 5.60 | 4 | -1.60 |
| Home | 16 | 25.72 | 23 | -2.72 | 19.18 | 17 | +2.18 | 26.91 | 27 | +0.09 |
| Away | 16 | 24.40 | 22 | -2.40 | 25.31 | 23 | +2.31 | 21.17 | 23 | +1.83 |
| Date | Competition | Opponent | Score | xG | xGA | xPts | Points | Deserved result |
|---|---|---|---|---|---|---|---|---|
| 25 Oct | Campeonato Brasileiro | Santos (A) | 1-1 | 1.45 | 1.76 | 1.19 | 1 | L |
| 18 Oct | Campeonato Brasileiro | Flamengo (H) | 0-3 | 0.50 | 2.96 | 0.21 | 0 | L |
| 11 Oct | Campeonato Brasileiro | Mirassol (H) | 1-0 | 2.81 | 1.66 | 2.01 | 3 | W |
| 9 Oct | Campeonato Brasileiro | Palmeiras (A) | 1-0 | 0.67 | 2.39 | 0.42 | 0 | L |
| 20 Sep | Campeonato Brasileiro | Athletico PR (A) | 2-1 | 1.35 | 0.80 | 1.77 | 0 | W |
| 14 Sep | Campeonato Brasileiro | Remo (H) | 2-1 | 2.82 | 1.47 | 2.13 | 3 | W |
| 5 Sep | Campeonato Brasileiro | Bragantino (A) | 2-3 | 2.30 | 1.77 | 1.70 | 3 | W |
| 30 Aug | Campeonato Brasileiro | Internacional (H) | 3-2 | 2.10 | 1.49 | 1.76 | 3 | W |
| 23 Aug | Campeonato Brasileiro | Vitória (A) | 0-2 | 3.39 | 0.67 | 2.69 | 3 | W |
| 16 Aug | Campeonato Brasileiro | Chapecoense (A) | 3-3 | 2.35 | 1.46 | 1.91 | 1 | W |
| 9 Aug | Campeonato Brasileiro | Vasco (H) | 0-0 | 0.80 | 0.85 | 1.28 | 1 | D |
| 30 Jul | Campeonato Brasileiro | Fluminense (A) | 0-0 | 0.57 | 1.95 | 0.50 | 1 | L |
| 26 Jul | Campeonato Brasileiro | Corinthians (H) | 1-1 | 0.60 | 0.26 | 1.61 | 1 | D |
| 21 Jul | Campeonato Brasileiro | Atlético-MG (A) | 1-1 | 1.39 | 1.43 | 1.35 | 1 | L |
| 17 Jul | Campeonato Brasileiro | Chapecoense (H) | 2-0 | 1.50 | 0.62 | 2.02 | 3 | W |
| 30 May | Campeonato Brasileiro | Botafogo (H) | 2-1 | 2.25 | 1.22 | 2.01 | 3 | W |
| 25 May | Campeonato Brasileiro | Coritiba (A) | 3-2 | 1.32 | 1.22 | 1.43 | 0 | W |
| 17 May | Campeonato Brasileiro | Grêmio (H) | 1-1 | 1.63 | 0.17 | 2.47 | 1 | W |
| 10 May | Campeonato Brasileiro | Cruzeiro (H) | 1-2 | 1.19 | 1.86 | 0.96 | 0 | L |
| 3 May | Campeonato Brasileiro | São Paulo (A) | 2-2 | 2.32 | 1.45 | 1.90 | 1 | W |
| 25 Apr | Campeonato Brasileiro | Santos (H) | 2-2 | 1.29 | 2.35 | 0.79 | 1 | L |
| 19 Apr | Campeonato Brasileiro | Flamengo (A) | 2-0 | 0.57 | 2.01 | 0.47 | 0 | L |
| 11 Apr | Campeonato Brasileiro | Mirassol (A) | 1-2 | 1.65 | 1.67 | 1.37 | 3 | L |
| 5 Apr | Campeonato Brasileiro | Palmeiras (H) | 1-2 | 1.28 | 0.34 | 2.12 | 0 | W |
| 1 Apr | Campeonato Brasileiro | Athletico PR (H) | 3-0 | 1.15 | 0.62 | 1.77 | 3 | W |
| 22 Mar | Campeonato Brasileiro | Remo (A) | 4-1 | 1.80 | 1.71 | 1.44 | 0 | W |
| 18 Mar | Campeonato Brasileiro | Bragantino (H) | 2-0 | 2.19 | 1.25 | 1.96 | 3 | W |
| 15 Mar | Campeonato Brasileiro | Internacional (A) | 0-1 | 0.89 | 1.63 | 0.86 | 3 | L |
| 11 Mar | Campeonato Brasileiro | Vitória (H) | 1-1 | 1.92 | 0.46 | 2.37 | 1 | W |
| 12 Feb | Campeonato Brasileiro | Vasco (A) | 0-1 | 0.46 | 2.14 | 0.36 | 3 | L |
| Player | Position | Apps | Minutes | xG | Goals | Goals minus xG | xG per 90 |
|---|---|---|---|---|---|---|---|
| Luciano Juba | defender | 28 | 2329 | 5.90 | 11 | +5.10 | 0.23 |
| David Duarte | defender | 25 | 2247 | 1.74 | 3 | +1.26 | 0.07 |
| Jean Lucas | midfielder | 27 | 1908 | 3.11 | 4 | +0.89 | 0.15 |
| Everaldo | attacker | 18 | 637 | 3.16 | 4 | +0.84 | 0.45 |
| Erick | midfielder | 24 | 1450 | 3.26 | 4 | +0.74 | 0.20 |
| Mateo Sanabria | attacker | 16 | 349 | 1.37 | 2 | +0.63 | 0.35 |
| Román Gómez | defender | 16 | 1206 | 0.98 | 1 | +0.02 | 0.07 |
| Nicolás Acevedo | midfielder | 29 | 2439 | 1.60 | 1 | -0.60 | 0.06 |
| Santiago Ramos Mingo | defender | 24 | 2116 | 0.67 | 0 | -0.67 | 0.03 |
| Ademir | attacker | 29 | 1106 | 2.09 | 1 | -1.09 | 0.17 |
| Erick Pulga | attacker | 31 | 2308 | 5.22 | 4 | -1.22 | 0.20 |
| Rodrigo Nestor | midfielder | 25 | 1589 | 2.57 | 1 | -1.57 | 0.15 |
| Everton Ribeiro | midfielder | 21 | 1080 | 1.94 | 0 | -1.94 | 0.16 |
| Cristian Olivera | attacker | 24 | 1597 | 3.37 | 1 | -2.37 | 0.19 |
| Willian José | attacker | 24 | 1195 | 5.40 | 3 | -2.40 | 0.41 |
| Alejo Veliz | attacker | 13 | 1123 | 6.41 | 3 | -3.41 | 0.51 |
| # | 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 |