⚽ World Cup 2026 Forecast

Elo ratings + 10,000-run Monte Carlo simulation · updated Monday, June 29 2026 at 5:30 PM

Trading placed Kalshi trades · results · P&L

Net P&L
-$478.84
after $15.53 costs
Realized
-$463.31
68 settled
At risk
$18.61
2 open
ROI
-27.9%
on settled stake
Record
15–53
W–L
Match winner · -24% ROI · CLV -11% (35)Over/Under · -27% ROI · CLV – (22)Both teams to score · -43% ROI · CLV +8% (11)
MatchBetOur ProbKalshi ProbNet EdgeCostStatusP&L
🇩🇪Germany vs 🇵🇾ParaguayOver 2.5 goals54%40¢+7.9%$6.40Placed
🇩🇪Germany vs 🇵🇾ParaguayDraw63%33¢+24.5%$12.21Placed
🇹🇷Turkey vs 🇵🇾Paraguay🇵🇾Paraguay37%25¢+6.4%$74.40Won+174.60
🇩🇪Germany vs 🇨🇮Ivory Coast🇨🇮Ivory Coast25%17¢+4.4%$28.56Lost-28.56
🇧🇪Belgium vs 🇮🇷Iran🇮🇷Iran22%13¢+4.9%$15.86Lost-15.86
🇺🇸United States vs 🇦🇺Australia🇦🇺Australia30%18¢+6.0%$74.95Lost-74.95
🇺🇸United States vs 🇦🇺AustraliaDraw20%13¢+3.0%$17.03Lost-17.03
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇲🇦Morocco🇲🇦Morocco89%80¢+3.2%$8.00Won+2.00
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇲🇦Morocco🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland16%+6.8%$0.10Lost-0.10
🇧🇷Brazil vs 🇭🇹HaitiOver 3.5 goals75%46¢+23.0%$58.88Lost-58.88
🇧🇷Brazil vs 🇭🇹HaitiDraw20%10¢+5.5%$15.46Lost-15.46
🇹🇷Turkey vs 🇵🇾Paraguay🇹🇷Turkey44%25¢+12.6%$25.04Lost-25.04
🇳🇱Netherlands vs 🇸🇪Sweden🇸🇪Sweden18%10¢+4.3%$14.64Lost-14.64
🇳🇱Netherlands vs 🇸🇪SwedenOver 2.5 goals89%78¢+5.3%$67.08Won+18.92
🇯🇴Jordan vs 🇩🇿AlgeriaBoth score62%46¢+9.6%$39.56Won+46.44
🇧🇪Belgium vs 🇮🇷IranBoth score60%48¢+6.5%$32.64Lost-32.64
🇪🇸Spain vs 🇸🇦Saudi ArabiaBoth score41%31¢+4.0%$19.84Lost-19.84
🇧🇦Bosnia and Herzegovina vs 🇶🇦Qatar🇶🇦Qatar21%13¢+3.7%$12.61Lost-12.61
🇪🇨Ecuador vs 🇨🇼CuracaoOver 2.5 goals62%43¢+12.9%$42.45Lost-42.45
🇪🇨Ecuador vs 🇨🇼CuracaoBoth score19%10¢+5.2%$14.52Lost-14.52
🇹🇳Tunisia vs 🇯🇵JapanOver 2.5 goals90%68¢+15.5%$38.08Won+17.92
🇺🇾Uruguay vs 🇨🇻Cape VerdeOver 4.5 goals43%16¢+23.4%$34.24Lost-34.24
🇺🇾Uruguay vs 🇨🇻Cape VerdeDraw100%86¢+10.0%$74.72Won+11.28
🇳🇿New Zealand vs 🇪🇬Egypt🇳🇿New Zealand26%16¢+6.2%$47.42Lost-47.42
🇦🇷Argentina vs 🇦🇹AustriaDraw27%13¢+10.5%$26.06Lost-26.06
🇦🇷Argentina vs 🇦🇹AustriaOver 2.5 goals51%41¢+4.1%$13.12Lost-13.12
🇫🇷France vs 🇮🇶IraqOver 3.5 goals45%27¢+11.8%$18.36Lost-18.36
🇫🇷France vs 🇮🇶IraqBoth score33%21¢+5.5%$15.98Lost-15.98
🇳🇴Norway vs 🇸🇳Senegal🇳🇴Norway50%39¢+5.1%$56.36Won+36.64
🇯🇴Jordan vs 🇩🇿Algeria🇯🇴Jordan27%14¢+8.8%$39.99Lost-39.99
🇯🇴Jordan vs 🇩🇿AlgeriaOver 2.5 goals55%34¢+14.8%$22.78Won+44.22
🇵🇹Portugal vs 🇺🇿UzbekistanBoth score33%20¢+6.7%$26.41Lost-26.41
🏴󠁧󠁢󠁥󠁮󠁧󠁿England vs 🇬🇭GhanaOver 2.5 goals55%35¢+14.3%$19.95Lost-19.95
🇵🇦Panama vs 🇭🇷Croatia🇭🇷Croatia68%51¢+11.4%$29.58Won+28.42
🇵🇦Panama vs 🇭🇷CroatiaBoth score42%27¢+8.9%$22.53Lost-22.53
🇵🇦Panama vs 🇭🇷CroatiaOver 2.5 goals56%27¢+23.0%$29.16Lost-29.16
🇨🇴Colombia vs 🇨🇩DR CongoOver 1.5 goals62%45¢+10.9%$28.65Lost-28.65
🇨🇴Colombia vs 🇨🇩DR CongoBoth score32%20¢+5.7%$16.70Lost-16.70
🇨🇴Colombia vs 🇨🇩DR Congo🇨🇴Colombia65%43¢+15.6%$24.94Won+33.06
🇨🇭Switzerland vs 🇨🇦CanadaOver 2.5 goals43%27¢+10.3%$21.98Won+68.02
🇨🇭Switzerland vs 🇨🇦CanadaBoth score37%25¢+6.4%$11.25Won+33.75
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇧🇷BrazilBoth score52%40¢+5.9%$15.20Lost-15.20
🇨🇿Czech Republic vs 🇲🇽MexicoOver 2.5 goals50%29¢+14.6%$31.30Won+84.70
🇿🇦South Africa vs 🇰🇷South KoreaOver 2.5 goals42%27¢+8.9%$24.66Lost-24.66
🇨🇿Czech Republic vs 🇲🇽MexicoBoth score38%24¢+7.8%$14.64Lost-14.64
🇪🇨Ecuador vs 🇩🇪Germany🇩🇪Germany55%31¢+17.8%$36.58Lost-36.58
🇨🇼Curacao vs 🇨🇮Ivory CoastOver 3.5 goals39%23¢+10.4%$27.87Lost-27.87
🇯🇵Japan vs 🇸🇪SwedenOver 2.5 goals54%25¢+23.0%$34.75Lost-34.75
🇯🇵Japan vs 🇸🇪Sweden🇯🇵Japan50%39¢+5.1%$25.37Lost-25.37
🇹🇷Turkey vs 🇺🇸United States🇺🇸United States41%21¢+14.2%$19.11Lost-19.11
🇵🇾Paraguay vs 🇦🇺AustraliaOver 0.5 goals66%50¢+10.2%$28.07Lost-28.07
🇵🇾Paraguay vs 🇦🇺Australia🇵🇾Paraguay32%17¢+11.3%$16.79Lost-16.79
🇳🇴Norway vs 🇫🇷France🇳🇴Norway16%+6.9%$6.70Lost-6.70
🇺🇾Uruguay vs 🇪🇸SpainDraw55%29¢+20.2%$20.59Lost-20.59
🇨🇻Cape Verde vs 🇸🇦Saudi ArabiaDraw59%31¢+21.5%$20.15Won+44.85
🇨🇻Cape Verde vs 🇸🇦Saudi ArabiaOver 2.5 goals43%25¢+11.7%$10.50Lost-10.50
🇺🇾Uruguay vs 🇪🇸SpainOver 2.5 goals44%31¢+6.5%$12.38Lost-12.38
🇪🇬Egypt vs 🇮🇷Iran🇮🇷Iran41%29¢+5.8%$8.99Lost-8.99
🇳🇿New Zealand vs 🇧🇪Belgium🇳🇿New Zealand16%+6.3%$5.94Lost-5.94
🇵🇦Panama vs 🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandDraw21%11¢+5.9%$5.72Lost-5.72
🇭🇷Croatia vs 🇬🇭GhanaDraw52%33¢+12.5%$13.53Lost-13.53
🇵🇦Panama vs 🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandOver 2.5 goals51%30¢+14.6%$13.50Lost-13.50
🇭🇷Croatia vs 🇬🇭GhanaOver 1.5 goals100%85¢+11.0%$26.35Won+4.65
🇨🇴Colombia vs 🇵🇹Portugal🇨🇴Colombia38%26¢+5.9%$7.02Lost-7.02
🇨🇩DR Congo vs 🇺🇿UzbekistanDraw38%25¢+7.4%$7.75Lost-7.75
🇨🇴Colombia vs 🇵🇹PortugalOver 2.5 goals55%39¢+10.1%$10.53Lost-10.53
🇩🇿Algeria vs 🇦🇹Austria🇩🇿Algeria44%29¢+9.4%$8.12Lost-8.12
🇯🇴Jordan vs 🇦🇷ArgentinaDraw35%12¢+18.8%$9.36Lost-9.36
🇿🇦South Africa vs 🇨🇦CanadaDraw57%32¢+18.6%$12.16Lost-12.16
🇧🇷Brazil vs 🇯🇵JapanDraw43%29¢+7.8%$5.80Lost-5.80

