World Cup

Graded after the fact: our market-blind forecasts vs the market price at forecast time.

Elo simulation + Bayesian updates, never reading a market price · forecast date 2026-06-11

Accuracy64%46 / 72 matches
Return−10.7%132 bets
Brier Skill Score−7.7%>0 beats the market
Calibration6.7%lower is better

When we bet: skip if our number is close to the market, bet only when the gap is wide.

back = bet it happens · fade = bet it won't · a win pays the market's odds, a loss is −100%.

Top 3 by return

Top = ours, bottom = the market at forecast time; bold = actual result. Win / draw / loss are bet independently.

🇪🇸 Spain0 – 0Cape Verde 🇨🇻
OursMarket
Home win fade +952.6%Draw back +1392.5%Away win · no bet
🇵🇹 Portugal1 – 1DR Congo 🇨🇩
OursMarket
Home win fade +308.2%Draw back +506.1%Away win · no bet
🇧🇪 Belgium0 – 0Iran 🇮🇷
OursMarket
Home win fade +239%Draw back +412.8%Away win back −100%
Show the other 69
🇪🇨 Ecuador2 – 1Germany 🇩🇪
OursMarket
Home win back +387.8%Draw · no betAway win fade +129.9%
🇦🇺 Australia2 – 0Türkiye 🇹🇷
OursMarket
Home win back +471.4%Draw · no betAway win · no bet
🇹🇷 Türkiye3 – 2USA 🇺🇸
OursMarket
Home win back +166.7%Draw · no betAway win fade +62.6%
🇰🇷 South Korea2 – 1Czechia 🇨🇿
OursMarket
Home win back +181.7%Draw fade +46%Away win · no bet
🇨🇿 Czechia0 – 3Mexico 🇲🇽
OursMarket
Home win fade +25.8%Draw fade +36.1%Away win back +83.5%
🇲🇽 Mexico1 – 0South Korea 🇰🇷
OursMarket
Home win back +83.5%Draw fade +36.1%Away win fade +25.8%
🇹🇳 Tunisia0 – 4Japan 🇯🇵
OursMarket
Home win fade +19.8%Draw fade +36.1%Away win back +73.9%
🇭🇷 Croatia2 – 1Ghana 🇬🇭
OursMarket
Home win back +68.1%Draw fade +34.2%Away win fade +18.3%
🇹🇳 Tunisia1 – 3Netherlands 🇳🇱
OursMarket
Home win fade +15.6%Draw fade +29%Away win back +50.4%
🇨🇭 Switzerland4 – 1Bosnia & Herzegovina 🇧🇦
OursMarket
Home win back +65.3%Draw · no betAway win fade +19.8%
🇨🇴 Colombia1 – 0DR Congo 🇨🇩
OursMarket
Home win back +50.4%Draw fade +27.4%Away win · no bet
🇦🇷 Argentina2 – 0Austria 🇦🇹
OursMarket
Home win back +65.3%Draw · no betAway win · no bet
🇲🇽 Mexico2 – 0South Africa 🇿🇦
OursMarket
Home win back +43.9%Draw · no betAway win fade +11.7%
🇹🇷 Türkiye0 – 1Paraguay 🇵🇾
OursMarket
Home win · no betDraw fade +43.9%Away win · no bet
🇦🇷 Argentina3 – 0Algeria 🇩🇿
OursMarket
Home win · no betDraw · no betAway win · no bet
🇧🇪 Belgium1 – 1Egypt 🇪🇬
OursMarket
Home win · no betDraw · no betAway win · no bet
🇧🇷 Brazil1 – 1Morocco 🇲🇦
OursMarket
Home win · no betDraw · no betAway win · no bet
🇨🇦 Canada6 – 0Qatar 🇶🇦
OursMarket
Home win · no betDraw · no betAway win · no bet
🇨🇻 Cape Verde0 – 0Saudi Arabia 🇸🇦
OursMarket
Home win · no betDraw · no betAway win · no bet
🇪🇨 Ecuador0 – 0Curaçao 🇨🇼
OursMarket
Home win · no betDraw · no betAway win · no bet
🇩🇪 Germany2 – 1Côte d'Ivoire 🇨🇮
OursMarket
Home win · no betDraw · no betAway win · no bet
🇸🇦 Saudi Arabia1 – 1Uruguay 🇺🇾
OursMarket
Home win · no betDraw · no betAway win · no bet
🇳🇱 Netherlands5 – 1Sweden 🇸🇪
OursMarket
Home win · no betDraw · no betAway win · no bet
🇳🇴 Norway1 – 4France 🇫🇷
OursMarket
Home win · no betDraw · no betAway win · no bet
🇳🇿 New Zealand1 – 3Egypt 🇪🇬
OursMarket
Home win · no betDraw · no betAway win · no bet
🇶🇦 Qatar1 – 1Switzerland 🇨🇭
OursMarket
Home win · no betDraw · no betAway win · no bet
🇺🇾 Uruguay2 – 2Cape Verde 🇨🇻
OursMarket
Home win · no betDraw · no betAway win · no bet
🇺🇾 Uruguay0 – 1Spain 🇪🇸
OursMarket
Home win · no betDraw · no betAway win · no bet
🇳🇱 Netherlands2 – 2Japan 🇯🇵
OursMarket
Home win fade +86.9%Draw · no betAway win back −100%
🇨🇴 Colombia0 – 0Portugal 🇵🇹
OursMarket
Home win back −100%Draw · no betAway win fade +83.5%
🇭🇹 Haiti0 – 1Scotland 🏴󠁧󠁢󠁳󠁣󠁴󠁿
OursMarket
Home win · no betDraw · no betAway win fade −100%
🇸🇳 Senegal5 – 0Iraq 🇮🇶
OursMarket
Home win fade −100%Draw · no betAway win · no bet
🇸🇪 Sweden5 – 1Tunisia 🇹🇳
OursMarket
Home win · no betDraw · no betAway win back −100%
🇺🇿 Uzbekistan1 – 3Colombia 🇨🇴
OursMarket
Home win · no betDraw · no betAway win fade −100%
🇵🇾 Paraguay0 – 0Australia 🇦🇺
OursMarket
Home win fade +83.5%Draw fade −100%Away win back −100%
🇩🇿 Algeria3 – 3Austria 🇦🇹
OursMarket
Home win back −100%Draw fade −100%Away win fade +80.2%
🇪🇬 Egypt1 – 1Iran 🇮🇷
OursMarket
Home win fade +77%Draw fade −100%Away win back −100%
🇨🇮 Côte d'Ivoire1 – 0Ecuador 🇪🇨
OursMarket
Home win fade −100%Draw fade +50.4%Away win back −100%
🇿🇦 South Africa1 – 0South Korea 🇰🇷
OursMarket
Home win fade −100%Draw fade +38.9%Away win back −100%
🇬🇭 Ghana1 – 0Panama 🇵🇦
OursMarket
Home win fade −100%Draw fade +37.9%Away win back −100%
🇯🇵 Japan1 – 1Sweden 🇸🇪
OursMarket
Home win back −100%Draw fade −100%Away win fade +37%
🇨🇿 Czechia1 – 1South Africa 🇿🇦
OursMarket
Home win back −100%Draw fade −100%Away win fade +29%
🇨🇦 Canada1 – 1Bosnia & Herzegovina 🇧🇦
OursMarket
Home win back −100%Draw fade −100%Away win fade +25.8%
🇮🇷 Iran2 – 2New Zealand 🇳🇿
OursMarket
Home win back −100%Draw fade −100%Away win fade +24.2%
🏴󠁧󠁢󠁥󠁮󠁧󠁿 England0 – 0Ghana 🇬🇭
OursMarket
Home win back −100%Draw fade −100%Away win fade +10.5%
🇧🇦 Bosnia & Herzegovina3 – 1Qatar 🇶🇦
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇧🇷 Brazil3 – 0Haiti 🇭🇹
OursMarket
Home win fade −100%Draw back −100%Away win · no bet
🇨🇩 DR Congo3 – 1Uzbekistan 🇺🇿
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇨🇭 Switzerland2 – 1Canada 🇨🇦
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🏴󠁧󠁢󠁥󠁮󠁧󠁿 England4 – 2Croatia 🇭🇷
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇪🇸 Spain4 – 0Saudi Arabia 🇸🇦
OursMarket
Home win fade −100%Draw back −100%Away win · no bet
🇫🇷 France3 – 0Iraq 🇮🇶
OursMarket
Home win fade −100%Draw back −100%Away win · no bet
🇫🇷 France3 – 1Senegal 🇸🇳
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇩🇪 Germany7 – 1Curaçao 🇨🇼
OursMarket
Home win fade −100%Draw back −100%Away win · no bet
🇯🇴 Jordan1 – 3Argentina 🇦🇷
OursMarket
Home win · no betDraw back −100%Away win fade −100%
🇳🇴 Norway3 – 2Senegal 🇸🇳
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇳🇿 New Zealand1 – 5Belgium 🇧🇪
OursMarket
Home win · no betDraw back −100%Away win fade −100%
🇵🇦 Panama0 – 2England 🏴󠁧󠁢󠁥󠁮󠁧󠁿
OursMarket
Home win · no betDraw back −100%Away win fade −100%
🇵🇦 Panama0 – 1Croatia 🇭🇷
OursMarket
Home win back −100%Draw · no betAway win fade −100%
🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland0 – 3Brazil 🇧🇷
OursMarket
Home win · no betDraw back −100%Away win fade −100%
🏴󠁧󠁢󠁳󠁣󠁴󠁿 Scotland0 – 1Morocco 🇲🇦
OursMarket
Home win back −100%Draw · no betAway win fade −100%
🇺🇸 USA2 – 0Australia 🇦🇺
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇺🇸 USA4 – 1Paraguay 🇵🇾
OursMarket
Home win fade −100%Draw · no betAway win back −100%
🇦🇹 Austria3 – 1Jordan 🇯🇴
OursMarket
Home win fade −100%Draw back −100%Away win back −100%
🇮🇶 Iraq1 – 4Norway 🇳🇴
OursMarket
Home win back −100%Draw back −100%Away win fade −100%
🇯🇴 Jordan1 – 2Algeria 🇩🇿
OursMarket
Home win back −100%Draw back −100%Away win fade −100%
🇨🇼 Curaçao0 – 2Côte d'Ivoire 🇨🇮
OursMarket
Home win back −100%Draw back −100%Away win fade −100%
🇲🇦 Morocco4 – 2Haiti 🇭🇹
OursMarket
Home win fade −100%Draw back −100%Away win back −100%
🇵🇹 Portugal5 – 0Uzbekistan 🇺🇿
OursMarket
Home win fade −100%Draw back −100%Away win back −100%

Calibration: are the probabilities honest?

We split every forecast into 10 buckets by probability. In each bucket, the average probability we quoted (predicted) should land close to how often it actually happened (observed) — the closer the two, the more trustworthy the numbers.

010%predicted 6% · observed 0%
1020%predicted 15% · observed 16%
2030%predicted 24% · observed 25%
3040%predicted 35% · observed 16%
4050%predicted 43% · observed 62%
5060%predicted 55% · observed 56%
6070%predicted 65% · observed 77%
7080%predicted 74% · observed 80%
8090%predicted 84% · observed 33%

Small, high-variance sample — a single match can swing the P&L. Returns are percentages, not money.