Mainz 05 vs Eintracht Frankfurt Prediction & AI Analysis
How It Finished
Final score: Mainz 05 1–3 Eintracht Frankfurt in the Bundesliga. The pre-match distribution on this page has not been edited; it is reproduced below against the result.
- Final score — Mainz 05 1–3 Eintracht Frankfurt
- Model's leading outcome before kickoff — Mainz 05 win, roughly 46%
- Mainz 05 win — the simulation gives roughly 46%
- Draw — the simulation gives roughly 22%
- Eintracht Frankfurt win — the simulation gives roughly 32%
- Verdict — miss: the leading outcome did not come in
Pre-match, the simulation leaned Mainz 05 win at about 46%. Final score 1–3: wrong. No re-framing and no "unlucky" — it goes in the loss column and it is counted there.
Reading the Split
The model leans towards Mainz 05 win at 46%, 14 points ahead of Eintracht Frankfurt win at 32%. There is a direction here, but not a wide one.
Across the 340 match pages published on this site, the median favourite carries 51%. This one's 46% sits right around it — an ordinary split by our own standard.
The simulated goal averages are Mainz 05 2.02 and Eintracht Frankfurt 1.64, 3.66 between them, with the scoring expectation tilted towards Mainz 05. That total is above the 3.29 median across our published pages.
One thing 46% is not: a statement that this will happen. The remaining 54% belongs to the same distribution and describes matches that get played too. A 46% call that came in every single time would mean the number had been written wrong, not that the model is strong.
Where the Result Landed in the Distribution
The outcome that landed was Eintracht Frankfurt win, which the model had at 32%, behind Mainz 05 win on 46%. That is a miss and it is counted as one. An outcome given 32% is supposed to occur at roughly that frequency; it occurred here. What that changes is which column this row sits in — not how the pre-match numbers should have been written.
On goals: the simulation totalled 3.66 across the two sides, and the match produced 4.
Our Published Bundesliga Pages
Our Bundesliga coverage stands at 44 published pages, of which 37 now carry a result: 22 hit, 15 miss, 0 void. The miss column is printed at the same size as the hit column, and nothing has been filtered out of it. Every page is listed at Predictions.
Reading a Result Honestly
Probabilities are graded in bulk, never one at a time. The useful question after a match is not "was it right" but "does the whole run of calls land where the probabilities said it would" — a run that lands about as often as those numbers implied is a calibrated model, and a run that never misses at all mostly means the numbers were written too timidly. Either way, a single row is a data point, not a verdict.
The Pre-Match Timestamp
Observation timestamp 2026-09-03 07:38 UTC, kickoff 2026-09-12 13:30 UTC. The prediction was published before kickoff and the timestamp is verifiable; the comparison above compares two fixed things, not one fixed thing and one memory.
The Full Ledger
Every live signal from this system goes out on Telegram via @Oddsflowteam_bot with a timestamp attached, and every one is settled afterwards. The weekly ledger on this site is the complete table — wins, losses, halves and voids, all in one place.
Verify This Page Yourself
Both ends of this page are now fixed: the file was written 1 day 15 hours before kickoff (generated 2026-09-10 22:10 UTC, kickoff 2026-09-12 13:30 UTC), and the result was appended only afterwards. An unedited copy of the pre-match numbers sits in the public mirror as record/data/mainz-05-vs-eintracht-frankfurt-1575163.json — browse the public record. The commit history is the more interesting half of that repository: it shows when each number was written down, which is the one part of a record that cannot be reconstructed later. The grading rules behind the verdict above are set out in How We Count Our Record.
These pages publish model probabilities for analysis only — they are not advice of any kind. Football outcomes are uncertain by definition; never make a decision on a prediction that you could not afford to get wrong.