Every placed Kalshi trade and its result. Our Prob is the model's blended probability at entry, Kalshi Prob the price we paid, Net Edge how much we beat the fee-adjusted price. Status: Placed (open), Won/Lost (settled), Void. The chips show each market's ROI and CLV (how much better than the close we got in). Net P&L is realized minus operating costs.

Model scorecard 48 graded

Accuracy 71% ±13% · always-favorite baseline 44% · Brier 0.448 (base-rate 0.645) · skill +30.5% · 14 pending

⚠️ Only 48 games graded — far too few to draw conclusions (need ~2 more). Read this as noise for now. This tracks our pre-match win/draw/loss forecasts vs results. We change the model only on a real, significant signal — never on a hot or cold week.

Matches today

Round of 32Jun 29, 4:30 PM
🇩🇪Germany
1.5 – 1.1projected goals
🇵🇾Paraguay
Germany 63% · draw 20% · Paraguay 17%Germany advance 79% · total 2.6 goals
Bookmakers: Germany 73% · draw 18% · Paraguay 9%
Round of 32Jun 29, 9:00 PM
🇳🇱Netherlands
0.9 – 1.2projected goals
🇲🇦Morocco
Netherlands 39% · draw 26% · Morocco 35%Netherlands advance 55% · total 2.1 goals
Bookmakers: Netherlands 41% · draw 31% · Morocco 28%

