# Prediction-market soccer odds match a betting exchange's

> On-chain prediction-market soccer odds were as accurate as a betting exchange's (squared error 0.1977 vs 0.1986); 25 trades on gaps of 4 cents or more, 19 with an exit fill, lost 2.50 cents per share after fees.

E835 · Verdict: KILL · Cause: No signal · Market: Prediction markets · Mechanism: Behavioural · Horizon: 5h · Tested: October 2026

Source: https://alphanotfound.eu/experiments/E835-prediction-market-soccer-odds-vs-betting-exchange

Soccer match prices on an on-chain prediction market are set by crypto traders and fans, so they might drift from the price on a betting exchange, where professional bettors keep margins low, and then move toward it before kickoff. We matched 1,678 matches; 798 had a prediction-market price six hours before kickoff. The prediction market was as accurate as the exchange (squared error 0.1977 against 0.1986). Gaps of 4 cents or more produced only 25 trades, 19 of them with an exit fill, and they lost 2.50 cents per share after fees.

## Key numbers

- **Gap trades, net:** -2.50c / share (19 trades with an exit fill, after fees; interval -3.58 to -1.59)
- **Forecast error, market vs exchange:** 0.1977 vs 0.1986 (squared error of the win/draw/loss probabilities, lower is better)
- **Average price gap:** 1.6c (between the two prices six hours before kickoff)
- **Gaps of 4c or more:** 25 trades (in 798 matches)

## The idea being tested

**Belief:** A retail prediction market prices soccer matches worse than a sharp betting exchange, so trading the difference earns money.

**Why people believe it:** Prediction-market soccer traders include crypto-native retail and fans, and each match is split into three separate yes/no contracts (home win, draw, away win). A betting exchange's odds, set by professional bettors who accept low margins, are the industry's usual reference for a fair price ("sharp" odds). People argue that when the prediction market differs from that price, it should move toward the exchange before kickoff, and that the difference should also predict who wins.

**Why it would persist:** The prediction market is thinly arbitraged against sportsbooks and exchanges, and its traders are not all price-driven.

## How it was tested

For each soccer match that appeared on both sides, we took the exchange's pre-closing home, draw and away odds, removed the bookmaker margin to get a fair probability for each outcome, and compared it with the prediction market's price six hours before kickoff. If the market was 4 cents or more below the exchange for an outcome we bought it; 4 cents or more above, we bought the opposite. We sold five hours later, one hour before kickoff, and also tracked holding to the final result. The 2025/26 season was the discovery sample and the 2026/27 season the holdout (data not used to build the rule); both had to pass.

**Pre-registered:** yes

**Data:** Match-level home/draw/away odds, exchange pre-closing and closing, from 20 league divisions (a public football results and odds archive, which records the odds a few days before each match; one odds triplet per match; 2026-01..2026-10); Trade tape of three-way soccer match markets on an on-chain prediction market, with the taker (the side that crosses the spread) recorded (an on-chain prediction market, public trade history; trade by trade; 2026-01..2026-10)

**Universe:** Matches whose prediction-market event has exactly a home-win, a draw and an away-win contract, matched to the odds archive by date and fuzzy team names (each team score at least 0.55 and the best candidate unique; ambiguous and duplicate matches dropped). Only matches where the entry time lies after the archive's collection time.

**Signal:** Fair probability f = exchange pre-closing odds, inverted and rescaled to sum to 1. Prediction-market mid-price m = mean of the latest taker-buy and taker-sell prices in the 30 minutes before entry (the last trade if one side is missing). Gap d = f - m. Buy Yes if d is at least +0.04, buy No if d is at most -0.04 (primary threshold); 0.02 and 0.06 were also reported, the 0.06 cell having 5 trades (4 with an exit fill).

**Execution:** Entry six hours before kickoff at the first taker buy of the traded token within 10 minutes; exit one hour before kickoff at the first taker sell of that token within 10 minutes, so the exit is the price the next seller received. A second outcome holds to the final result.

**Costs:** The market's own taker fee, rate x p x (1 - p) per share on both legs; the rate was 0.05 for current soccer markets and 0.03 earlier. Also reported with 0.05 everywhere, and with the market's own fee plus 1 cent of slippage per side.

**Controls:** Negative control: the exchange odds are shuffled among matches of the same division and season and the rule is re-run.

**Sample split:** Discovery: season 2025/26 (kickoffs through 2026-06). Holdout: season 2026/27 (kickoffs from 2026-07).

**Pass criterion:** At the 4-cent threshold, net gain per share (entry to exit) above 0 with the 95% interval (bootstrap over match days) above 0 in each season and at least 100 trades per season; pooled result held to the final result above 0; control mean below half the main mean.

**Kill criterion:** Pooled net gain per share at or below 0, or holdout mean at or below 0.

**Power:** Not computed in advance. At the 4-cent threshold only 25 trades were entered (19 with an exit fill: 11 in discovery, 8 in the holdout), far below the 100 per season the pass rule required.

## Result

**Why it was rejected:** The pooled net gain at the 4-cent threshold was -2.50 cents per share and the holdout was -3.98 cents, after fees, so the rule failed both the pooled and the holdout requirement.

**Observations:** 19

**Net mean:** -2.5

**95% interval:** -3.58 to -1.59

**Median:** -2.06

**Worst:** -5.6

