How accurate are prediction market prices?

From our own resolved markets · recomputed daily · 2026-09-14 13:01 UTC

Well calibrated in the middle, biased at the edges. Across 1,013 resolved Kalshi and Polymarket contracts, a price near 50¢ means roughly what it says. But longshots are systematically overpriced and favourites systematically underpriced: contracts trading at 20–35¢ resolved yes 19.4% of the time, and contracts at 80–90¢ resolved yes 94.4%.

That is the classic favourite-longshot bias, and it shows up on both venues independently.

Price bucket vs what actually happened

PricenMean priceResolved yesBiasKalshiPolymarket
00–05¢ 548 2.1% 0.0% -2.1pp 0.0% 0.0%
05–10¢ 71 6.9% 0.0% -6.9pp 0.0% 0.0%
10–20¢ 52 13.6% 7.7% -5.9pp 0.0% 14.3%
20–35¢ 31 26.9% 19.4% -7.6pp 23.5% 14.3%
35–50¢ 50 43.0% 40.0% -3.0pp 44.4% 28.6%
50–65¢ 45 56.1% 57.8% +1.7pp 55.9% 63.6%
65–80¢ 27 73.6% 81.5% +7.8pp 88.9% 66.7%
80–90¢ 36 86.1% 94.4% +8.3pp 100.0% 80.0%
90–95¢ 41 92.8% 100.0% +7.1pp 100.0% 100.0%
95–100¢ 112 97.1% 100.0% +2.9pp 100.0% 100.0%

"Bias" is realised rate minus mean price: negative means the market charged more than the outcome was worth. Last two columns are the same measurement computed per venue, so you can see it is not one venue's quirk. Buckets with a small n are exactly as noisy as they look — read the n column.

What this does and does not mean

It does mean a naive "buy the cheap side" strategy is worse than it looks, and that the mid-range is where these markets are genuinely informative. It does not mean the bias is tradeable: the edge sits in the cheapest contracts, where fees are proportionally largest and depth is thinnest, and where being wrong ninety times in a row is a normal outcome rather than a surprise.

It also is not a claim about prediction markets in general. It is a measurement of the markets MarketMaster tracked, over the window it tracked them, and it is recomputed every day rather than written once.

Method

Every market that resolved in the window is bucketed by its price 24 hours before close, then compared with its actual outcome. Both venues, all categories, no filtering for liquidity — which is why the extreme buckets carry most of the sample.

Does the mispricing survive fees? Get the data via API or MCP