⚽ World Cup 2026 Forecast

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

Best Bets Today model picks & placed trades

KickoffMatchBetOur probKalshiNet edgeStakePlaced
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
🇧🇷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 57% · 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 15%
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 21, 12:00 AM
🇹🇳Tunisia
0.7 – 1.7projected goals
🇯🇵Japan
Tunisia 14% · draw 24% · Japan 62%total 2.3 goals
Bookmakers: Tunisia 14% · draw 24% · 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 91% · draw 7% · Saudi Arabia 2%
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 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 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%
Group stageJun 23, 10:00 PM
🇨🇴Colombia
1.7 – 0.8projected goals
🇨🇩DR Congo
Colombia 60% · draw 23% · DR Congo 17%total 2.5 goals
Bookmakers: Colombia 65% · draw 22% · DR Congo 13%

Who wins the World Cup

TeamRatingModelMarket
🇪🇸Spain210623.2%13.8%
🇫🇷France208519.5%18.7%
🇦🇷Argentina205616.2%9.5%
🏴󠁧󠁢󠁥󠁮󠁧󠁿England206214.3%12.8%
🇧🇷Brazil19843.7%6.5%
🇵🇹Portugal19803.6%7.3%
🇩🇪Germany19763.5%5.6%
🇳🇱Netherlands19783.2%3.7%
🇨🇴Colombia19201.8%1.6%
🇧🇪Belgium19211.7%1.8%
🇳🇴Norway19371.7%2.4%
🇺🇸United States18541.2%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+368.0100.0%
🇰🇷South Korea2101+035.294.4%
🇨🇿Czech Republic2011-111.820.4%
🇿🇦South Africa2011-211.613.7%
Group BPWDLGDPtsxPtsAdvance
🇨🇦Canada2110+645.2100.0%
🇨🇭Switzerland2110+345.5100.0%
🇧🇦Bosnia and Herzegovina2011-313.369.3%
🇶🇦Qatar2011-611.612.4%
Group CPWDLGDPtsxPtsAdvance
🇧🇷Brazil2110+346.2100.0%
🇲🇦Morocco2110+146.6100.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland2101+033.673.6%
🇭🇹Haiti2002-400.30.0%
Group DPWDLGDPtsxPtsAdvance
🇺🇸United States2200+567.3100.0%
🇦🇺Australia2101+034.386.8%
🇵🇾Paraguay2101-234.580.2%
🇹🇷Turkey2002-301.40.0%
Group EPWDLGDPtsxPtsAdvance
🇩🇪Germany1100+636.799.9%
🇨🇮Ivory Coast1100+136.598.3%
🇪🇨Ecuador1001-103.786.9%
🇨🇼Curacao1001-600.41.6%
Group FPWDLGDPtsxPtsAdvance
🇸🇪Sweden1100+435.097.8%
🇳🇱Netherlands1010+015.695.8%
🇯🇵Japan1010+014.887.5%
🇹🇳Tunisia1001-400.84.8%
Group GPWDLGDPtsxPtsAdvance
🇮🇷Iran1010+012.742.7%
🇳🇿New Zealand1010+012.024.4%
🇧🇪Belgium1010+016.097.8%
🇪🇬Egypt1010+014.581.8%
Group HPWDLGDPtsxPtsAdvance
🇺🇾Uruguay1010+014.183.4%
🇸🇦Saudi Arabia1010+012.334.1%
🇪🇸Spain1010+016.199.4%
🇨🇻Cape Verde1010+012.949.2%
Group IPWDLGDPtsxPtsAdvance
🇳🇴Norway1100+335.498.1%
🇫🇷France1100+237.999.9%
🇸🇳Senegal1001-203.779.3%
🇮🇶Iraq1001-300.41.6%
Group JPWDLGDPtsxPtsAdvance
🇦🇷Argentina1100+338.199.9%
🇦🇹Austria1100+235.294.0%
🇯🇴Jordan1001-200.65.1%
🇩🇿Algeria1001-303.463.0%
Group KPWDLGDPtsxPtsAdvance
🇨🇴Colombia1100+236.398.3%
🇵🇹Portugal1010+015.191.2%
🇨🇩DR Congo1010+013.257.4%
🇺🇿Uzbekistan1001-201.621.5%
Group LPWDLGDPtsxPtsAdvance
🏴󠁧󠁢󠁥󠁮󠁧󠁿England1100+238.599.9%
🇬🇭Ghana1100+133.962.6%
🇵🇦Panama1001-100.65.0%
🇭🇷Croatia1001-204.587.2%

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.4%79.5%64.8%53.0%36.9%23.2%
🇫🇷FranceI208599.9%88.2%66.7%49.9%33.2%19.5%
🇦🇷ArgentinaJ205699.9%72.2%64.2%47.6%28.0%16.2%
🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandL206299.9%83.2%63.8%42.9%25.8%14.3%
🇧🇷BrazilC1984100.0%64.2%38.2%18.0%8.6%3.7%
🇵🇹PortugalK198091.2%64.0%35.7%18.6%8.9%3.6%
🇩🇪GermanyE197699.9%72.6%33.7%19.2%8.6%3.5%
🇳🇱NetherlandsF197895.8%56.0%36.8%17.0%7.8%3.2%
🇨🇴ColombiaK192098.3%62.7%32.3%13.8%4.8%1.8%
🇧🇪BelgiumG192197.8%68.2%35.1%12.6%4.9%1.7%
🇳🇴NorwayI193798.1%61.1%31.5%14.1%4.9%1.7%
🇺🇸United StatesD1854100.0%73.7%40.6%12.8%4.6%1.2%
🇲🇦MoroccoC1907100.0%51.2%28.4%9.4%3.2%0.9%
🇨🇭SwitzerlandB1886100.0%67.5%30.3%9.3%3.1%0.9%
🇺🇾UruguayH188683.4%29.4%18.0%8.4%2.6%0.9%
🇲🇽MexicoA1841100.0%62.3%18.0%7.2%2.3%0.7%
🇪🇨EcuadorE188386.9%40.4%17.8%6.3%1.9%0.6%
🇨🇦CanadaB1797100.0%62.1%24.5%6.7%1.9%0.5%
🇭🇷CroatiaL188287.2%41.0%12.8%5.3%1.6%0.4%
🇸🇳SenegalI187679.3%38.6%16.7%5.1%1.4%0.3%
🇨🇮Ivory CoastE183598.3%42.6%12.4%3.9%1.1%0.3%
🇯🇵JapanF185587.5%32.5%14.0%4.1%1.1%0.2%
🇦🇹AustriaJ183294.0%25.6%12.3%4.5%1.1%0.2%
🇸🇪SwedenF182097.8%31.8%11.4%2.6%0.6%0.2%
🇩🇿AlgeriaJ178663.0%16.4%5.7%1.4%0.3%<0.1%
🇰🇷South KoreaA175894.4%30.0%7.1%0.9%0.2%<0.1%
🇦🇺AustraliaD171186.8%35.1%4.2%1.0%<0.1%<0.1%
🇪🇬EgyptG169481.8%28.2%4.2%0.7%<0.1%<0.1%
🏴󠁧󠁢󠁳󠁣󠁴󠁿ScotlandC176773.6%18.2%3.8%0.9%0.1%<0.1%
🇵🇾ParaguayD174780.2%29.6%4.6%1.2%0.2%<0.1%
🇮🇷IranG165242.7%14.4%1.6%0.2%<0.1%<0.1%
🇨🇩DR CongoK172157.4%12.3%2.1%0.4%<0.1%<0.1%
🇿🇦South AfricaA153713.7%1.1%0.1%0.0%0.0%0.0%
🇨🇿Czech RepublicA174520.4%6.1%1.4%0.2%<0.1%0.0%
🇶🇦QatarB142712.4%0.3%0.0%0.0%0.0%0.0%
🇧🇦Bosnia and HerzegovinaB165869.3%10.5%1.7%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.6%<0.1%0.0%0.0%0.0%0.0%
🇹🇳TunisiaF16124.8%0.4%<0.1%<0.1%0.0%0.0%
🇳🇿New ZealandG153824.4%4.3%0.2%0.0%0.0%0.0%
🇨🇻Cape VerdeH158549.2%3.9%0.5%<0.1%0.0%0.0%
🇸🇦Saudi ArabiaH156034.1%2.3%0.3%<0.1%0.0%0.0%
🇮🇶IraqI15251.6%0.1%0.0%0.0%0.0%0.0%
🇯🇴JordanJ15575.1%0.4%<0.1%0.0%0.0%0.0%
🇺🇿UzbekistanK168321.5%3.2%0.5%<0.1%<0.1%0.0%
🇬🇭GhanaL168362.6%11.7%2.1%0.4%<0.1%0.0%
🇵🇦PanamaL16065.0%0.7%<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.