Serie A · Sunday, 18 October 2026 · 17:00. Final score 3–2 (half-time 2–0). Before kick-off we rated it 53% under 2.5 goals — the match finished with 5, so that call missed. That rating was frozen into a version-controlled ledger before the game and has not been touched since.
Open this match in the app →| Market | Yes | No | Our call |
|---|---|---|---|
| Over 2.5 goals | 47% | 53% | Under |
| Over 3.5 goals | 24% | 76% | no pick |
| Both teams to score | 51% | 49% | Yes |
The result model puts AC Milan at 49%, the draw at 27% and Atalanta at 24%, from expected goals of 1.53 and 0.98.
| Market | Price | Implied | Our rating | Edge |
|---|---|---|---|---|
| Over 2.5 goals | 1.62 | 59% | 47% | -12% |
| Under 2.5 goals | 2.30 | 41% | 53% | +12% |
| Both teams to score | 1.62 | 58% | 51% | -7% |
Implied percentages have the bookmaker's margin removed, so they add to 100 and can be compared with our rating directly. Edge is simply the gap between the two. A positive edge means our model thinks the outcome is likelier than the price suggests — it is not a tip, and a high probability with a negative edge is a poor bet however safe it looks. Prices are a pre-match snapshot from a single bookmaker and move constantly.
Match odds: AC Milan 1.70, draw 4.10, Atalanta 4.50.
The league sets the starting point. Serie A has produced over 2.5 goals in 48% of its matches, and that is where a team with no record of its own would sit.
Each side's own record. AC Milan have 3 in 6 this season (1 of 2 at home), Atalanta 4 in 6 (1 of 2 away). Those records are pulled toward the league rate with the weight of about 24 matches — enough that two or three unusual games cannot swing a rating — giving 48% and 51%.
Last season still counts, briefly. With 6 and 6 games played this season, last season's rates are still blended in and fade out entirely by game 40 — the point at which our testing showed they stop adding accuracy. A single season is part luck, so each club's record is first pulled toward the league average by 34 games' weight. That moves the two figures to 46% and 43%.
The mix. Weighted 40% home side, 40% away side and 20% league — the split that beat every alternative across 30,582 matches of testing — that gives 45%.
Head to head. These sides have met 6 times in three years, producing over 2.5 goals in 50%. That nudges the number 5% of the way toward the head-to-head pattern — deliberately small, because fixtures change more than reputations do — landing on 46%.
Goal expectation. Separately a Poisson model built from attack and defence strength — using real expected-goals data where the league has it — puts this match at 46%, from expected goals of 1.53 for AC Milan and 0.98 for Atalanta. Folding in 30% of that view gives 46%.
Calibration. Tested against 97,729 past matches, our ratings below 55% have run consistently too pessimistic — a figure in the high 30s, for instance, has come in about four points higher. So ratings in that range are lifted part-way back, giving 47%.
This breakdown is generated from the same inputs the rating uses, so it cannot describe a calculation we did not perform. The full model is set out in the methodology.
More: AC Milan season stats · Atalanta season stats · Serie A table and form. Ratings are calibrated probabilities, not tips — a 60% call is expected to miss two times in five.