WC2026 Model Tracker
Bivariate-Poisson predictions vs actual results · a live, honest experiment

🇵🇹 Portugal vs Croatia 🇭🇷  WINNER HIT

FIFA World Cup 2026, Round of 32 · Neutral site (BMO Field, Toronto)
Kickoff Jul 02, 2026 · 23:00 UTC
Round of 32 · who goes through
To advance: Portugal 65.5%  /  Croatia 34.5%
= P(win in 90′) + ½·P(draw); a level game at 90′ goes to extra time / penalties (treated as a coin flip). 1X2 and Asian handicap (Portugal -0.50) below are the 90-minute markets.
Final (90′) · Portugal 2–1 Croatia
Portugal advanced · model to-advance pick Portugal 65.5% ADVANCE CALL HIT
Goals: 53' Ivan Perišić (Croatia); 68' Cristiano Ronaldo (Portugal); 90' Gonçalo Ramos (Portugal)
Actual stats: xG 2.2 – 1.34 · 14 corners · 3 cards (0 red)

Prediction vs result  6/8 markets hit

MarketModel calledActualOutcome
1X2PortugalPortugal (2-1)HIT
Score1-12-1MISS
O/U 2.5Over 2.5 (51.2%)3 goalsHIT
BTTSYes (53.9%)YesHIT
CornersUnder 8.5 (50.6%)14 cornersMISS
CardsUnder 3.5 (65.0%)3 cardsHIT
Red cardNo (87.8%)NoHIT
AHPortugal -0.50Full WinHIT

Model vs market

MarketModelBook oddsBook p*EV
Portugal win52.9%1.7554.1%-7.5%
Draw25.2%3.5027.0%-11.9%
Croatia win22.0%5.0018.9%+9.8%
Over 2.5 goals51.2%2.1045.1%+7.5%
Under 2.5 goals48.8%1.7354.9%-15.7%
Both teams score: yes53.9%1.9548.0%+5.1%
Both teams score: no46.1%1.8052.0%-17.0%
Over 8.5 corners (exp 8.63)49.4%1.9148.5%-5.6%
Under 8.5 corners50.6%1.8051.5%-9.0%
Over 3.5 cards (exp 2.99)35.0%1.8350.0%-35.8%
Under 3.5 cards65.0%1.8350.0%+19.1%
Any red card12.2%
Model-only estimates (no straight market equivalent): expected goals Portugal 1.71 – 1.04 Croatia · fair Asian handicap Portugal -0.50
In the table above, Model = our probability and Book odds / Book p* = the bookmaker's (p* has the margin removed). EV = value per unit staked at the model's probability (positive = model sees value). “—” = market not in the captured feed.
Model reasoning (chain of thought)
PREDICTION RATIONALE — Portugal vs Croatia  (FIFA World Cup 2026, Round of 32)
Venue: Neutral site (BMO Field, Toronto)

1. DATA. Last-10 internationals (Sofascore interception scraper).
   Portugal: record DLWDWWWDWD, 2.30 GF / 0.80 GA,
   xG 2.04 / xGA 0.87.
   Croatia: record WWWWLLWLWW, 1.90 GF / 1.50 GA,
   xG 1.54 / xGA 1.19.
   Opponent-strength tiers (configs.MASTER_TIERS) applied per match.

2. RATINGS. Portugal atk 1.31 def 0.78; Croatia atk 1.04 def 1.01.
   NEUTRAL VENUE: home boost / away penalty set to 1.0/1.0 (both teams
   travel to a host-nation site; no host advantage applies — a key difference
   from the Korea/Canada/USA host-nation games). lambda Portugal 1.71, Croatia 1.05
   after 90% model weight + shrink to 1.3 baseline.
   Injuries: {'Portugal': ['No major absences reported'], 'Croatia': ['No major absences reported']}.
   Context: Round of 32. A heavyweight tie: Portugal vs Croatia, both strong, both ageing cores. Close to even. Knockout: a draw goes to ET/pens. Neutral venue.

3. MODEL. Bivariate Poisson (lambda3 0.12). 1X2 Portugal 52.9% /
   draw 25.2% / Croatia 22.0%. Winner Portugal; score 1-1; fair AH Portugal -0.50.
   Over 2.5 51.2%; BTTS 53.9%.

4. EVENTS. Referee TBD: 4.2 Y + 0.13 R/match
   blended (weight 0.20) with WC base 2.6438 -> expected
   cards 2.99, P(over 3.5) 35.0%; P(any red)
   12.2%. Corners expected 8.6 (scale
   0.964) -> P(over 8.5) 49.4%.

5. LIMITATIONS. 10-match samples; hand-set tiers/priors; Poisson corners; lineups
   probable not confirmed; card base rate calibrated on only 4 WC matches.