Matchweek 30 in Brazil's Serie A delivered plenty of drama at the top of the table, headlined by Palmeiras dismantling Corinthians 4-1 and league leaders Flamengo grinding out a 1-0 derby win over Fluminense. Our forecasting model enjoyed a productive round on outright outcomes, landing seven of ten match result projections and eight of ten win or draw calls, even while struggling to gauge the goal counts.
How our forecasts did
The total goals category was our clear blind spot this weekend, with only three of the ten calls landing as multiple fixtures deviated sharply from expectations. Zero of our ten exact scoreline forecasts were correct, reflecting the inherent difficulty of picking precise margins. Aside from score predictions, the remaining categories held up well. The win or draw calls performed best of all, with eight of the ten graded projections proving accurate. Both the match result and first team to score projections each returned seven correct calls from ten, while both teams to score also saw seven of ten forecasts land. Half-time and full-time calls finished with four correct from ten.
Results
Vasco da Gama 0-0 Remo Our firm call for a Vasco da Gama win fell flat as the hosts could not break through, though the projection for at least one side to be kept off the scoresheet held up.
Sao Paulo 2-1 Vitoria The model correctly anticipated a Sao Paulo win and identified them to open the scoring, but Vitoria's reply ruined the projection for fewer than 2.5 goals.
Atlético Mineiro 2-1 Santos Atlético Mineiro secured all three points as projected in our match result forecast, and our call for both teams to score also came through.
Flamengo 1-0 Fluminense Flamengo took the derby victory as our high-confidence match result forecast projected, also confirming our call that at least one side would fail to score.
Gremio 1-1 Internacional Our low-confidence call for an away win missed as the derby ended level, though projections for fewer than 2.5 goals, both teams to score, and Internacional opening the scoring were all correct.
Palmeiras 4-1 Corinthians Palmeiras justified our firm match result forecast with a commanding performance, leading at the break and at full-time, although four goals from the hosts easily surpassed our projection of fewer than 2.5 goals.
Bahia 1-0 Mirassol The model correctly projected a Bahia win along with the hosts leading at half-time and full-time, but a low-scoring affair defeated our call for more than 2.5 goals.
Coritiba 1-1 Botafogo Botafogo failed to take the victory our projection anticipated, though our forecast for both teams to score landed when both found the net.
Chapecoense 1-4 Atletico Paranaense Atletico Paranaense backed up our match result call in emphatic style, also landing projections for over 2.5 goals, both teams to score, and leading at both intervals.
RB Bragantino 4-2 Cruzeiro Our call for a Bragantino win landed in a six-goal contest that also delivered on projections for over 2.5 goals, both teams to score, and the home side scoring first.
What we got wrong
The round's most glaring failure came in Vasco da Gama's scoreless draw with Remo. Our model backed Vasco with high confidence, factoring in Remo's run of five straight defeats and eight matches without a win, alongside Vasco's positive underlying chance creation. Instead, Vasco generated little cutting edge and failed to register, spoiling both the match result call and the projection for Vasco to score first.
The model also completely misjudged the goal volume across several fixtures. Palmeiras were projected to contest a low-scoring match under 2.5 goals against a struggling Corinthians attack, but the hosts ran riot in a 4-1 rout. Conversely, Bahia's meeting with Mirassol produced just one goal despite indicators pointing toward a higher tally.
With Flamengo holding their lead and Palmeiras keeping pace via an emphatic derby display, the title race remains tightly contested while teams at the bottom, like Remo, managed to steal unexpected points.