Brasileirão Série A · Review
Brasileirão Série A matchweek 31 review: results, xG and what the model said
Every Brasileirão Série A result from matchweek 31 against the model's pre-match probabilities, with expected goals where available and each published pick's outcome.
Published , updated · Written from the site’s own data
Brasileirão Série A, matchweek 31 (17–20 October 2026), is complete: ten matches, 23 goals (2.30 a game), four home wins, two draws and four away wins. Over 2.5 goals landed in three of the ten and both teams scored in four.
The result the model rated least likely was Santos's win in Fluminense v Santos (1–2), which it had at 27%; the one it rated most likely was Botafogo's win in Botafogo v Chapecoense-sc (1–0), at 63%.
After the round, Flamengo lead on 67 points, one point clear of Palmeiras, with Atletico Paranaense third on 53. The bottom three are Gremio (31), Remo (26), Chapecoense-sc (18).
Match by match
Mirassol 2–0 InternacionalSat 17 Oct, 00:00
Before kick-off the model had Mirassol 45%, the draw 27% and Internacional 28%, so Mirassol winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 3.20–0.72: Mirassol created the better chances. The headline call, Mirassol to win at 45%, came in. Pick published: Mirassol -0.25 at 2.00 — won.
Botafogo 1–0 Chapecoense-scSat 17 Oct, 22:00
Before kick-off the model had Botafogo 63%, the draw 20% and Chapecoense-sc 17%, so Botafogo winning was the result it rated likeliest. The likeliest score had been 2-1. Expected goals were 2.41–0.24: Botafogo created the better chances. The headline call, over 3.5 goals at 45%, did not come in.
Atletico-MG 1–0 CoritibaSat 17 Oct, 22:30
Before kick-off the model had Atletico-MG 60%, the draw 22% and Coritiba 18%, so Atletico-MG winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 1.39–0.69: Atletico-MG created the better chances. The headline call, Atletico-MG to win at 60%, came in.
Atletico Paranaense 0–2 PalmeirasSat 17 Oct, 23:30
Before kick-off the model had Atletico Paranaense 31%, the draw 27% and Palmeiras 42%, so Palmeiras winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 1.21–0.38: Atletico Paranaense created the better chances, so the result ran against the balance of play. The headline call, both teams to score at 55%, did not come in.
Sao Paulo 1–0 Vasco DA GamaSun 18 Oct, 01:00
Before kick-off the model had Sao Paulo 41%, the draw 29% and Vasco DA Gama 30%, so Sao Paulo winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 1.26–0.92: Sao Paulo created the better chances. The headline call, under 2.5 goals at 59%, came in.
Fluminense 1–2 SantosSun 18 Oct, 20:00
Before kick-off the model had Fluminense 50%, the draw 23% and Santos 27%, with Fluminense favoured; it put Santos winning at 27%. The likeliest score had been 1-1. Expected goals were 1.09–2.26: Santos created the better chances. The headline call, over 2.5 goals at 66%, came in. Pick published: Fluminense at 2.35 — lost.
Gremio 2–4 CruzeiroSun 18 Oct, 20:00
Before kick-off the model had Gremio 34%, the draw 26% and Cruzeiro 40%, so Cruzeiro winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 2.07–1.54: Gremio created the better chances, so the result ran against the balance of play. The headline call, over 2.5 goals at 55%, came in.
Bahia 0–3 FlamengoSun 18 Oct, 22:30
Before kick-off the model had Bahia 23%, the draw 25% and Flamengo 52%, so Flamengo winning was the result it rated likeliest. The likeliest score had been 1-1. Expected goals were 0.59–2.76: Flamengo created the better chances. The headline call, Flamengo to win at 52%, came in. Pick published: Flamengo at 2.42 — won.
Remo 1–1 RB BragantinoSun 18 Oct, 23:30
Before kick-off the model had Remo 32%, the draw 29% and RB Bragantino 39%, with RB Bragantino favoured; it put the draw at 29%. The likeliest score, 1-1, was the one that came. Expected goals were 1.54–2.54: RB Bragantino created the better chances. The headline call, under 2.5 goals at 57%, came in.
Corinthians 1–1 VitoriaTue 20 Oct, 00:00
Before kick-off the model had Corinthians 44%, the draw 29% and Vitoria 28%, with Corinthians favoured; it put the draw at 29%. The likeliest score, 1-1, was the one that came. Expected goals were 1.64–0.84: Corinthians created the better chances. The headline call, under 2.5 goals at 57%, came in.
The numbers this season
Brasileirão Série A has averaged 2.66 goals a game over 309 matches this season, with over 2.5 goals in 51% of them and both sides scoring in 59%. Home sides have won 47% of matches, 28% have been drawn and away sides have won 25%. Those rates are the base the model's probabilities are judged against: a call only stands out where it beats what the competition normally produces.
About these figures
The pre-match probabilities quoted here are the ones published on each match page at least 24 hours before kick-off; nothing is revised afterwards. Expected goals are the provider's full-match figures where available. Every pick the model published on the round is listed above with its outcome, losses included, as it is on the day's own page. No tally across matches or days is kept anywhere on the site: a single round says little either way, and the site publishes every pick rather than a summary of them.
The results
Each result with the headline call the model published and whether it came in.
More on Brasileirão Série A
Brasileirão Série AReviewBrasileirão Série A matchweek 34 review: results, xG and what the model said
Brasileirão Série AReviewBrasileirão Série A matchweek 33 review: results, xG and what the model said
Brasileirão Série APreviewBrasileirão Série A predictions: matchweek 34 (2–6 November 2026)
Brasileirão Série AReviewBrasileirão Série A matchweek 32 review: results, xG and what the model said
Probabilities are statistical opinion, not advice, and no outcome is certain. Past predictions don’t indicate future results. Over 18s only; never stake money you cannot afford to lose.