Methodology

How CupCastLab turns ratings, fixtures and market data into transparent probabilistic predictions for the Global Cup 2026 and beyond.

How the layers blend

Each prediction is assembled from independent source layers. Every layer carries a weight; the weights are normalised so the final home/draw/away probabilities always sum to 100%.

How the layers blendProduction blend (validated ML active)Current live blend (learned model in shadow)
Technical — ratings, expected goals and the Poisson scoreline matrix. The always-present core.37%37%
Market — bookmaker odds converted to margin-free implied probabilities.18%18%
Learned — the trained WDL model. Currently in shadow mode, so it donates 0% to the public blend.15%15%
Intel — NLP signals from news: injuries, lineups and morale.8%8%
Crowd — public prediction-market prices (Polymarket, Kalshi), read-only.7%7%
Fundamental — squad depth, rest, travel and tournament experience.7%7%
External — fixtures, schedule and contextual feeds.5%5%
Sentiment — aggregate tone extracted from recent coverage.3%3%

Note: the ensemble source layers are not the same thing as the technical-core factors (overall strength, recent form, tactical matchup, and so on). The layers decide how much each system contributes; the factors explain what drives the technical model inside the technical layer.

Weights are dynamic

When a layer has no data for a match, its weight is not lost — it is donated to the technical core, which is always present. The exact per-match weights actually applied are shown on each match page.

Team strength

Every team gets a multi-component rating: base, Elo, attack, defense, midfield, goalkeeper, set pieces, penalties, form, and volatility. These are combined using configurable weights:

  • baseStrength24%
  • attackDefenseBalance12%
  • expectedGoalsProxy12%
  • recentForm12%
  • squadDepth12%
  • injuries10%
  • tacticalMatchup8%
  • travelRestWeather5%
  • tournamentExperience3%
  • marketCalibration2%

Expected goals & scorelines

Per match we compute an expected goals (λ) value for each side based on attack vs defense ratings, recent form, venue, travel, rest, weather, squad depth, injuries and tactical matchup.

λ values feed a Poisson scoreline matrix. A Dixon-Coles correction inflates low-score draw probabilities (0-0, 1-1) — better matching real-world frequencies.

Win/draw/loss probabilities, BTTS and over/under markets are aggregated from the matrix.

Monte Carlo tournament

The simulator plays the entire tournament thousands of times: group stage, R32, R16, QF, SF, third place, final. Knockouts are decided in extra time and penalty shootouts when needed — penalty shootout outcomes are biased by goalkeeper + penalty ratings.

Aggregated probabilities give you per-round and tournament-winning probabilities, dark horse scores, most likely finals, and path difficulty.

Confidence vs probability

Confidence is not the same thing as winning probability. Confidence is how much the model trusts itself for a given match — it combines data quality, team-strength margin, volatility, and (when available) market agreement.

A high-confidence pick can still lose. A low-confidence pick can still be right. Confidence informs you about the model's uncertainty, not the world's.

How confidence is built

Confidence is a separate score from the win probability. It starts from a base value and is adjusted up or down by several components:

  • Base — the starting confidence before adjustments.+20
  • Strength gap — a wider rating margin between the two sides raises confidence.+25
  • Probability margin — a more lopsided home/draw/away split raises confidence.+25
  • Data quality — richer, fresher inputs raise confidence; sparse data lowers it.+40
  • Volatility — more erratic recent form lowers confidence.20
  • Market agreement — when the market and the model agree, confidence rises; sharp disagreement lowers it.±8
  • Low039
  • Open4054
  • Medium5569
  • High7079
  • Very high80100

A high-probability pick can still be low-confidence, and vice-versa.

Market intelligence

Where bookmaker odds are available, we convert decimal odds to implied probabilities, strip the bookmaker margin (overround), and combine multiple sources into a sharp-weighted consensus.

The model probability is then compared to the market consensus. Notable disagreements are surfaced — but interpreted carefully: the market may know something the model does not, or the public may be biased.

CupCastLab does not place bets, link to bookmakers, or recommend wagers. Odds are used for analysis only.

Upset risk

Upset risk estimates the chance the favorite drops points. It rises with underdog variance (volatility), draw mass in knockouts, and recent form swings.

A high upset risk doesn't mean "bet against the favorite" — it means the model itself acknowledges meaningful downside.

Limitations

The model does not currently account for: in-tournament injuries (only pre-tournament news), weather forecasts beyond a short window, club-vs-international fatigue per player, or specific referee tendencies.

Probabilities are produced from a finite number of Monte Carlo iterations and from a limited universe of training matches — they reflect what the data shows, not certainty. Confidence scores quantify the model's own uncertainty, not the world's.

Fixture status

Group-stage fixtures are loaded from openfootball, our canonical schedule source. All 72 group matches are present with real dates, real venues and the official Global Cup 2026 draw.

Knockout matches are produced by the Monte Carlo simulator rather than ingested as concrete fixtures — they don't yet have fixed dates against fixed teams. Once the bracket bakes in, real fixtures replace simulated ones via the same canonical pipeline.

Model status

Production blend (validated ML active)oracle-v1.0.0

The learned WDL model (logistic regression / LightGBM) currently runs in shadow mode — its predictions are logged but the public blend is rules-only until validation thresholds are met.

All public probabilities are computed from the rules-and-ratings ensemble. Switching the learned model into the blend is a configuration change, not a code change.

Accuracy

Live data sources

Active: openfootball fixtures, eloratings.net Elo ratings, The Odds API for bookmaker prices, Polymarket public prices (read-only), and public football news feeds (BBC, Guardian, ESPN, Sports Mole).

Partially available: bookmaker odds populate as the tournament approaches. Article intelligence depends on news cycles — pre-tournament coverage will increase steadily.

What this model predicts

Per-match probabilities (home / draw / away), expected goals per side, exact-score probability distributions, BTTS, over/under markets, tournament-stage probabilities (group, R16, QF, SF, F, champion), most likely finals, and dark-horse scores.

The model does not produce: betting recommendations, in-game live predictions, transfer outlooks, club football outcomes, or individual player goal scorer probabilities.

Prediction Methodology · CupCastLab