Upcoming matches

Round of 32Jun 30, 1:00 PM
🇨🇮Ivory Coast
1.2 – 1.3projected goals
🇳🇴Norway
Ivory Coast 28% · draw 25% · Norway 47%Ivory Coast advance 37% · total 2.5 goals
Bookmakers: Ivory Coast 27% · draw 27% · Norway 46%
Round of 32Jun 30, 5:00 PM
🇫🇷France
2.5 – 1.1projected goals
🇸🇪Sweden
France 78% · draw 13% · Sweden 9%France advance 89% · total 3.5 goals
Bookmakers: France 78% · draw 15% · Sweden 8%
Round of 32Jun 30, 9:00 PM
🇲🇽Mexico
0.7 – 1.0projected goals
🇪🇨Ecuador
Mexico 30% · draw 29% · Ecuador 40%Mexico advance 45% · total 1.7 goals
Bookmakers: Mexico 43% · draw 33% · Ecuador 24%
Round of 32Jul 1, 12:00 PM
🏴󠁧󠁢󠁥󠁮󠁧󠁿England
1.2 – 0.6projected goals
🇨🇩DR Congo
England 70% · draw 20% · DR Congo 10%England advance 87% · total 1.8 goals
Bookmakers: England 77% · draw 16% · DR Congo 7%
Round of 32Jul 1, 4:00 PM
🇧🇪Belgium
1.4 – 1.3projected goals
🇸🇳Senegal
Belgium 44% · draw 25% · Senegal 32%Belgium advance 58% · total 2.8 goals
Bookmakers: Belgium 44% · draw 29% · Senegal 27%
Round of 32Jul 1, 8:00 PM
🇺🇸United States
1.7 – 1.0projected goals
🇧🇦Bosnia and Herzegovina
United States 65% · draw 20% · Bosnia and Herzegovina 16%United States advance 80% · total 2.7 goals
Round of 32Jul 2, 3:00 PM
🇪🇸Spain
1.9 – 0.9projected goals
🇦🇹Austria
Spain 74% · draw 16% · Austria 10%Spain advance 88% · total 2.8 goals
Bookmakers: Spain 75% · draw 17% · Austria 8%
Round of 32Jul 2, 7:00 PM
🇵🇹Portugal
1.6 – 1.0projected goals
🇭🇷Croatia
Portugal 53% · draw 24% · Croatia 24%Portugal advance 67% · total 2.7 goals
Bookmakers: Portugal 55% · draw 26% · Croatia 19%
Round of 32Jul 2, 11:00 PM
🇨🇭Switzerland
1.3 – 1.5projected goals
🇩🇿Algeria
Switzerland 42% · draw 24% · Algeria 34%Switzerland advance 57% · total 2.8 goals
Bookmakers: Switzerland 47% · draw 29% · Algeria 24%
Round of 32Jul 3, 2:00 PM
🇦🇺Australia
1.1 – 0.9projected goals
🇪🇬Egypt
Australia 41% · draw 28% · Egypt 31%Australia advance 56% · total 2.0 goals
Bookmakers: Australia 28% · draw 33% · Egypt 39%
Round of 32Jul 3, 6:00 PM
🇦🇷Argentina
2.4 – 0.4projected goals
🇨🇻Cape Verde
Argentina 91% · draw 7% · Cape Verde 2%Argentina advance 98% · total 2.8 goals
Bookmakers: Argentina 85% · draw 11% · Cape Verde 4%
Round of 32Jul 3, 9:30 PM
🇨🇴Colombia
2.1 – 0.7projected goals
🇬🇭Ghana
Colombia 76% · draw 16% · Ghana 9%Colombia advance 88% · total 2.9 goals
Bookmakers: Colombia 64% · draw 24% · Ghana 12%

