Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Grasshoppers cruise to a comfortable 3-1 victory over FC Luzern.
📝 Match Report
How It Unfolded
Grasshoppers beat FC Luzern 3-1 at Stadion Letzigrund, Regular Season - 31, in the Super League. That is the final score; the rest of this report grades it against what the data forecast beforehand.
The Model vs The Result
The Poisson model went into this projecting Grasshoppers 1.45 xG and FC Luzern 1.70 xG, a combined 3.15. The scoreboard read 3-1 for 4 actual goals. Grasshoppers beat their projection by 1.6 — clinical relative to the chances the model priced in. Those figures were built on strength ratings of Grasshoppers attack 0.83 / defence 1.05 against FC Luzern attack 1.28 / defence 1.17, drawn from 63/63 games (CurrentSeason).
On the result, the model split it Grasshoppers 32% | Draw 26% | FC Luzern 43%, with FC Luzern to win its most likely call at 43%. The actual Grasshoppers win had been the model's second-ranked read at 32%, so the result diverged from the top call without being a shock.
Goals & Markets
The model rated Over 2.5 goals at 61%. The game delivered 4, so it went over — the model's lean was correct. Over 1.5 had been 83% and landed. Over 3.5 was 39% and came in. On both teams to score, the model sat at 64% and the match saw both sides score — another call in the model's favour. Historically the two sides average 49% Over 2.5 across their same-competition games (Grasshoppers 44%, FC Luzern 54%), a base rate that pointed the other way from today's over. Their combined BTTS history runs at 62%, which matched the both-scored outcome.
Trading Patterns vs Reality
Grasshoppers's trading profile (68 games, 34 home) set some clear expectations: BTTS lands in 56% of their matches — today it did.
FC Luzern's trading profile (68 games, 34 away) set some clear expectations: BTTS lands in 68% of their matches — today it did.
Form vs Result
On form, FC Luzern arrived the stronger side — 1.43 PPG against 1.00. Form was overturned, with Grasshoppers winning despite arriving in poorer recent shape. Grasshoppers (home/away splits) scored 3 against a 1.35 average — above their attacking norm. FC Luzern (home/away splits) shipped 3 against a 1.79 concession average — a leakier day than usual.
Verdict
Grading the result against the stored data, 2 of 4 pre-match signals came in: result (miss), Over 2.5 (hit), BTTS (hit), form (miss). A mixed scorecard — the data caught the broad shape of the game but not every market.
💡 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.