Brasileirão 2026 · PredictionsPortuguês

How it works

1. The idea in one sentence

Nobody knows the results of the remaining games, so we give each game chances and play the rest of the season 20,000 times on a computer. If Bahia finishes in the top 6 in 16,000 of those simulated seasons, its chance is 80%. Just like a weather forecast: “80% chance of rain”.

2. The chances of each game

We use three models, each learning team “strength” in a different way:

  • Elo – like an online game ranking: every team starts at 1500 points; the winner takes points from the loser, and an upset is worth more than an expected win.
  • Poisson – each team has an attack and a defence strength. The model predicts how many goals each side should score and, from that, the chance of every score (2–0, 1–1…).
  • Market – learns team strength from bookmakers' odds for recent games. Bookmakers know about injuries, suspensions and coaching changes that results don't show yet.

Home advantage is real (home teams win ~48% of games in Brazil, away teams ~25%) and all three models account for it.

3. The simulation

For every remaining game we “roll a weighted die”: if the home team has a 60% chance, it wins in ~60% of the simulations. We add the points to the current table, apply the tiebreakers (points, wins, goal difference, goals scored) and record each team's final position. Then we repeat it 20,000 times.

On the What if…? page the same simulation runs in your browser, with the results you pick.

4. How do we know it works?

We pretend to be in the past: model settings are chosen using 2015–2018, then every game of 2019–2025 is predicted using only what was known before it. The Market model came out best (4.4% better than “always guess the average”), but bookmakers' closing odds, published minutes before kick-off, are better still — they're our ceiling. See the Accuracy page.

5. Limitations

  • The models don't know about injuries or line-ups (the Market model does a little, through the odds).
  • Team strength is frozen during a simulation, so the chances tend to be slightly overconfident.
  • Top 6 = first six in the table; extra places from cup winners are ignored.

This is a data-science learning project. The code, the explanatory notebooks and the tests are on GitHub.