- Matching produced 1,678 matches from 8,378 prediction-market events; 1,525 had exchange pre-closing odds, 1,255 remained after the odds-collection cutoff, and 798 matches (1,563 outcome rows) had a prediction-market price six hours before kickoff.
- Squared forecast error against the results: prediction market 0.1977, exchange pre-closing 0.1986, exchange closing 0.1970. The average absolute gap between the two prices was 1.6 cents.
- Gaps of 4 cents or more were rare: 25 trades in 798 matches (139 at 2 cents, 5 at 6 cents).
- At the 4-cent threshold the entry-to-exit result after fees was -1.43 cents per share in discovery (11 trades with an exit fill) and -3.98 in the holdout (8), pooled -2.50 with interval -3.58 to -1.59.
- At the 2-cent threshold the entry-to-exit result was -1.04 cents in discovery and -3.47 in the holdout, pooled -1.88 on 107 trades with an exit fill.
- Held to the final result at the 4-cent threshold, the 25 trades lost 18.73 cents per share on average (interval -32.62 to -4.39); holdout -25.43, discovery -13.46. At the 2-cent threshold (139 trades) it was -6.43 pooled (interval -13.44 to +0.60, which includes zero).
- The shuffled-odds control earned -1.80 cents per share on 234 trades with an exit fill (279 in total), about what random gap trades lost; the real signal was lower, not higher.
- With the market's own fee plus 1 cent of slippage per side the pooled result was -4.50 cents; with the 0.05 fee on every trade, -3.75.
- The median, per trade, of the smaller of the entry-hour and exit-hour dollar volumes was $494 at the 4-cent threshold.

### Gap trades lost money in both seasons (cents per share)

Net result per share from six hours to one hour before kickoff, for gaps of 4 cents or more, after fees, with 95% intervals (bootstrap over match days). Trade counts are small (11, 8, 19) and the holdout is worse than discovery; the control (shuffled odds, 234 trades with an exit fill) loses less than the real signal pooled.

|   | Mean | 95% low | 95% high |
| --- | --- | --- | --- |
| Discovery 2025/26 (11 trades) | -1.43 | -2.34 | -0.63 |
| Holdout 2026/27 (8 trades) | -3.98 | -5.16 | -2.76 |
| Pooled (19 trades) | -2.5 | -3.58 | -1.59 |
| Control: shuffled odds (234 trades with exit fill) | -1.8 | -2.27 | -1.41 |

### As accurate as the exchange (squared error)

Squared error of the home/draw/away probabilities against what happened (lower is better), over 1,563 outcome rows. The prediction market six hours out sits between the exchange's pre-closing and closing odds, so there was no visible accuracy gap to trade.

|   | Squared error |
| --- | --- |
| Prediction market, 6h before kickoff | 0.1977 |
| Exchange, pre-closing | 0.1986 |
| Exchange, closing | 0.197 |

### Few matches, fewer trades (count)

From prediction-market events to trades for gaps of 4 cents or more. The first stage counts events, the next three matches, and the last trades, far below the 100 per season the pass rule required.

| Stage | Count |
| --- | --- |
| Prediction-market events with three outcomes | 8378 |
| Matched to the odds archive | 1678 |
| With exchange pre-closing odds | 1525 |
| After odds-collection cutoff | 1255 |
| Matches with a price at entry | 798 |
| Trades at gaps of 4 cents or more | 25 |

## Interpretation

**Why it failed (interpretation, not established):** The prediction market's big soccer match markets look to be priced by the same sharp money as the exchange: the two prices differed by 1.6 cents on average and were equally accurate. Why the rare large gaps lost was not tested. One reading is that the market was the better-informed side when it differed, for example reacting to team news published after the archive recorded its odds, a few days before the match.

**Lesson:** A venue that looks retail-driven is not necessarily mispriced against the sharp price; the benchmark has to be tested rather than assumed. Here the check is that a gap to a benchmark taken days earlier can reflect newer information on the other side, not an error. In a market this thin the gap trades also lost about what random gap trades lost (1.8 cents).

**Scope:** Covers soccer three-way match markets on one on-chain prediction market, matched to one exchange's pre-closing odds for 20 league divisions, with kickoffs from 2026-01 to 2026-10, an entry six hours and an exit one hour before kickoff. The trade counts at the larger gaps are small.

## Reproducibility

**Steps:** 1) Download the football archive's league files for seasons 2025/26 and 2026/27 (20 divisions) and keep the exchange pre-closing and closing odds for home, draw and away. 2) Pull the prediction market's trade history for three-way soccer match events; match each to an archive row by London date and fuzzy team names (each team score at least 0.55, unique best match). 3) Drop matches where entry (six hours before kickoff) is before the time the archive recorded that match's odds. 4) Rescale the odds' inverses to sum to 1; compute the prediction-market mid-price from taker prices in the 30 minutes before entry. 5) For gaps of at least the threshold (0.04 primary; 0.02 and 0.06 also), enter at the first taker buy within 10 minutes and exit at the first taker sell within 10 minutes of one hour before kickoff; subtract fee rate x p x (1 - p) on both legs. 6) Bootstrap over match days; run the shuffled-odds control within division and season.

**Grade:** COMPLETE

---
AI-generated research, checked but not peer-reviewed. Historical, experimental research, not investment advice. Dataset Terms of Use: https://alphanotfound.eu/terms
