⚽ World Cup 2026 Forecast

Elo ratings + 10,000-run Monte Carlo simulation · updated Saturday, June 20 2026 at 8: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.0%13.8%
🇫🇷France208519.9%18.7%
🇦🇷Argentina205614.9%9.5%
🏴󠁧󠁢󠁥󠁮󠁧󠁿England206214.7%12.8%
🇵🇹Portugal19804.0%7.3%
🇩🇪Germany19763.7%5.6%
🇧🇷Brazil19843.6%6.5%
🇳🇱Netherlands19783.1%3.7%
🇳🇴Norway19372.2%2.4%
🇺🇸United States18541.6%2.6%
🇧🇪Belgium19211.6%1.8%
🇨🇴Colombia19201.4%1.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.5%
🇨🇿Czech Republic2011-111.820.5%
🇿🇦South Africa2011-211.613.1%
Group BPWDLGDPtsxPtsAdvance
🇨🇦Canada2110+645.2100.0%
🇨🇭Switzerland2110+345.5100.0%
🇧🇦Bosnia and Herzegovina2011-313.268.4%
🇶🇦Qatar2011-611.612.5%
Group CPWDLGDPtsxPtsAdvance
🇧🇷Brazil2110+346.2100.0%
🇲🇦Morocco2110+146.6100.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿Scotland2101+033.673.2%
🇭🇹Haiti2002-400.30.0%
Group DPWDLGDPtsxPtsAdvance
🇺🇸United States2200+567.3100.0%
🇦🇺Australia2101+034.286.7%
🇵🇾Paraguay2101-234.581.1%
🇹🇷Turkey2002-301.40.0%
Group EPWDLGDPtsxPtsAdvance
🇩🇪Germany1100+636.799.8%
🇨🇮Ivory Coast1100+136.598.5%
🇪🇨Ecuador1001-103.786.7%
🇨🇼Curacao1001-600.41.5%
Group FPWDLGDPtsxPtsAdvance
🇸🇪Sweden1100+435.098.1%
🇳🇱Netherlands1010+015.695.8%
🇯🇵Japan1010+014.887.2%
🇹🇳Tunisia1001-400.84.8%
Group GPWDLGDPtsxPtsAdvance
🇮🇷Iran1010+012.741.8%
🇳🇿New Zealand1010+012.023.9%
🇧🇪Belgium1010+016.097.8%
🇪🇬Egypt1010+014.682.6%
Group HPWDLGDPtsxPtsAdvance
🇺🇾Uruguay1010+014.083.1%
🇸🇦Saudi Arabia1010+012.435.6%
🇪🇸Spain1010+016.199.2%
🇨🇻Cape Verde1010+012.847.8%
Group IPWDLGDPtsxPtsAdvance
🇳🇴Norway1100+335.498.2%
🇫🇷France1100+237.999.9%
🇸🇳Senegal1001-203.779.9%
🇮🇶Iraq1001-300.31.4%
Group JPWDLGDPtsxPtsAdvance
🇦🇷Argentina1100+338.199.9%
🇦🇹Austria1100+235.194.7%
🇯🇴Jordan1001-200.75.4%
🇩🇿Algeria1001-303.462.8%
Group KPWDLGDPtsxPtsAdvance
🇨🇴Colombia1100+236.398.2%
🇵🇹Portugal1010+015.191.9%
🇨🇩DR Congo1010+013.256.4%
🇺🇿Uzbekistan1001-201.621.7%
Group LPWDLGDPtsxPtsAdvance
🏴󠁧󠁢󠁥󠁮󠁧󠁿England1100+238.5100.0%
🇬🇭Ghana1100+133.963.6%
🇵🇦Panama1001-100.65.4%
🇭🇷Croatia1001-204.586.9%

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.2%79.9%64.4%51.8%36.0%23.0%
🇫🇷FranceI208599.9%88.2%66.7%50.1%33.1%19.9%
🇦🇷ArgentinaJ205699.9%72.4%63.6%46.1%27.3%14.9%
🏴󠁧󠁢󠁥󠁮󠁧󠁿EnglandL2062100.0%83.2%63.8%43.4%25.9%14.7%
🇵🇹PortugalK198091.9%65.0%37.3%19.7%9.6%4.0%
🇩🇪GermanyE197699.8%73.0%33.4%18.8%8.7%3.7%
🇧🇷BrazilC1984100.0%63.2%38.5%18.2%8.2%3.6%
🇳🇱NetherlandsF197895.8%54.8%35.6%15.9%7.5%3.1%
🇳🇴NorwayI193798.2%60.9%31.6%14.2%5.3%2.2%
🇺🇸United StatesD1854100.0%74.4%41.1%14.1%5.2%1.6%
🇧🇪BelgiumG192197.8%67.8%34.3%13.0%5.0%1.6%
🇨🇴ColombiaK192098.2%62.8%33.1%14.0%5.0%1.4%
🇲🇦MoroccoC1907100.0%52.6%28.8%9.6%3.3%1.1%
🇨🇭SwitzerlandB1886100.0%68.2%30.2%9.6%3.2%1.0%
🇺🇾UruguayH188683.1%28.8%18.1%8.7%2.7%0.7%
🇲🇽MexicoA1841100.0%62.8%18.4%7.6%2.2%0.6%
🇪🇨EcuadorE188386.7%41.5%18.1%6.0%1.9%0.6%
🇸🇳SenegalI187679.9%37.6%16.3%5.4%1.7%0.4%
🇭🇷CroatiaL188286.9%41.1%13.1%5.6%1.6%0.4%
🇯🇵JapanF185587.2%32.4%13.4%4.0%1.2%0.4%
🇨🇦CanadaB1797100.0%61.6%23.0%6.2%1.6%0.3%
🇦🇹AustriaJ183294.7%26.1%11.9%4.0%1.0%0.2%
🇨🇮Ivory CoastE183598.5%42.4%12.9%3.9%0.9%0.2%
🇸🇪SwedenF182098.1%32.2%11.5%3.0%0.7%0.1%
🇰🇷South KoreaA175894.5%29.8%7.6%1.2%0.2%<0.1%
🇵🇾ParaguayD174781.1%30.3%5.1%1.3%0.2%<0.1%
🇪🇬EgyptG169482.6%28.7%4.2%0.6%<0.1%<0.1%
🇩🇿AlgeriaJ178662.8%15.9%5.2%1.2%0.2%<0.1%
🇨🇩DR CongoK172156.4%12.0%2.2%0.4%<0.1%<0.1%
🇬🇭GhanaL168363.6%11.9%2.2%0.4%<0.1%<0.1%
🇿🇦South AfricaA153713.1%1.0%<0.1%0.0%0.0%0.0%
🇨🇿Czech RepublicA174520.5%6.2%1.5%0.2%<0.1%0.0%
🇶🇦QatarB142712.5%0.3%0.0%0.0%0.0%0.0%
🇧🇦Bosnia and HerzegovinaB165868.4%9.9%1.5%0.1%<0.1%0.0%
🇭🇹HaitiC15640.0%0.0%0.0%0.0%0.0%0.0%
🏴󠁧󠁢󠁳󠁣󠁴󠁿ScotlandC176773.2%17.9%3.9%0.8%0.2%0.0%
🇦🇺AustraliaD171186.7%34.6%4.9%0.9%<0.1%0.0%
🇹🇷TurkeyD19080.0%0.0%0.0%0.0%0.0%0.0%
🇨🇼CuracaoE14571.5%<0.1%0.0%0.0%0.0%0.0%
🇹🇳TunisiaF16124.8%0.5%<0.1%0.0%0.0%0.0%
🇮🇷IranG165241.8%14.0%1.4%0.2%<0.1%0.0%
🇳🇿New ZealandG153823.9%4.0%0.2%0.0%0.0%0.0%
🇨🇻Cape VerdeH158547.8%3.9%0.5%<0.1%0.0%0.0%
🇸🇦Saudi ArabiaH156035.6%2.2%0.2%<0.1%0.0%0.0%
🇮🇶IraqI15251.4%<0.1%<0.1%0.0%0.0%0.0%
🇯🇴JordanJ15575.4%0.5%<0.1%<0.1%0.0%0.0%
🇺🇿UzbekistanK168321.7%2.8%0.4%<0.1%<0.1%0.0%
🇵🇦PanamaL16065.4%0.6%<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.