⚽ World Cup 2026 Forecast

Elo ratings + 10,000-run Monte Carlo simulation · updated Saturday, June 20 2026 at 2:31 PM

Best Bets Today model picks & placed trades

KickoffMatchBetOur probKalshiNet edgeStakePlaced
Jun 20, 1:00 PM🇳🇱Netherlands vs 🇸🇪SwedenDraw10%+4.8%$12
Jun 21, 12:00 PM🇪🇸Spain vs 🇸🇦Saudi ArabiaBoth teams to score41%31¢+4.0%$19
Jun 21, 3:00 PM🇧🇪Belgium vs 🇮🇷IranBoth teams to score60%47¢+7.5%$33
Jun 22, 11:00 PM🇯🇴Jordan vs 🇩🇿AlgeriaBoth teams to score62%46¢+9.6%$37
Jun 23, 7:00 PM🇵🇦Panama vs 🇭🇷CroatiaBoth teams to score56%45¢+4.8%$25

We simulate each match thousands of times and blend our model (sharpened by xG) with the betting market, then bet only outcomes Kalshi is underpricing after its ~7% fee (Net edge). Stake is quarter-Kelly off the live balance, capped at $75. Placed shows what the auto-trader has actually put on Kalshi — so what you see here is what it bets.

Bet Record placed trades, graded at 90 min

Record 2–6 · settled stake $273.86 · net -14.86 · ROI -5.4%

MatchBetContractsCostResultP&L
🇧🇪Belgium vs 🇮🇷Iran🇮🇷Iran122$15.86OPEN
🇩🇪Germany vs 🇨🇮Ivory Coast🇨🇮Ivory Coast168$28.56OPEN
🇳🇱Netherlands vs 🇸🇪Sweden🇸🇪Sweden149$14.64OPEN
🇳🇱Netherlands vs 🇸🇪SwedenOver 2.5 goals86$67.08OPEN
🇧🇷Brazil vs 🇭🇹HaitiOver 3.5 goals128$58.88LOSS-58.88
🇧🇷Brazil vs 🇭🇹HaitiDraw181$15.46LOSS-15.46
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇲🇦Morocco🇲🇦Morocco10$8.00WIN+2.00
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇲🇦Morocco🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland2$0.10LOSS-0.10
🇹🇷Turkey vs 🇵🇾Paraguay🇵🇾Paraguay249$74.40WIN+174.60
🇹🇷Turkey vs 🇵🇾Paraguay🇹🇷Turkey102$25.04LOSS-25.04
🇺🇸United States vs 🇦🇺Australia🇦🇺Australia417$74.95LOSS-74.95
🇺🇸United States vs 🇦🇺AustraliaDraw168$17.03LOSS-17.03

P&L Summary real money, net of costs

Realized trading P&L -14.86 · record 4–32 · 8 open ($126.14 at risk)

Operating costPer monthAccrued
Digital Ocean droplet$6$0.40
TheStatsAPI (xG + live data)$50$0.00
Odds API (free tier)$0$0.00
Total$56/mo$0.40

Net after costs: realized -14.86 − costs $0.40 accrued = -15.26. Open positions aren't counted until they settle.

Model scorecard 6 graded

Accuracy 67% ±38% · always-favorite baseline 50% · Brier 0.532 (base-rate 0.611) · skill +13.0% · 16 pending

