Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Monza defy the odds to beat Frosinone 0-1.
📝 Match Report
How It Unfolded
Monza beat Frosinone 0-1 at Stadio Benito Stirpe, Regular Season - 8, in the Serie B. With the result on the board, the sections below measure it against everything the model and the numbers projected in advance.
The Model vs The Result
The Poisson model went into this projecting Frosinone 1.85 xG and Monza 0.93 xG, a combined 2.78. The scoreboard read 0-1 for 1 actual goal. Frosinone fell 1.9 short of their projected output. Those figures were built on strength ratings of Frosinone attack 1.24 / defence 0.98 against Monza attack 0.85 / defence 1.10, drawn from 45/7 games (CurrentSeason).
On the result, the model split it Frosinone 56% | Draw 29% | Monza 15%, with Frosinone to win its most likely call at 56%. Instead the game produced a Monza win, an outcome the model had rated at just 15% — a clear break from expectation and a genuine upset by the numbers.
Goals & Markets
The model rated Over 2.5 goals at 53%. The game delivered 1, so it stayed under — the opposite of the projected direction. Over 1.5 had been 80% and missed. On both teams to score, the model sat at 54% and the match did not — a miss on BTTS. Historically the two sides average 46% Over 2.5 across their same-competition games (Frosinone 44%, Monza 47%), a base rate that agreed with today's under. Their combined BTTS history runs at 53%, which did not match the one-sided outcome.
Trading Patterns vs Reality
Frosinone's trading profile (45 games, 22 home) set some clear expectations: BTTS lands in 53% of their matches — today it did not; they fail to score in 31% of games, a blank that repeated today.
Monza's trading profile (45 games, 22 away) set some clear expectations: BTTS lands in 53% of their matches — today it did not.
Form vs Result
On form, Frosinone arrived the stronger side — 1.27 PPG against 0.64. Form was overturned, with Monza winning despite arriving in poorer recent shape. Frosinone (home/away splits) managed 0 against a 1.27 scoring average — below par going forward. Monza (home/away splits) conceded 0 against a 1.91 average — tighter than their form line.
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). The data was on the wrong side of this result more often than not — a reminder that a single match sits well inside the model's variance.
💡 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.