Fixtures · Knockout · Sat, 4 Jul 2026 · 17:00 UTC
Canada 0–3 Morocco — match statistics
Full time · NRG Stadium, Houston
Match statistics
Canada Morocco
Timeline
| 20' | 🟨 | Redouane Halhal — Yellowcard (Morocco) |
| 22' | 🔄 | Soufiane Rahimi — Substitution (Morocco) |
| 40' | 🟨 | Achraf Hakimi — Yellowcard (Morocco) |
| 40' | 🟨 | Richie Laryea — Yellowcard (Canada) |
| 43' | 🟨 | Jonathan David — Yellowcard (Canada) |
| 45' | 🟨 | Azzedine Ounahi — Yellowcard (Morocco) |
| 45' | 🟨 | Bilal El Khannouss — Yellowcard (Morocco) |
| 49' | 🟨 | Luc De Fougerolles — Yellowcard (Canada) |
| 50' | ⚽ | Azzedine Ounahi — Goal (Morocco) · 0-1 |
| 63' | 🔄 | Sofyan Amrabat — Substitution (Morocco) |
| 63' | 🔄 | Cyle Larin — Substitution (Canada) |
| 63' | 🔄 | Chemsdine Talbi — Substitution (Morocco) |
| 67' | 🟨 | Cyle Larin — Yellowcard (Canada) |
| 78' | 🔄 | Promise David — Substitution (Canada) |
| 78' | 🔄 | Jacob Shaffelburg — Substitution (Canada) |
| 82' | ⚽ | Azzedine Ounahi — Goal (Morocco) · 0-2 |
| 87' | 🔄 | Samir El Mourabet — Substitution (Morocco) |
| 87' | 🔄 | Jayden Nelson — Substitution (Canada) |
| 87' | 🔄 | Jonathan Osorio — Substitution (Canada) |
| 87' | 🔄 | Marwane Saadane — Substitution (Morocco) |
| 90' | ⚽ | Soufiane Rahimi — Goal (Morocco) · 0-3 |
What the model said
Probabilities frozen before kickoff, scored on the 90-minute result (Brier — lower is better).
■ Canada·■ draw·■ Morocco—dimmed = weight placed on outcomes that didn't happen
The engine's pre-match read vs what happened
Most likely score✗
1–1 (13%)
actual 0–3 was 8th likeliest (5%)
Expected goals
0.93 – 1.48
actual 0 – 3
Over 2.5 goals✗
Under — 57%
3 goals scored → went over
Both teams to score✓
No — 53%
outcome: no
Cards
≈4.7 expected
actual 8
Corners
≈9.4 expected
actual 12
Likeliest scorers (pre-match)
Scored: Azzedine Ounahi 50' · Azzedine Ounahi 82' · Soufiane Rahimi 90'
Accuracy is the Brier score — the standard measure for probabilities (lower is better): a well-judged draw counts in the model's favour, an over-confident wrong call is penalised. The detailed read is reproduced from the engine's pre-kickoff ratings (deterministic, verified against the scored record). Probabilities are model estimates, not guarantees, and never betting advice.
Want the model on every match?
SaltaBall reads all 104 matches before kickoff and scores itself against the result, every time. Get the full model for the rest of the World Cup — predictions, the live war room, what-if scenarios and Game Sheets like this one.
One payment, full access through the final on 19 July, then back to free. Not a subscription. Football analytics and entertainment, never betting advice.
SaltaBall