Skip to content

BundesPredict

Win, draw and loss probabilities for every Bundesliga fixture, from a model refit every day. When news breaks, tell the agent what changed and watch the numbers move.

3 free chats a day · no card needed
Ask about any fixture

Bring the news the model hasn't seen

Lineups, injuries, a storm over the stadium. The agent checks what you said against squad data and the forecast, then reruns the model with small, capped changes.

  1. You say what changedIn plain words, about one fixture.
  2. The agent checks itSquad, form and weather lookups, shown as it works.
  3. The odds move, with receiptsModel odds next to the new ones, and every adjustment listed.
DortmundDortmundvHoffenheimHoffenheim

Guirassy is out for Dortmund, how does that change Dortmund v Hoffenheim?

Answered with 3 steps
3 agent steps
  • Dortmund 61%, draw 23%, Hoffenheim 16% predict_matchcompleted
  • Serhou Guirassy, striker, high importance lookup_playercompleted
  • Home win 61% to 53% with 1 adjustment predict_match_with_contextcompleted
Model only
With your news
Dortmund53%▼ −8.2 pts
Draw27%▲ +3.9 pts
Hoffenheim20%▲ +4.3 pts

xG 1.97 – 0.92 → 1.62 – 0.92

player_out · Dortmund attack−0.35 xG · confidence highFirst-choice striker Guirassy is out.

The base model has Dortmund at 61% to beat Hoffenheim. Guirassy is their main goal source and a penalty taker, so I took 0.35 expected goals off the Dortmund attack. That moves the home win to 53%, with the draw and away win taking the difference. The rest of the squad is unchanged.

Recorded from the real engine and replayed here, so it spends no chat.
How it works

The model does the maths. The agent does the words.

Model

A fitted score grid

A Dixon-Coles model rates every team's attack and defence from Bundesliga results since 2020/21 and is refit daily. Each fixture becomes one grid of scoreline chances, so win, draw, loss and goal markets always agree.

Agent

Small, capped nudges

The agent reads your news, checks it with squad, form and weather tools, and asks for expected-goals changes. It has no way to set a probability, and each change is capped at ±0.60 xG.

Audit trail

Every answer shows its work

You see the model's probabilities beside the adjusted ones, what each adjustment asked for, and where the cap cut it down. Every prediction is stored with the exact model run behind it.

Bundesliga
What we cover

All 18 clubs, every matchday

  • Bayern
  • Dortmund
  • Leverkusen
  • Leipzig
  • Frankfurt
  • Stuttgart
  • Freiburg
  • Gladbach
  • Mainz
  • Hoffenheim
  • Bremen
  • Augsburg
  • Union Berlin
  • Köln
  • Hamburg
  • Schalke
  • Paderborn
  • Elversberg
Track record

Close to the market, and honest about it

Every number below is from predictions the model made before seeing the result. Lower ranked probability score (RPS) is better.

Matches backtested out of sample1,8275 seasons, refit every gameweek
Model RPS0.2045closing market 0.1967
See the full track record →
Pricing

Free to look. Pro to talk all day.

Free

$0
  • Probabilities for every fixture
  • 3 agent chats a day
  • Saved chat history
  • Public track record
Start free

Pro

$5CAD / month
  • Everything in Free
  • 100 agent chats a day (fair use)
  • Matchday email every Thursday
  • Cancel any time from your account
Go Pro
Questions

Before you ask

No. BundesPredict is a football analytics project: it shows what a statistical model expects and how news changes that expectation. It doesn't link to bookmakers or tell you what to bet.