Who wins the World Cup

TeamRatingModelMarket
🇪🇸Spain212423.4%10.9%
🇦🇷Argentina207418.5%17.7%
🇫🇷France211317.8%20.1%
🏴󠁧󠁢󠁥󠁮󠁧󠁿England207913.5%11.3%
🇧🇷Brazil20258.9%7.8%
🇩🇪Germany19753.8%4.5%
🇨🇴Colombia19403.0%2.6%
🇵🇹Portugal19872.4%6.4%
🇳🇱Netherlands20002.2%4.9%
🇧🇪Belgium19421.5%1.5%
🇳🇴Norway19401.1%2.2%
🇺🇸United States18440.8%2.3%

Market = bookmaker consensus (margin removed). Where Model > Market the model is more bullish than the betting public, and vice versa.

Recent results

DateMatchScore
Jun 29, 1:00 PM🇧🇷Brazil vs 🇯🇵Japan2–1
Jun 28, 3:00 PM🇿🇦South Africa vs 🇨🇦Canada0–1
Jun 27, 10:00 PM🇩🇿Algeria vs 🇦🇹Austria3–3
Jun 27, 10:00 PM🇯🇴Jordan vs 🇦🇷Argentina1–3
Jun 27, 7:30 PM🇨🇩DR Congo vs 🇺🇿Uzbekistan3–1
Jun 27, 7:30 PM🇨🇴Colombia vs 🇵🇹Portugal0–0
Jun 27, 5:00 PM🇭🇷Croatia vs 🇬🇭Ghana2–1
Jun 27, 5:00 PM🇵🇦Panama vs 🏴󠁧󠁢󠁥󠁮󠁧󠁿England0–2
Jun 26, 11:00 PM🇪🇬Egypt vs 🇮🇷Iran1–1
Jun 26, 11:00 PM🇳🇿New Zealand vs 🇧🇪Belgium1–5
Jun 26, 8:00 PM🇨🇻Cape Verde vs 🇸🇦Saudi Arabia0–0
Jun 26, 8:00 PM🇺🇾Uruguay vs 🇪🇸Spain0–1

