Last updated: 11 August 2026
Match probabilities come from a Dixon-Coles model (a bivariate Poisson variant that corrects the low-score dependence classic Poisson gets wrong), fitted per league with exponential time decay (ξ = 0.25 per year, so a match from a year ago carries ~78% of the weight of yesterday's). Each league is trained in its own cluster — a Swedish Allsvenskan match is never priced with Premier League priors.
The model outputs a full scoreline distribution per fixture, which collapses into the three markets shown on the site: match result (1X2), over/under, and both-teams-to-score.
Odds shown on QUVIX are a consensus median across multiple bookmakers, captured hourly. For analysis we remove the bookmaker margin ("de-vig"): implied probabilities are normalised to sum to 100%, giving the market's true consensus price. The edge figures on the site are simply model probability minus de-vigged market probability — where the model and the market disagree.
The model doesn't just publish probabilities — it plays the same game as every user, with the same daily pool of 1000 virtual credits. Its rules are fixed, deterministic and public:
| Rule | Value |
|---|---|
| Bets per day | Exactly one, full pool (all-in) |
| Candidate set | Every future fixture × every published market that day |
| Selection score | edge = pmax − league structural prior |
| Threshold | edge ≥ 5%; if nothing qualifies, fall back to the highest-probability 1X2 pick |
| Look-ahead | None — bets lock at pre-match odds, never re-priced, never after kick-off |
The "league structural prior" matters: home teams win more everywhere, but not equally — the baseline 1X2 favourite probability is ~43.2% in the Premier League and ~47.8% in North American leagues. Subtracting it means the model bets genuine conviction, not "home teams exist".
Single-match results are mostly noise. The industry-standard test of whether a prediction had real information is closing line value (CLV): did the price you took beat the final pre-kick-off consensus? We snapshot odds hourly and mark the last capture before kick-off as the closing line — but only count it if that snapshot is within 90 minutes of kick-off, otherwise the bet is honestly reported as "no closing data" rather than silently graded against a stale line.
Every settled bet on QUVIX — the model's and every player's — gets a CLV figure by the same formula. The leaderboard has a CLV column. Nobody is graded on a different curve.
Fixtures, results and odds come from a commercial data API, captured by a scheduled pipeline; probabilities are recomputed and republished daily. The whole stack runs on Cloudflare Workers + D1 with a static front end — no servers to speak of. Bets are settled by an independent job that never sees the model's reasoning, and the model's confidence values are deliberately excluded from every public API response.
Think you can beat it? Play QUVIX — free, 1000 virtual credits a day. Credits are points, not money: QUVIX is not a gambling operator and nothing here is betting advice. Terms · Privacy