⚠️ Only 6 games graded — far too few to draw conclusions (need ~44 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

Group stageJun 20, 1:00 PM
🇳🇱Netherlands
2.7 – 1.4projected goals
🇸🇪Sweden
Netherlands 65% · draw 17% · Sweden 18%total 4.1 goals
Bookmakers: Netherlands 92% · draw 6% · Sweden 2%
Group stageJun 20, 4:00 PM
🇩🇪Germany
1.6 – 1.0projected goals
🇨🇮Ivory Coast
Germany 53% · draw 25% · Ivory Coast 22%total 2.6 goals
Bookmakers: Germany 67% · draw 19% · Ivory Coast 14%
Group stageJun 20, 8:00 PM
🇪🇨Ecuador
2.9 – 0.3projected goals
🇨🇼Curacao
Ecuador 89% · draw 9% · Curacao 2%total 3.2 goals
Bookmakers: Ecuador 88% · draw 9% · Curacao 4%

Upcoming matches

Group stageJun 12, 3:00 PM
🇨🇦Canada
1.7 – 0.8projected goals
🇧🇦Bosnia and Herzegovina
Canada 60% · draw 24% · Bosnia and Herzegovina 17%total 2.5 goals
Group stageJun 21, 12:00 AM
🇹🇳Tunisia
0.7 – 1.7projected goals
🇯🇵Japan
Tunisia 14% · draw 24% · Japan 62%total 2.3 goals
Bookmakers: Tunisia 13% · draw 23% · Japan 64%
Group stageJun 21, 12:00 PM
🇪🇸Spain
3.0 – 0.6projected goals
🇸🇦Saudi Arabia
Spain 86% · draw 10% · Saudi Arabia 4%total 3.6 goals
Bookmakers: Spain 90% · draw 7% · Saudi Arabia 3%
Group stageJun 21, 3:00 PM
🇧🇪Belgium
2.0 – 1.2projected goals
🇮🇷Iran
Belgium 55% · draw 22% · Iran 24%total 3.2 goals
Bookmakers: Belgium 69% · draw 20% · Iran 12%
Group stageJun 21, 6:00 PM
🇺🇾Uruguay
1.8 – 0.6projected goals
🇨🇻Cape Verde
Uruguay 68% · draw 22% · Cape Verde 11%total 2.4 goals
Bookmakers: Uruguay 68% · draw 22% · Cape Verde 11%
Group stageJun 21, 9:00 PM
🇳🇿New Zealand
0.6 – 1.6projected goals
🇪🇬Egypt
New Zealand 15% · draw 25% · Egypt 60%total 2.2 goals
Bookmakers: New Zealand 16% · draw 23% · Egypt 61%
Group stageJun 22, 1:00 PM
🇦🇷Argentina
1.7 – 0.5projected goals
🇦🇹Austria
Argentina 67% · draw 23% · Austria 10%total 2.2 goals
Bookmakers: Argentina 62% · draw 24% · Austria 15%
Group stageJun 22, 5:00 PM
🇫🇷France
2.5 – 0.6projected goals
🇮🇶Iraq
France 80% · draw 14% · Iraq 7%total 3.1 goals
Bookmakers: France 91% · draw 6% · Iraq 2%
Group stageJun 22, 8:00 PM
🇳🇴Norway
1.6 – 1.4projected goals
🇸🇳Senegal
Norway 41% · draw 24% · Senegal 35%total 3.0 goals
Bookmakers: Norway 43% · draw 27% · Senegal 30%
Group stageJun 22, 11:00 PM
🇯🇴Jordan
1.1 – 2.7projected goals
🇩🇿Algeria
Jordan 12% · draw 15% · Algeria 72%total 3.8 goals
Bookmakers: Jordan 15% · draw 22% · Algeria 62%
Group stageJun 23, 1:00 PM
🇵🇹Portugal
2.1 – 0.7projected goals
🇺🇿Uzbekistan
Portugal 70% · draw 19% · Uzbekistan 11%total 2.8 goals
Bookmakers: Portugal 82% · draw 12% · Uzbekistan 5%
Group stageJun 23, 4:00 PM
🏴󠁧󠁢󠁥󠁮󠁧󠁿England
2.2 – 0.6projected goals
🇬🇭Ghana
England 76% · draw 17% · Ghana 8%total 2.8 goals
Bookmakers: England 81% · draw 13% · Ghana 6%
Group stageJun 23, 7:00 PM
🇵🇦Panama
0.9 – 2.5projected goals
🇭🇷Croatia
Panama 12% · draw 16% · Croatia 72%total 3.5 goals
Bookmakers: Panama 13% · draw 23% · Croatia 63%

Who wins the World Cup

TeamRatingModelMarket
🇪🇸Spain210623.6%13.7%
🇫🇷France208419.2%18.7%
🇦🇷Argentina205615.1%9.5%
🏴󠁧󠁢󠁥󠁮󠁧󠁿England206214.6%12.8%
🇵🇹Portugal19803.9%7.2%
🇩🇪Germany19763.8%5.6%
🇧🇷Brazil19843.8%6.4%
🇳🇱Netherlands19783.4%4.4%
🇳🇴Norway19371.9%2.4%
🇨🇴Colombia19201.8%1.6%
🇧🇪Belgium19211.6%1.8%
🇺🇸United States18541.5%2.6%

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

Recent results

DateMatchScore
Jun 19, 11:00 PM🇹🇷Turkey vs 🇵🇾Paraguay0–1
Jun 19, 8:30 PM🇧🇷Brazil vs 🇭🇹Haiti3–0
Jun 19, 6:00 PM🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland vs 🇲🇦Morocco0–1
Jun 19, 3:00 PM🇺🇸United States vs 🇦🇺Australia2–0
Jun 18, 9:00 PM🇲🇽Mexico vs 🇰🇷South Korea1–0
Jun 18, 6:00 PM🇨🇦Canada vs 🇶🇦Qatar6–0
Jun 18, 3:00 PM🇨🇭Switzerland vs 🇧🇦Bosnia and Herzegovina4–1
Jun 18, 12:00 PM🇨🇿Czech Republic vs 🇿🇦South Africa1–1
Jun 17, 10:00 PM🇺🇿Uzbekistan vs 🇨🇴Colombia1–3
Jun 17, 7:00 PM🇬🇭Ghana vs 🇵🇦Panama1–0
Jun 17, 4:00 PM🏴󠁧󠁢󠁥󠁮󠁧󠁿England vs 🇭🇷Croatia4–2
Jun 17, 1:00 PM🇵🇹Portugal vs 🇨🇩DR Congo1–1

Groups

Group APWDLGDPtsxPtsAdvance
🇲🇽Mexico2200+367.9100.0%
🇰🇷South Korea2101+035.294.8%
🇨🇿Czech Republic2011-111.820.4%
🇿🇦South Africa2011-211.613.1%
Group BPWDLGDPtsxPtsAdvance
🇨🇭Switzerland2110+345.6100.0%
🇨🇦Canada1100+636.299.1%
🇶🇦Qatar2011-611.512.0%
🇧🇦Bosnia and Herzegovina1001-303.055.4%
Group CPWDLGDPtsxPtsAdvance
🇧🇷Brazil2110+346.2100.0%
🇲🇦Morocco2110+146.6100.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland2101+033.676.3%
🇭🇹Haiti2002-400.30.0%
Group DPWDLGDPtsxPtsAdvance
🇺🇸United States2200+567.4100.0%
🇦🇺Australia2101+034.288.6%
🇵🇾Paraguay2101-234.581.9%
🇹🇷Turkey2002-301.40.0%
Group EPWDLGDPtsxPtsAdvance
🇩🇪Germany1100+636.799.9%
🇨🇮Ivory Coast1100+136.598.3%
🇪🇨Ecuador1001-103.787.5%
🇨🇼Curacao1001-600.41.6%
Group FPWDLGDPtsxPtsAdvance
🇸🇪Sweden1100+435.098.1%
🇳🇱Netherlands1010+015.696.2%
🇯🇵Japan1010+014.888.2%
🇹🇳Tunisia1001-400.84.8%
Group GPWDLGDPtsxPtsAdvance
🇮🇷Iran1010+012.742.7%
🇳🇿New Zealand1010+012.023.7%
🇧🇪Belgium1010+016.097.8%
🇪🇬Egypt1010+014.582.3%
Group HPWDLGDPtsxPtsAdvance
🇺🇾Uruguay1010+014.183.3%
🇸🇦Saudi Arabia1010+012.334.1%
🇪🇸Spain1010+016.199.1%
🇨🇻Cape Verde1010+012.949.1%
Group IPWDLGDPtsxPtsAdvance
🇳🇴Norway1100+335.498.5%
🇫🇷France1100+237.899.9%
🇸🇳Senegal1001-203.781.1%
🇮🇶Iraq1001-300.31.6%
Group JPWDLGDPtsxPtsAdvance
🇦🇷Argentina1100+338.199.9%
🇦🇹Austria1100+235.294.5%
🇯🇴Jordan1001-200.75.3%
🇩🇿Algeria1001-303.463.7%
Group KPWDLGDPtsxPtsAdvance
🇨🇴Colombia1100+236.398.8%
🇵🇹Portugal1010+015.191.6%
🇨🇩DR Congo1010+013.256.4%
🇺🇿Uzbekistan1001-201.623.1%
Group LPWDLGDPtsxPtsAdvance
🏴󠁧󠁢󠁥󠁮󠁧󠁿England1100+238.499.9%
🇬🇭Ghana1100+133.964.6%
🇵🇦Panama1001-100.65.6%
🇭🇷Croatia1001-204.587.3%

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
🇪🇸SpainH210699.1%80.3%65.3%52.6%37.1%23.6%
🇫🇷FranceI208499.9%87.9%66.6%49.8%32.3%19.2%
🇦🇷ArgentinaJ205699.9%72.1%64.0%47.0%26.9%15.1%
🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandL206299.9%83.4%63.5%43.2%26.4%14.6%
🇵🇹PortugalK198091.6%64.8%36.6%19.9%9.3%3.9%
🇩🇪GermanyE197699.9%71.4%33.3%18.9%9.1%3.8%
🇧🇷BrazilC1984100.0%63.5%38.0%17.9%8.6%3.8%
🇳🇱NetherlandsF197896.2%56.0%36.3%17.1%7.4%3.4%
🇳🇴NorwayI193798.5%61.2%31.6%14.3%5.3%1.9%
🇨🇴ColombiaK192098.8%62.7%32.4%13.8%5.1%1.8%
🇧🇪BelgiumG192197.8%68.9%34.9%13.0%4.9%1.6%
🇺🇸United StatesD1854100.0%68.8%38.4%12.2%4.7%1.5%
🇲🇦MoroccoC1907100.0%51.2%28.7%9.8%3.1%0.9%
🇨🇭SwitzerlandB1886100.0%66.1%29.1%9.4%3.1%0.8%
🇺🇾UruguayH188683.3%29.8%18.7%8.8%2.6%0.8%
🇲🇽MexicoA1841100.0%62.3%18.6%7.6%2.6%0.7%
🇪🇨EcuadorE188387.5%41.8%18.2%5.7%1.9%0.5%
🇸🇳SenegalI187681.1%39.0%17.3%5.4%1.7%0.5%
🇭🇷CroatiaL188187.3%40.9%13.3%5.6%1.7%0.5%
🇨🇦CanadaB179299.1%56.9%21.4%5.5%1.4%0.3%
🇯🇵JapanF185588.2%34.3%15.1%4.0%1.2%0.3%
🇨🇮Ivory CoastE183598.3%41.0%12.0%3.7%0.8%0.2%
🇸🇪SwedenF182098.1%33.0%12.1%3.1%0.7%0.1%
🇦🇹AustriaJ183294.5%26.1%11.8%4.0%0.8%0.1%
🇩🇿AlgeriaJ178663.7%16.1%5.4%1.3%0.2%<0.1%
🇰🇷South KoreaA175894.8%33.8%8.8%1.2%0.2%<0.1%
🏴󠁧󠁢󠁳󠁣󠁴󠁿ScotlandC176776.3%18.7%4.1%0.9%0.2%<0.1%
🇦🇺AustraliaD171188.6%35.8%4.3%0.8%0.1%<0.1%
🇨🇿Czech RepublicA174520.4%6.3%1.7%0.4%<0.1%<0.1%
🇪🇬EgyptG169482.3%28.3%4.2%0.6%<0.1%<0.1%
🇿🇦South AfricaA153813.1%1.5%0.1%<0.1%0.0%0.0%
🇶🇦QatarB142712.0%0.4%<0.1%0.0%0.0%0.0%
🇧🇦Bosnia and HerzegovinaB166355.4%11.1%1.8%0.1%<0.1%0.0%
🇭🇹HaitiC15640.0%0.0%0.0%0.0%0.0%0.0%
🇵🇾ParaguayD174781.9%30.8%5.2%1.5%0.1%0.0%
🇹🇷TurkeyD19080.0%0.0%0.0%0.0%0.0%0.0%
🇨🇼CuracaoE14571.6%<0.1%0.0%0.0%0.0%0.0%
🇹🇳TunisiaF16124.8%0.5%<0.1%0.0%0.0%0.0%
🇮🇷IranG165242.7%13.9%1.2%0.2%<0.1%0.0%
🇳🇿New ZealandG153923.7%4.2%0.2%<0.1%0.0%0.0%
🇨🇻Cape VerdeH158649.1%4.1%0.6%<0.1%0.0%0.0%
🇸🇦Saudi ArabiaH156134.1%2.5%0.3%<0.1%0.0%0.0%
🇮🇶IraqI15251.6%<0.1%0.0%0.0%0.0%0.0%
🇯🇴JordanJ15575.3%0.4%<0.1%0.0%0.0%0.0%
🇺🇿UzbekistanK168323.1%3.3%0.6%0.1%0.0%0.0%
🇨🇩DR CongoK172156.4%12.0%2.2%0.4%<0.1%0.0%
🇬🇭GhanaL168364.6%12.1%2.1%0.3%<0.1%0.0%
🇵🇦PanamaL16065.6%0.8%0.1%<0.1%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.