Groups

Group APWDLGDPtsxPtsAdvance
🇲🇽Mexico3300+699.0100.0%
🇿🇦South Africa3111-144.0100.0%
🇰🇷South Korea3102-133.00.0%
🇨🇿Czech Republic3012-411.00.0%
Group BPWDLGDPtsxPtsAdvance
🇨🇭Switzerland3210+477.0100.0%
🇨🇦Canada3111+544.0100.0%
🇧🇦Bosnia and Herzegovina3111-144.0100.0%
🇶🇦Qatar3012-811.00.0%
Group CPWDLGDPtsxPtsAdvance
🇧🇷Brazil3210+677.0100.0%
🇲🇦Morocco3210+377.0100.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland3102-333.00.0%
🇭🇹Haiti3003-600.00.0%
Group DPWDLGDPtsxPtsAdvance
🇺🇸United States3201+466.0100.0%
🇦🇺Australia3111+044.0100.0%
🇵🇾Paraguay3111-244.0100.0%
🇹🇷Turkey3102-233.00.0%
Group EPWDLGDPtsxPtsAdvance
🇩🇪Germany3201+666.0100.0%
🇨🇮Ivory Coast3201+266.0100.0%
🇪🇨Ecuador3111+044.0100.0%
🇨🇼Curacao3012-811.00.0%
Group FPWDLGDPtsxPtsAdvance
🇳🇱Netherlands3210+677.0100.0%
🇯🇵Japan3120+455.0100.0%
🇸🇪Sweden3111+044.0100.0%
🇹🇳Tunisia3003-1000.00.0%
Group GPWDLGDPtsxPtsAdvance
🇧🇪Belgium3120+455.0100.0%
🇪🇬Egypt3120+255.0100.0%
🇮🇷Iran3030+033.00.0%
🇳🇿New Zealand3012-611.00.0%
Group HPWDLGDPtsxPtsAdvance
🇪🇸Spain3210+577.0100.0%
🇨🇻Cape Verde3030+033.0100.0%
🇺🇾Uruguay3021-122.00.0%
🇸🇦Saudi Arabia3021-422.00.0%
Group IPWDLGDPtsxPtsAdvance
🇫🇷France3300+899.0100.0%
🇳🇴Norway3201+166.0100.0%
🇸🇳Senegal3102+233.0100.0%
🇮🇶Iraq3003-1100.00.0%
Group JPWDLGDPtsxPtsAdvance
🇦🇷Argentina3300+799.0100.0%
🇦🇹Austria3111+044.0100.0%
🇩🇿Algeria3111-244.0100.0%
🇯🇴Jordan3003-500.00.0%
Group KPWDLGDPtsxPtsAdvance
🇨🇴Colombia3210+377.0100.0%
🇵🇹Portugal3120+555.0100.0%
🇨🇩DR Congo3111+144.0100.0%
🇺🇿Uzbekistan3003-900.00.0%
Group LPWDLGDPtsxPtsAdvance
🏴󠁧󠁢󠁥󠁮󠁧󠁿England3210+477.0100.0%
🇭🇷Croatia3201+066.0100.0%
🇬🇭Ghana3111+044.0100.0%
🇵🇦Panama3003-400.00.0%

Green edge = top two (advance) · gold edge = third place (8 of 12 thirds advance). xPts = expected final points.

Round-by-round odds all 48 teams

