⚽ World Cup 2026 Forecast

Elo ratings + 10,000-run Monte Carlo simulation · updated Saturday, June 20 2026 at 4:30 AM

Best Bets Today model picks & placed trades

KickoffMatchBetOur probKalshiNet edgeStakePlaced
Jun 21, 12:00 PM🇪🇸Spain vs 🇸🇦Saudi ArabiaBoth teams to score41%32¢+3.0%$17
Jun 21, 3:00 PM🇧🇪Belgium vs 🇮🇷IranBoth teams to score61%47¢+7.5%$33
Jun 22, 11:00 PM🇯🇴Jordan vs 🇩🇿AlgeriaBoth teams to score62%46¢+9.6%$38
Jun 23, 7:00 PM🇵🇦Panama vs 🇭🇷CroatiaBoth teams to score56%45¢+4.7%$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
🇧🇷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 · 3 open ($44.42 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 56% · draw 23% · Sweden 20%
Group stageJun 20, 4:00 PM
🇩🇪Germany
1.7 – 1.1projected goals
🇨🇮Ivory Coast
Germany 51% · draw 24% · Ivory Coast 25%total 2.8 goals
Bookmakers: Germany 64% · draw 20% · Ivory Coast 16%
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 89% · draw 8% · Curacao 3%

Upcoming matches

Group stageJun 21, 12:00 AM
🇹🇳Tunisia
0.6 – 1.7projected goals
🇯🇵Japan
Tunisia 14% · draw 24% · Japan 62%total 2.3 goals
Bookmakers: Tunisia 14% · draw 23% · Japan 62%
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 2%
Group stageJun 21, 3:00 PM
🇧🇪Belgium
2.0 – 1.2projected goals
🇮🇷Iran
Belgium 54% · draw 22% · Iran 24%total 3.2 goals
Bookmakers: Belgium 68% · draw 20% · Iran 12%
Group stageJun 21, 6:00 PM
🇺🇾Uruguay
1.8 – 0.6projected goals
🇨🇻Cape Verde
Uruguay 68% · draw 21% · Cape Verde 11%total 2.4 goals
Bookmakers: Uruguay 67% · 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 79% · draw 14% · Iraq 7%total 3.1 goals
Bookmakers: France 91% · draw 7% · 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 42% · draw 27% · Senegal 31%
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 13% · 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 80% · draw 14% · Ghana 6%
Group stageJun 23, 7:00 PM
🇵🇦Panama
0.9 – 2.5projected goals
🇭🇷Croatia
Panama 12% · draw 16% · Croatia 72%total 3.4 goals
Bookmakers: Panama 13% · draw 23% · Croatia 63%
Group stageJun 23, 10:00 PM
🇨🇴Colombia
1.7 – 0.8projected goals
🇨🇩DR Congo
Colombia 60% · draw 23% · DR Congo 16%total 2.5 goals
Bookmakers: Colombia 65% · draw 22% · DR Congo 13%

Who wins the World Cup

TeamRatingModelMarket
🇪🇸Spain210623.9%13.7%
🇫🇷France208518.8%18.7%
🇦🇷Argentina205614.8%9.4%
🏴󠁧󠁢󠁥󠁮󠁧󠁿England206214.6%12.8%
🇧🇷Brazil19844.3%6.6%
🇵🇹Portugal19804.1%7.3%
🇩🇪Germany19763.4%5.5%
🇳🇱Netherlands19783.2%3.6%
🇳🇴Norway19371.9%2.4%
🇺🇸United States18541.7%2.6%
🇨🇴Colombia19201.7%1.6%
🇧🇪Belgium19211.6%1.8%

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+368.0100.0%
🇰🇷South Korea2101+035.294.3%
🇨🇿Czech Republic2011-111.820.6%
🇿🇦South Africa2011-211.613.3%
Group BPWDLGDPtsxPtsAdvance
🇨🇦Canada2110+645.2100.0%
🇨🇭Switzerland2110+345.5100.0%
🇧🇦Bosnia and Herzegovina2011-313.268.1%
🇶🇦Qatar2011-611.612.8%
Group CPWDLGDPtsxPtsAdvance
🇧🇷Brazil2110+346.2100.0%
🇲🇦Morocco2110+146.6100.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland2101+033.674.0%
🇭🇹Haiti2002-400.30.0%
Group DPWDLGDPtsxPtsAdvance
🇺🇸United States2200+567.4100.0%
🇦🇺Australia2101+034.286.9%
🇵🇾Paraguay2101-234.580.6%
🇹🇷Turkey2002-301.40.0%
Group EPWDLGDPtsxPtsAdvance
🇩🇪Germany1100+636.799.8%
🇨🇮Ivory Coast1100+136.598.3%
🇪🇨Ecuador1001-103.887.3%
🇨🇼Curacao1001-600.41.4%
Group FPWDLGDPtsxPtsAdvance
🇸🇪Sweden1100+435.197.9%
🇳🇱Netherlands1010+015.695.7%
🇯🇵Japan1010+014.887.5%
🇹🇳Tunisia1001-400.85.1%
Group GPWDLGDPtsxPtsAdvance
🇮🇷Iran1010+012.741.9%
🇳🇿New Zealand1010+012.024.4%
🇧🇪Belgium1010+016.097.5%
🇪🇬Egypt1010+014.582.3%
Group HPWDLGDPtsxPtsAdvance
🇺🇾Uruguay1010+014.083.1%
🇸🇦Saudi Arabia1010+012.334.0%
🇪🇸Spain1010+016.199.3%
🇨🇻Cape Verde1010+012.949.4%
Group IPWDLGDPtsxPtsAdvance
🇳🇴Norway1100+335.498.1%
🇫🇷France1100+237.999.9%
🇸🇳Senegal1001-203.779.6%
🇮🇶Iraq1001-300.31.6%
Group JPWDLGDPtsxPtsAdvance
🇦🇷Argentina1100+338.199.9%
🇦🇹Austria1100+235.193.8%
🇯🇴Jordan1001-200.75.3%
🇩🇿Algeria1001-303.462.7%
Group KPWDLGDPtsxPtsAdvance
🇨🇴Colombia1100+236.298.0%
🇵🇹Portugal1010+015.191.8%
🇨🇩DR Congo1010+013.256.6%
🇺🇿Uzbekistan1001-201.621.7%
Group LPWDLGDPtsxPtsAdvance
🏴󠁧󠁢󠁥󠁮󠁧󠁿England1100+238.499.9%
🇬🇭Ghana1100+133.963.3%
🇵🇦Panama1001-100.65.2%
🇭🇷Croatia1001-204.587.4%

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.3%80.3%64.9%52.2%37.5%23.9%
🇫🇷FranceI208599.9%87.6%66.2%48.8%32.0%18.8%
🇦🇷ArgentinaJ205699.9%71.7%63.8%46.8%26.4%14.8%
🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandL206299.9%82.6%62.7%42.8%25.9%14.6%
🇧🇷BrazilC1984100.0%64.3%39.6%19.4%9.6%4.3%
🇵🇹PortugalK198091.8%64.3%36.4%19.0%9.0%4.1%
🇩🇪GermanyE197699.8%72.2%32.9%18.7%8.2%3.4%
🇳🇱NetherlandsF197895.7%56.1%36.5%16.6%7.5%3.2%
🇳🇴NorwayI193798.1%61.4%32.4%14.4%5.5%1.9%
🇺🇸United StatesD1854100.0%75.0%41.9%13.8%5.3%1.7%
🇨🇴ColombiaK192098.0%61.8%31.8%13.2%4.7%1.7%
🇧🇪BelgiumG192197.5%67.1%34.1%12.5%4.9%1.6%
🇲🇦MoroccoC1907100.0%50.9%28.1%9.6%3.3%1.0%
🇺🇾UruguayH188683.1%29.1%18.4%8.7%2.7%0.7%
🇲🇽MexicoA1841100.0%62.2%18.4%7.4%2.3%0.7%
🇨🇭SwitzerlandB1886100.0%68.1%29.8%9.5%2.9%0.7%
🇭🇷CroatiaL188287.4%41.9%14.0%6.2%1.8%0.6%
🇪🇨EcuadorE188387.3%41.6%18.4%6.1%2.1%0.5%
🇸🇳SenegalI187679.6%38.4%15.9%5.5%1.7%0.5%
🇨🇦CanadaB1797100.0%60.8%24.1%7.0%1.8%0.4%
🇯🇵JapanF185587.5%32.2%12.9%3.7%1.2%0.3%
🇦🇹AustriaJ183293.8%26.3%11.4%4.0%1.1%0.2%
🇨🇮Ivory CoastE183598.3%42.0%12.5%3.7%0.9%0.1%
🇸🇪SwedenF182097.9%32.6%11.8%2.9%0.7%0.1%
🇰🇷South KoreaA175894.3%30.6%8.2%1.2%0.2%<0.1%
🏴󠁧󠁢󠁳󠁣󠁴󠁿ScotlandC176774.0%17.9%4.2%1.0%0.2%<0.1%
🇩🇿AlgeriaJ178662.7%15.6%5.2%1.2%0.2%<0.1%
🇵🇾ParaguayD174780.6%30.7%4.6%1.1%0.2%<0.1%
🇦🇺AustraliaD171186.9%34.6%4.3%1.2%0.1%<0.1%
🇨🇿Czech RepublicA174520.6%6.3%1.4%0.1%<0.1%<0.1%
🇪🇬EgyptG169482.3%29.4%4.0%0.7%0.1%<0.1%
🇨🇩DR CongoK172156.6%11.9%2.4%0.4%<0.1%<0.1%
🇿🇦South AfricaA153713.3%1.2%<0.1%0.0%0.0%0.0%
🇶🇦QatarB142712.8%0.2%<0.1%0.0%0.0%0.0%
🇧🇦Bosnia and HerzegovinaB165868.1%9.7%1.6%<0.1%0.0%0.0%
🇭🇹HaitiC15640.0%0.0%0.0%0.0%0.0%0.0%
🇹🇷TurkeyD19080.0%0.0%0.0%0.0%0.0%0.0%
🇨🇼CuracaoE14571.4%<0.1%0.0%0.0%0.0%0.0%
🇹🇳TunisiaF16125.1%0.4%<0.1%0.0%0.0%0.0%
🇮🇷IranG165241.9%13.7%1.2%<0.1%<0.1%0.0%
🇳🇿New ZealandG153824.4%4.1%0.2%0.0%0.0%0.0%
🇨🇻Cape VerdeH158549.4%4.4%0.4%<0.1%0.0%0.0%
🇸🇦Saudi ArabiaH156034.0%2.5%0.2%0.0%0.0%0.0%
🇮🇶IraqI15251.6%0.1%<0.1%0.0%0.0%0.0%
🇯🇴JordanJ15575.3%0.4%<0.1%0.0%0.0%0.0%
🇺🇿UzbekistanK168321.7%3.2%0.5%<0.1%<0.1%0.0%
🇬🇭GhanaL168363.3%12.2%2.4%0.3%<0.1%0.0%
🇵🇦PanamaL16065.2%0.5%<0.1%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.