Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Cagliari defy the odds to beat AC Milan 1-2.
📝 Match Report
How It Unfolded
Cagliari beat AC Milan 1-2 at Stadio Giuseppe Meazza, Regular Season - 38, in the Serie A. The remainder of the report sets that outcome against the pre-match model, the markets and the teams' data profiles.
The Model vs The Result
The Poisson model went into this projecting AC Milan 1.46 xG and Cagliari 0.94 xG, a combined 2.40. The scoreboard read 1-2 for 3 actual goals. Cagliari outscored their 0.94 projection by 1.1. Those figures were built on strength ratings of AC Milan attack 1.00 / defence 1.05 against Cagliari attack 0.78 / defence 1.20, drawn from 75/75 games (CurrentSeason).
On the result, the model split it AC Milan 49% | Draw 27% | Cagliari 24%, with AC Milan to win its most likely call at 49%. Instead the game produced a Cagliari win, an outcome the model had rated at just 24% — a clear break from expectation and a genuine upset by the numbers.
Goals & Markets
The model rated Over 2.5 goals at 43%. The game delivered 3, so it went over — against the model's lean. Over 1.5 had been 69% and landed. On both teams to score, the model sat at 47% and the match saw both sides score — a miss on BTTS. Historically the two sides average 51% Over 2.5 across their same-competition games (AC Milan 52%, Cagliari 49%), a base rate that agreed with today's over. Their combined BTTS history runs at 51%, which matched the both-scored outcome.
Trading Patterns vs Reality
AC Milan's trading profile (75 games, 37 home) set some clear expectations: BTTS lands in 52% of their matches — today it did; they keep a clean sheet 37% of the time, and conceded here.
Cagliari's trading profile (75 games, 37 away) set some clear expectations: BTTS lands in 49% of their matches — today it did.
Form vs Result
On form, AC Milan arrived the stronger side — 1.77 PPG against 1.01. Form was overturned, with Cagliari winning despite arriving in poorer recent shape. AC Milan (home/away splits) shipped 2 against a 0.95 concession average — a leakier day than usual. Cagliari (home/away splits) scored 2 against a 0.86 average — above their attacking norm.
Verdict
Grading the result against the stored data, 0 of 4 pre-match signals came in: result (miss), Over 2.5 (miss), BTTS (miss), form (miss). This one broke away from the data — most of the pre-match signals were overturned by how the ninety minutes actually played out.
💡 Key Insights
⚠️ This match report is generated algorithmically from the final score, our prediction model, and each team's historical form and trading data. Analysis is for informational purposes only.