TeamGrpRatingLast 32Last 16QuartersSemisFinalChampion
🇪🇸SpainH2124100.0%90.3%68.4%56.3%37.7%23.4%
🇦🇷ArgentinaJ2074100.0%98.0%78.4%60.8%33.4%18.5%
🇫🇷FranceI2113100.0%90.3%66.3%41.9%30.0%17.8%
🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandL2079100.0%92.7%71.5%37.1%25.0%13.5%
🇧🇷BrazilC2025100.0%100.0%68.8%45.9%19.1%8.9%
🇩🇪GermanyE1975100.0%84.9%60.1%28.7%10.0%3.8%
🇨🇴ColombiaK1940100.0%86.1%72.1%25.8%8.6%3.0%
🇵🇹PortugalK1987100.0%64.5%21.2%13.8%6.5%2.4%
🇳🇱NetherlandsF2000100.0%63.3%22.4%10.2%5.7%2.2%
🇧🇪BelgiumG1942100.0%60.0%37.6%11.2%4.5%1.5%
🇳🇴NorwayI1940100.0%66.5%24.2%12.8%3.5%1.1%
🇺🇸United StatesD1844100.0%83.0%38.5%9.2%3.1%0.8%
🇨🇭SwitzerlandB1901100.0%62.3%15.3%8.3%2.4%0.6%
🇪🇨EcuadorE1907100.0%50.5%13.5%3.7%1.5%0.4%
🇸🇳SenegalI1881100.0%40.0%21.6%4.6%1.6%0.4%
🇲🇦MoroccoC1918100.0%36.7%9.1%3.0%1.3%0.4%
🇲🇽MexicoA1851100.0%49.5%13.4%3.3%1.3%0.4%
🇭🇷CroatiaL1900100.0%35.5%7.7%3.8%1.3%0.4%
🇨🇦CanadaB1792100.0%100.0%35.1%9.5%1.9%0.3%
🇩🇿AlgeriaJ1822100.0%37.7%6.0%2.5%0.4%0.1%
🇦🇹AustriaJ1808100.0%9.7%2.7%0.9%0.2%<0.1%
🇸🇪SwedenF1805100.0%9.7%2.2%0.5%0.2%<0.1%
🇨🇮Ivory CoastE1840100.0%33.5%7.0%2.5%0.4%<0.1%
🇦🇺AustraliaD1719100.0%56.0%12.8%1.5%0.2%<0.1%
🇨🇩DR CongoK1737100.0%7.3%1.7%0.2%<0.1%<0.1%
🇿🇦South AfricaA1548100.0%0.0%0.0%0.0%0.0%0.0%
🇰🇷South KoreaA17300.0%0.0%0.0%0.0%0.0%0.0%
🇨🇿Czech RepublicA17350.0%0.0%0.0%0.0%0.0%0.0%
🇶🇦QatarB14060.0%0.0%0.0%0.0%0.0%0.0%
🇧🇦Bosnia and HerzegovinaB1665100.0%17.0%2.3%0.2%<0.1%0.0%
🇭🇹HaitiC15510.0%0.0%0.0%0.0%0.0%0.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿ScotlandC17520.0%0.0%0.0%0.0%0.0%0.0%
🇵🇾ParaguayD1732100.0%15.1%4.8%0.7%<0.1%0.0%
🇹🇷TurkeyD19270.0%0.0%0.0%0.0%0.0%0.0%
🇨🇼CuracaoE14360.0%0.0%0.0%0.0%0.0%0.0%
🇯🇵JapanF1855100.0%0.0%0.0%0.0%0.0%0.0%
🇹🇳TunisiaF15940.0%0.0%0.0%0.0%0.0%0.0%
🇪🇬EgyptG1693100.0%44.0%9.0%0.7%<0.1%0.0%
🇮🇷IranG16440.0%0.0%0.0%0.0%0.0%0.0%
🇳🇿New ZealandG15090.0%0.0%0.0%0.0%0.0%0.0%
🇨🇻Cape VerdeH1587100.0%2.0%0.2%<0.1%0.0%0.0%
🇸🇦Saudi ArabiaH15350.0%0.0%0.0%0.0%0.0%0.0%
🇺🇾UruguayH18900.0%0.0%0.0%0.0%0.0%0.0%
🇮🇶IraqI14980.0%0.0%0.0%0.0%0.0%0.0%
🇯🇴JordanJ15250.0%0.0%0.0%0.0%0.0%0.0%
🇺🇿UzbekistanK16440.0%0.0%0.0%0.0%0.0%0.0%
🇬🇭GhanaL1679100.0%13.9%6.1%0.5%<0.1%0.0%
🇵🇦PanamaL15810.0%0.0%0.0%0.0%0.0%0.0%

Model: team rating = 50% Elo (eloratings.net-style, K=60, +50 host bonus, updated after every result) + 50% squad market value (Transfermarkt, log-scaled). Ratings drive a log-linear Poisson goal model and the remaining tournament is simulated 10,000 times. Real results always override simulation. Third-place bracket slots are assigned randomly among FIFA-legal options until the real bracket is known.