# Prediction Market Calibration The efficient market hypothesis suggests that asset prices should perfectly aggregate all available information. Prediction markets theoretically provide the purest test of this theory. A price of 5 cents should imply exactly a 5% probability. How often does this hold true? Author: Outcome researcher Source: https://app.outcome.sh/share/notebooks/cf24e844-13c5-402e-9c74-fa91780e1799 Created: 2026-10-27T17:55:28.327Z Updated: 2026-10-27T20:39:47.74Z Prediction market calibration concerns the correspondence between contract prices and realized outcome frequencies. This notebook evaluates that correspondence for Kalshi, Polymarket, and Polymarket US using historical trade records linked to settled markets. It combines calibration curves, relative calibration errors, and the distribution of price observations to assess how closely market-implied probabilities align with empirical outcomes. The efficient market hypothesis provides a useful starting point: market prices reflect available information. Standard binary prediction contracts make that idea testable because their terminal payout is defined: $1 if the specified outcome occurs and $0 otherwise. A price of 5 cents is commonly read as an implied probability of 5%, although fees, risk preferences, and market frictions can complicate that interpretation. Calibration measures how closely those price-implied probabilities match observed outcomes. For scale, the notebook’s volume query reports 3.05B trades and $512.2 billion in notional volume. These headline totals describe data scale; the calibration chart includes only observations that meet the settled-market filters below. ## Definition of prediction market calibration Calibration requires correspondence between assigned probabilities and empirical outcome frequencies. In a group of observations priced near 70 cents, calibration implies an outcome frequency of approximately 70%. Individual losses are therefore compatible with a calibrated probability assessment. The relevant criterion is the frequency of outcomes across comparable observations, rather than the correctness of a deterministic prediction for any single event. ## Kalshi and Polymarket: price versus actual win rate The chart compares Kalshi, Polymarket, and Polymarket US at each price bin. The horizontal axis shows contract price on a $0 to $1 scale; the vertical axis shows the percentage of included observations whose outcome ultimately won. Perfect calibration would follow the relationship win rate (%) = 100 × price: 20 cents corresponds to 20%, 50 cents to 50%, and 80 cents to 80%. ## Figure 1. Prediction market calibration by venue Line chart of kalshi, polymarket and 1 more across price. Cached source data for the selected chart columns, before chart aggregation, bucketing, normalization, top-N, zoom, and plot ordering. Values retain their source precision. | price | venue | win\_rate | | ----- | ------------- | ------------------- | | 0 | kalshi | 0.19557178527600833 | | 0 | polymarket | 0.13368815994609073 | | 0 | polymarket-us | 0.40187284281772473 | | 0.01 | kalshi | 0.7834797244576053 | | 0.01 | polymarket | 0.866539551762588 | | 0.01 | polymarket-us | 1.147734126026961 | | 0.02 | kalshi | 1.7072152346767266 | | 0.02 | polymarket | 1.9414320596926982 | | 0.02 | polymarket-us | 2.8179203971086926 | | 0.03 | kalshi | 2.5753729288832887 | | 0.03 | polymarket | 2.740271192594011 | | 0.03 | polymarket-us | 3.374098241686603 | | 0.04 | kalshi | 3.453063212554001 | | 0.04 | polymarket | 3.704866219956459 | | 0.04 | polymarket-us | 4.148318923692384 | | 0.05 | kalshi | 4.488070567329241 | | 0.05 | polymarket | 4.605882835181148 | | 0.05 | polymarket-us | 4.723813484774217 | | 0.06 | kalshi | 5.376374850701803 | | 0.06 | polymarket | 5.549096215244889 | | 0.06 | polymarket-us | 5.875526590639903 | | 0.07 | kalshi | 6.33392080913746 | | 0.07 | polymarket | 6.554637464511471 | | 0.07 | polymarket-us | 6.540807887344687 | | 0.08 | kalshi | 7.34194450374024 | | 0.08 | polymarket | 7.637857050996459 | | 0.08 | polymarket-us | 7.782845512437841 | | 0.09 | kalshi | 8.336833457319944 | | 0.09 | polymarket | 8.626320907013007 | | 0.09 | polymarket-us | 8.44087104443291 | | 0.1 | kalshi | 9.442515431573675 | | 0.1 | polymarket | 9.62477503868439 | | 0.1 | polymarket-us | 9.74963354919517 | | 0.11 | kalshi | 10.349834000696847 | | 0.11 | polymarket | 10.588536419985001 | | 0.11 | polymarket-us | 10.7143973323852 | | 0.12 | kalshi | 11.194522782970255 | | 0.12 | polymarket | 11.555400288052514 | | 0.12 | polymarket-us | 11.796632270345569 | | 0.13 | kalshi | 12.271822152972492 | | 0.13 | polymarket | 12.648303488962373 | | 0.13 | polymarket-us | 12.875055682899607 | | 0.14 | kalshi | 13.124014982367857 | | 0.14 | polymarket | 13.697732359998554 | | 0.14 | polymarket-us | 13.284382198203875 | | 0.15 | kalshi | 14.230755090588941 | | 0.15 | polymarket | 14.643303023397277 | | 0.15 | polymarket-us | 14.366224326447671 | | 0.16 | kalshi | 15.135708426323081 | | 0.16 | polymarket | 15.694646866389212 | | 0.16 | polymarket-us | 15.821269339230165 | | 0.17 | kalshi | 16.35303762096805 | | 0.17 | polymarket | 16.820014024449687 | | 0.17 | polymarket-us | 16.442641363933546 | | 0.18 | kalshi | 17.38394168378963 | | 0.18 | polymarket | 17.96981301251175 | | 0.18 | polymarket-us | 17.57290100683033 | | 0.19 | kalshi | 18.4311673243174 | | 0.19 | polymarket | 19.021721897027366 | | 0.19 | polymarket-us | 18.628422518010517 | | 0.2 | kalshi | 19.70636379793949 | | 0.2 | polymarket | 19.735092265090817 | | 0.2 | polymarket-us | 20.200252132391373 | | 0.21 | kalshi | 20.83410737103446 | | 0.21 | polymarket | 20.735647337521886 | | 0.21 | polymarket-us | 21.327640181366537 | | 0.22 | kalshi | 21.451630225093176 | | 0.22 | polymarket | 21.715553357854493 | | 0.22 | polymarket-us | 22.614717081165892 | | 0.23 | kalshi | 22.159939840475868 | | 0.23 | polymarket | 22.660403678449534 | | 0.23 | polymarket-us | 22.540701388906154 | | 0.24 | kalshi | 22.890460077449312 | | 0.24 | polymarket | 23.59064790189253 | | 0.24 | polymarket-us | 22.852099256383738 | | 0.25 | kalshi | 24.155719381585644 | | 0.25 | polymarket | 24.596013423851826 | | 0.25 | polymarket-us | 24.136569311909863 | | 0.26 | kalshi | 24.93342186632395 | | 0.26 | polymarket | 25.81305179745528 | | 0.26 | polymarket-us | 25.059772907152652 | | 0.27 | kalshi | 25.682712715277916 | | 0.27 | polymarket | 26.965531130982217 | | 0.27 | polymarket-us | 25.857611114047277 | | 0.28 | kalshi | 27.029341955358632 | | 0.28 | polymarket | 27.87805960120321 | | 0.28 | polymarket-us | 26.714766421375344 | | 0.29 | kalshi | 28.36123041039344 | | 0.29 | polymarket | 28.814761416378047 | | 0.29 | polymarket-us | 27.661037698963792 | | 0.3 | kalshi | 29.66631611145516 | | 0.3 | polymarket | 29.691727544012377 | | 0.3 | polymarket-us | 28.96356591922324 | | 0.31 | kalshi | 30.361769410283653 | | 0.31 | polymarket | 30.726192324715832 | | 0.31 | polymarket-us | 30.538364544486477 | | 0.32 | kalshi | 31.532976193093507 | | 0.32 | polymarket | 31.827741307083198 | | 0.32 | polymarket-us | 31.287017091564707 | | 0.33 | kalshi | 32.28484072898797 | | 0.33 | polymarket | 32.6871835975598 | | 0.33 | polymarket-us | 32.7657599647663 | | 0.34 | kalshi | 33.34756048788013 | | 0.34 | polymarket | 33.75125924312911 | | 0.34 | polymarket-us | 34.51949104614216 | | 0.35 | kalshi | 34.37726158996706 | | 0.35 | polymarket | 34.71051373356485 | | 0.35 | polymarket-us | 34.9226348059837 | | 0.36 | kalshi | 35.63202218107319 | | 0.36 | polymarket | 35.708961028531036 | | 0.36 | polymarket-us | 36.541478891669875 | | 0.37 | kalshi | 36.88051018531271 | | 0.37 | polymarket | 36.65749170945774 | | 0.37 | polymarket-us | 37.489384883140396 | | 0.38 | kalshi | 37.75221996606225 | | 0.38 | polymarket | 37.71816516744208 | | 0.38 | polymarket-us | 37.83741324890917 | | 0.39 | kalshi | 38.91697043147213 | | 0.39 | polymarket | 38.68166444736374 | | 0.39 | polymarket-us | 38.424637282190886 | | 0.4 | kalshi | 39.6954763868609 | | 0.4 | polymarket | 39.674680284614844 | | 0.4 | polymarket-us | 39.3734590862067 | | 0.41 | kalshi | 40.68691537351593 | | 0.41 | polymarket | 40.65809736438923 | | 0.41 | polymarket-us | 39.960292934874346 | | 0.42 | kalshi | 41.2442563811156 | | 0.42 | polymarket | 41.63960943956903 | | 0.42 | polymarket-us | 41.645965531275046 | | 0.43 | kalshi | 43.10833622730339 | | 0.43 | polymarket | 42.772573191726536 | | 0.43 | polymarket-us | 43.19040748753717 | | 0.44 | kalshi | 44.182277130208675 | | 0.44 | polymarket | 43.779576461578216 | | 0.44 | polymarket-us | 42.85220990118166 | | 0.45 | kalshi | 45.27412768882167 | | 0.45 | polymarket | 44.89893375039369 | | 0.45 | polymarket-us | 45.033856016792235 | | 0.46 | kalshi | 46.787076971371775 | | 0.46 | polymarket | 46.26770097240993 | | 0.46 | polymarket-us | 46.17175793128236 | | 0.47 | kalshi | 47.567043385086755 | | 0.47 | polymarket | 47.09902206839738 | | 0.47 | polymarket-us | 47.59070347150845 | | 0.48 | kalshi | 48.2513936019804 | | 0.48 | polymarket | 48.15043929791203 | | 0.48 | polymarket-us | 47.796093059031236 | | 0.49 | kalshi | 48.99817320445558 | | 0.49 | polymarket | 48.88969951553458 | | 0.49 | polymarket-us | 49.26308879109415 | | 0.5 | kalshi | 50 | | 0.5 | polymarket | 50 | | 0.5 | polymarket-us | 50 | | 0.51 | kalshi | 51.00182679554442 | | 0.51 | polymarket | 51.11030048446542 | | 0.51 | polymarket-us | 50.73691120890585 | | 0.52 | kalshi | 51.7486063980196 | | 0.52 | polymarket | 51.84956070208797 | | 0.52 | polymarket-us | 52.203906940968764 | | 0.53 | kalshi | 52.432956614913245 | | 0.53 | polymarket | 52.90097793160262 | | 0.53 | polymarket-us | 52.40929652849155 | | 0.54 | kalshi | 53.20541115956074 | | 0.54 | polymarket | 53.72285722094424 | | 0.54 | polymarket-us | 53.42944164722794 | | 0.55 | kalshi | 54.72792736244853 | | 0.55 | polymarket | 55.092395466409826 | | 0.55 | polymarket-us | 55.28623227201999 | | 0.56 | kalshi | 55.817722869791325 | | 0.56 | polymarket | 56.220423538421784 | | 0.56 | polymarket-us | 57.14779009881834 | | 0.57 | kalshi | 56.93568489681886 | | 0.57 | polymarket | 57.2440541051628 | | 0.57 | polymarket-us | 56.15399505202917 | | 0.58 | kalshi | 58.720584206841814 | | 0.58 | polymarket | 58.35935838166031 | | 0.58 | polymarket-us | 59.14468913843751 | | 0.59 | kalshi | 59.31308462648407 | | 0.59 | polymarket | 59.34190263561077 | | 0.59 | polymarket-us | 60.039707065125654 | | 0.6 | kalshi | 60.3045236131391 | | 0.6 | polymarket | 60.325319715385156 | | 0.6 | polymarket-us | 60.6265409137933 | | 0.61 | kalshi | 61.08302956852787 | | 0.61 | polymarket | 61.31833555263626 | | 0.61 | polymarket-us | 61.575362717809114 | | 0.62 | kalshi | 62.24778003393775 | | 0.62 | polymarket | 62.28183483255792 | | 0.62 | polymarket-us | 62.16258675109083 | | 0.63 | kalshi | 63.11948981468729 | | 0.63 | polymarket | 63.34250829054226 | | 0.63 | polymarket-us | 62.510615116859604 | | 0.64 | kalshi | 64.36797781892682 | | 0.64 | polymarket | 64.29103897146896 | | 0.64 | polymarket-us | 63.458521108330125 | | 0.65 | kalshi | 65.62273841003294 | | 0.65 | polymarket | 65.28948626643515 | | 0.65 | polymarket-us | 65.0773651940163 | | 0.66 | kalshi | 66.65243951211987 | | 0.66 | polymarket | 66.24874075687089 | Showing the first 200 of 303 rows. Cached: 2026-10-27T20:34:12.599Z. ## Empirical results: Kalshi versus Polymarket Table 1 reports selected bins from Figure 1. At five cents, the observed winning frequencies are 4.4881% for Kalshi and 4.6059% for Polymarket, with signed calibration gaps of -0.5119 and -0.3941 percentage points, respectively. At ten cents, the frequencies are 9.4425% and 9.6248%, with gaps of -0.5575 and -0.3752 percentage points. These comparisons make the venue differences explicit; visual proximity to the diagonal is not itself a formal test of calibration. Table 1. Observed win rates and signed calibration gaps at selected contract prices. Gaps equal observed win rate minus the probability implied by price, measured in percentage points (pp). | Price (¢) | Kalshi win rate (%) | Polymarket win rate (%) | Kalshi gap (pp) | Polymarket gap (pp) | | --------- | ------------------- | ----------------------- | --------------- | ------------------- | | 1 | 0.7835 | 0.8665 | -0.2165 | -0.1335 | | 5 | 4.4881 | 4.6059 | -0.5119 | -0.3941 | | 10 | 9.4425 | 9.6248 | -0.5575 | -0.3752 | | 25 | 24.1557 | 24.5960 | -0.8443 | -0.4040 | | 40 | 39.6955 | 39.6747 | -0.3045 | -0.3253 | | 50 | 50.0000 | 50.0000 | 0.0000 | 0.0000 | | 90 | 90.5575 | 90.3752 | 0.5575 | 0.3752 | | 99 | 99.2165 | 99.1335 | 0.2165 | 0.1335 | Source: the same refreshed calibration query supplies the figures, table, and numerical discussion. Win rates and percentage-point gaps are displayed to four decimal places; relative errors and count ratios are displayed to two. Calculations use the underlying unrounded results. A missing winning frequency is undefined, rather than evidence of a zero probability. At 25 cents, the absolute calibration gaps are 0.8443 percentage points for Kalshi and 0.4040 for Polymarket. The difference, Polymarket minus Kalshi, is -0.4403 percentage points. At 40 cents, the corresponding absolute gaps are 0.3045 and 0.3253, and the difference is 0.0208 percentage points. A positive difference places Kalshi closer to the calibration benchmark in that bin; a negative difference places Polymarket closer. These descriptive comparisons do not establish statistical significance or an overall ranking across venues. At 90 cents, the observed winning frequencies are 90.5575% for Kalshi and 90.3752% for Polymarket; at 99 cents they are 99.2165% and 99.1335%. The associated signed gaps appear in Table 1. Comparisons between complementary upper- and lower-tail prices must account for the paired observation design discussed below. ## Data and methodology The analysis joins historical trades to market outcomes using venue and ticker. It includes markets marked as settled with a YES or NO result and excludes records marked as deleted. Each trade contributes a YES-price observation and a NO-price observation, provided the respective price lies in the interval \[0, 1\]. Prices are rounded to two decimal places, producing bins at one-cent increments. For venue v and price bin p, let N denote the number of included trade-side observations and W the number whose side matches the settlement result. The observed winning fraction and the two measures of calibration error are defined by: ``` \begin{aligned}\widehat q_v(p)&=\frac{W_v(p)}{N_v(p)},\\\Delta_v(p)&=100\bigl[\widehat q_v(p)-p\bigr]\quad\text{(percentage points)},\\\rho_v(p)&=\frac{\widehat q_v(p)-p}{p},\qquad p>0.\end{aligned} ``` The signed gap is measured in percentage points, while the relative error is displayed as a percentage in Figure 2. Each observation receives equal weight. Consequently, the estimates are weighted by trade frequency, rather than contract quantity, notional volume, or an equal allocation across distinct markets. Both sides of a trade share a settlement result, and repeated trades in the same market are dependent observations. The number of price observations therefore should not be interpreted as the number of independent forecasts. The headline volume totals provide context for the data; they do not substitute for the number of settled markets represented in each bin. ## Relative calibration error across contract prices Figure 2 reports relative calibration error, defined as (observed win rate − 100p) ÷ (100p), where p is the contract price and the observed win rate is measured in percent. The ratio is displayed as a percentage. Zero denotes exact agreement at the bin level; positive values indicate an observed frequency above the price-implied probability, and negative values indicate the reverse. ## Figure 2. Relative calibration error by venue Relative calibration error (%) by price and venue; zero denotes calibration. Cached source data for the selected chart columns, before chart aggregation, bucketing, normalization, top-N, zoom, and plot ordering. Values retain their source precision. | price | venue | relative\_error\_pct | | ----- | ------------- | --------------------- | | 0 | kalshi | — | | 0 | polymarket | — | | 0 | polymarket-us | — | | 0.01 | kalshi | -21.65202755423947 | | 0.01 | polymarket | -13.346044823741199 | | 0.01 | polymarket-us | 14.773412602696089 | | 0.02 | kalshi | -14.639238266163668 | | 0.02 | polymarket | -2.928397015365092 | | 0.02 | polymarket-us | 40.89601985543463 | | 0.03 | kalshi | -14.154235703890377 | | 0.03 | polymarket | -8.657626913532972 | | 0.03 | polymarket-us | 12.46994138955344 | | 0.04 | kalshi | -13.673419686149979 | | 0.04 | polymarket | -7.378344501088529 | | 0.04 | polymarket-us | 3.707973092309591 | | 0.05 | kalshi | -10.238588653415182 | | 0.05 | polymarket | -7.882343296377048 | | 0.05 | polymarket-us | -5.523730304515659 | | 0.06 | kalshi | -10.393752488303276 | | 0.06 | polymarket | -7.515063079251849 | | 0.06 | polymarket-us | -2.074556822668283 | | 0.07 | kalshi | -9.51541701232201 | | 0.07 | polymarket | -6.3623219355504315 | | 0.07 | polymarket-us | -6.559887323647345 | | 0.08 | kalshi | -8.225693703246995 | | 0.08 | polymarket | -4.526786862544263 | | 0.08 | polymarket-us | -2.7144310945269923 | | 0.09 | kalshi | -7.3685171408895105 | | 0.09 | polymarket | -4.1519899220777035 | | 0.09 | polymarket-us | -6.212543950745442 | | 0.1 | kalshi | -5.574845684263252 | | 0.1 | polymarket | -3.7522496131560956 | | 0.1 | polymarket-us | -2.5036645080482955 | | 0.11 | kalshi | -5.9105999936650315 | | 0.11 | polymarket | -3.740578000136355 | | 0.11 | polymarket-us | -2.596387887407271 | | 0.12 | kalshi | -6.712310141914543 | | 0.12 | polymarket | -3.704997599562384 | | 0.12 | polymarket-us | -1.694731080453593 | | 0.13 | kalshi | -5.6013680540577555 | | 0.13 | polymarket | -2.7053577772125146 | | 0.13 | polymarket-us | -0.9611101315414863 | | 0.14 | kalshi | -6.257035840229604 | | 0.14 | polymarket | -2.1590545714389133 | | 0.14 | polymarket-us | -5.111555727115188 | | 0.15 | kalshi | -5.128299396073727 | | 0.15 | polymarket | -2.3779798440181565 | | 0.15 | polymarket-us | -4.225171157015524 | | 0.16 | kalshi | -5.401822335480744 | | 0.16 | polymarket | -1.9084570850674276 | | 0.16 | polymarket-us | -1.1170666298114695 | | 0.17 | kalshi | -3.805661053129123 | | 0.17 | polymarket | -1.0587410326488988 | | 0.17 | polymarket-us | -3.278580212155609 | | 0.18 | kalshi | -3.4225462011687253 | | 0.18 | polymarket | -0.16770548604583269 | | 0.18 | polymarket-us | -2.372772184275935 | | 0.19 | kalshi | -2.9938561878031584 | | 0.19 | polymarket | 0.11432577382824 | | 0.19 | polymarket-us | -1.9556709578393856 | | 0.2 | kalshi | -1.4681810103025583 | | 0.2 | polymarket | -1.3245386745459165 | | 0.2 | polymarket-us | 1.0012606619568665 | | 0.21 | kalshi | -0.789964899835907 | | 0.21 | polymarket | -1.2588222022767326 | | 0.21 | polymarket-us | 1.5601913398406506 | | 0.22 | kalshi | -2.49258988594011 | | 0.22 | polymarket | -1.2929392824795791 | | 0.22 | polymarket-us | 2.7941685507540566 | | 0.23 | kalshi | -3.652435476191878 | | 0.23 | polymarket | -1.4765057458715933 | | 0.23 | polymarket-us | -1.9969504830167224 | | 0.24 | kalshi | -4.623083010627868 | | 0.24 | polymarket | -1.705633742114454 | | 0.24 | polymarket-us | -4.782919765067758 | | 0.25 | kalshi | -3.3771224736574226 | | 0.25 | polymarket | -1.615946304592697 | | 0.25 | polymarket-us | -3.453722752360548 | | 0.26 | kalshi | -4.102223591061729 | | 0.26 | polymarket | -0.7190315482489222 | | 0.26 | polymarket-us | -3.6162580494128758 | | 0.27 | kalshi | -4.878841795266979 | | 0.27 | polymarket | -0.12766247784363913 | | 0.27 | polymarket-us | -4.231069947973048 | | 0.28 | kalshi | -3.4666358737191842 | | 0.28 | polymarket | -0.4355014242742681 | | 0.28 | polymarket-us | -4.590119923659497 | | 0.29 | kalshi | -2.202653757263991 | | 0.29 | polymarket | -0.6387537366274104 | | 0.29 | polymarket-us | -4.617111382883464 | | 0.3 | kalshi | -1.1122796284828005 | | 0.3 | polymarket | -1.0275748532920779 | | 0.3 | polymarket-us | -3.4547802692558705 | | 0.31 | kalshi | -2.0588083539236997 | | 0.31 | polymarket | -0.8832505654327995 | | 0.31 | polymarket-us | -1.4891466306887844 | | 0.32 | kalshi | -1.4594493965827904 | | 0.32 | polymarket | -0.5383084153650075 | | 0.32 | polymarket-us | -2.228071588860292 | | 0.33 | kalshi | -2.167149306097051 | | 0.33 | polymarket | -0.947928492243025 | | 0.33 | polymarket-us | -0.7098182885869595 | | 0.34 | kalshi | -1.9189397415290275 | | 0.34 | polymarket | -0.7315904613849631 | | 0.34 | polymarket-us | 1.5279148415945798 | | 0.35 | kalshi | -1.779252600094107 | | 0.35 | polymarket | -0.8271036183861368 | | 0.35 | polymarket-us | -0.2210434114751487 | | 0.36 | kalshi | -1.0221606081300294 | | 0.36 | polymarket | -0.8084415874137897 | | 0.36 | polymarket-us | 1.5041080324163205 | | 0.37 | kalshi | -0.3229454451007881 | | 0.37 | polymarket | -0.9256980825466561 | | 0.37 | polymarket-us | 1.3226618463253939 | | 0.38 | kalshi | -0.6520527208888183 | | 0.38 | polymarket | -0.7416706119945248 | | 0.38 | polymarket-us | -0.4278598712916523 | | 0.39 | kalshi | -0.2128963295586408 | | 0.39 | polymarket | -0.8162450067596493 | | 0.39 | polymarket-us | -1.4752890200233681 | | 0.4 | kalshi | -0.7613090328477412 | | 0.4 | polymarket | -0.8132992884628898 | | 0.4 | polymarket-us | -1.5663522844832478 | | 0.41 | kalshi | -0.7636210402050485 | | 0.41 | polymarket | -0.8339088673433468 | | 0.41 | polymarket-us | -2.535870890550376 | | 0.42 | kalshi | -1.7993895687723862 | | 0.42 | polymarket | -0.8580727629308849 | | 0.42 | polymarket-us | -0.8429392112498914 | | 0.43 | kalshi | 0.2519447146590462 | | 0.43 | polymarket | -0.528899554124334 | | 0.43 | polymarket-us | 0.4428081105515627 | | 0.44 | kalshi | 0.41426620501971584 | | 0.44 | polymarket | -0.5009625873222361 | | 0.44 | polymarket-us | -2.6086138609507743 | | 0.45 | kalshi | 0.6091726418259371 | | 0.45 | polymarket | -0.2245916657918043 | | 0.45 | polymarket-us | 0.07523559287163392 | | 0.46 | kalshi | 1.711036894286467 | | 0.46 | polymarket | 0.5819586356737685 | | 0.46 | polymarket-us | 0.37338680713555955 | | 0.47 | kalshi | 1.2064752874186284 | | 0.47 | polymarket | 0.21068525190932277 | | 0.47 | polymarket-us | 1.2568158968264849 | | 0.48 | kalshi | 0.5237366707925073 | | 0.48 | polymarket | 0.31341520398339523 | | 0.48 | polymarket-us | -0.4248061270182587 | | 0.49 | kalshi | -0.003728154172280279 | | 0.49 | polymarket | -0.2251030295212641 | | 0.49 | polymarket-us | 0.5369159001921392 | | 0.5 | kalshi | 0 | | 0.5 | polymarket | 0 | | 0.5 | polymarket-us | 0 | | 0.51 | kalshi | 0.003581952047877131 | | 0.51 | polymarket | 0.21627545973611648 | | 0.51 | polymarket-us | -0.5158603746944082 | | 0.52 | kalshi | -0.483449234577699 | | 0.52 | polymarket | -0.28930634213851864 | | 0.52 | polymarket-us | 0.39212873263223874 | | 0.53 | kalshi | -1.0698931794089723 | | 0.53 | polymarket | -0.18683409131581452 | | 0.53 | polymarket-us | -1.1145348519027316 | | 0.54 | kalshi | -1.47146081562826 | | 0.54 | polymarket | -0.5132273686217743 | | 0.54 | polymarket-us | -1.0565895421704825 | | 0.55 | kalshi | -0.49467752282086247 | | 0.55 | polymarket | 0.1679917571087618 | | 0.55 | polymarket-us | 0.5204223127635998 | | 0.56 | kalshi | -0.32549487537264654 | | 0.56 | polymarket | 0.39361346146745846 | | 0.56 | polymarket-us | 2.04962517646131 | | 0.57 | kalshi | -0.11283351435285963 | | 0.57 | polymarket | 0.4281650967768601 | | 0.57 | polymarket-us | -1.4842192069663616 | | 0.58 | kalshi | 1.2423865635203806 | | 0.58 | polymarket | 0.6195834166557144 | | 0.58 | polymarket-us | 1.9736019628233115 | | 0.59 | kalshi | 0.5306519092950337 | | 0.59 | polymarket | 0.5794959925606308 | | 0.59 | polymarket-us | 1.762215364619753 | | 0.6 | kalshi | 0.5075393552318275 | | 0.6 | polymarket | 0.5421995256419265 | | 0.6 | polymarket-us | 1.0442348563221653 | | 0.61 | kalshi | 0.13611404676699987 | | 0.61 | polymarket | 0.5218615616987922 | | 0.61 | polymarket-us | 0.9432175701788749 | | 0.62 | kalshi | 0.39964521602863057 | | 0.62 | polymarket | 0.45457231057728936 | | 0.62 | polymarket-us | 0.26223669530778687 | | 0.63 | kalshi | 0.18966637251951046 | | 0.63 | polymarket | 0.5436639532416868 | | 0.63 | polymarket-us | -0.776801401810152 | | 0.64 | kalshi | 0.5749653420731526 | | 0.64 | polymarket | 0.4547483929202567 | | 0.64 | polymarket-us | -0.8460607682341803 | | 0.65 | kalshi | 0.9580590923583652 | | 0.65 | polymarket | 0.4453634868233044 | | 0.65 | polymarket-us | 0.11902337540968451 | | 0.66 | kalshi | 0.9885447153331354 | | 0.66 | polymarket | 0.3768799346528598 | Showing the first 200 of 303 rows. Cached: 2026-10-27T20:34:12.599Z. Figure 2. Relative calibration errors by venue. Normalization by contract price distinguishes proportional deviations from percentage-point gaps and changes their relative scale across the price distribution. The numerical comparisons below use the same query results as the figure. ### Relative error and the low-price region At one cent, the observed winning frequencies are 0.7835% on Kalshi and 0.8665% on Polymarket. Their absolute calibration gaps are 0.2165 and 0.1335 percentage points, while their relative errors are -21.65% and -13.35%. Dividing by the price-implied probability amplifies the numerical scale of deviations in this region. The equation below defines the calculation; its live numerical results are reported immediately above. The numerical evaluations are ` \rho_{\mathrm{Kalshi}}(p_0)\approx ` -21.65% and ` \rho_{\mathrm{Polymarket}}(p_0)\approx ` -13.35%, with ` p_0=0.01 `. ``` \begin{aligned} \rho_{\mathrm{Kalshi}}(p_0)&=\frac{\widehat q_{\mathrm{Kalshi}}(p_0)-p_0}{p_0},\\ \rho_{\mathrm{Polymarket}}(p_0)&=\frac{\widehat q_{\mathrm{Polymarket}}(p_0)-p_0}{p_0},\qquad p_0=0.01. \end{aligned} ``` At five cents, the relative errors are -10.24% for Kalshi and -7.88% for Polymarket; at ten cents they are -5.57% and -3.75%. A negative value indicates an observed winning frequency below the price-implied probability, and a positive value indicates a frequency above it. Neither sign identifies a causal mechanism or establishes an executable trading return. ### Polymarket US as a distinct series Polymarket US is reported separately from Polymarket. At one cent its observed win rate is 1.1477%, with a signed gap of 0.1477 percentage points and a relative error of 14.77%. At two cents the corresponding values are 2.8179%, 0.8179 percentage points, and 40.90%. At five cents they are 4.7238%, -0.2762 percentage points, and -5.52%. Reporting each price separately permits comparisons of both magnitude and sign without presuming a uniform displacement of the series. ## Distribution of observations across price bins Figure 3 describes the empirical support for the calibration estimates. The distribution of counts shows how observations are represented across venues and price bins. Equal intervals on the horizontal axis need not contain equal numbers of observations. These counts measure qualifying trade-side observations, rather than notional trading volume or distinct markets. ## Figure 3. Trade-side observations by price bin Qualifying trade-side observation counts by price, stacked by venue. Cached source data for the selected chart columns, before chart aggregation, bucketing, normalization, top-N, zoom, and plot ordering. Values retain their source precision. | price | venue | total\_trades | | ----- | ------------- | ------------- | | 0 | kalshi | 42086848 | | 0 | polymarket | 5253270 | | 0 | polymarket-us | 832104 | | 0.01 | kalshi | 96184110 | | 0.01 | polymarket | 22938826 | | 0.01 | polymarket-us | 6604317 | | 0.02 | kalshi | 67272947 | | 0.02 | polymarket | 11920788 | | 0.02 | polymarket-us | 4427201 | | 0.03 | kalshi | 50752572 | | 0.03 | polymarket | 9849974 | | 0.03 | polymarket-us | 3251980 | | 0.04 | kalshi | 49454322 | | 0.04 | polymarket | 8261135 | | 0.04 | polymarket-us | 3667799 | | 0.05 | kalshi | 43690133 | | 0.05 | polymarket | 8623971 | | 0.05 | polymarket-us | 3029565 | | 0.06 | kalshi | 44213528 | | 0.06 | polymarket | 7490445 | | 0.06 | polymarket-us | 3800153 | | 0.07 | kalshi | 38362431 | | 0.07 | polymarket | 6909627 | | 0.07 | polymarket-us | 2878941 | | 0.08 | kalshi | 40821706 | | 0.08 | polymarket | 6967072 | | 0.08 | polymarket-us | 3375385 | | 0.09 | kalshi | 35615405 | | 0.09 | polymarket | 6542001 | | 0.09 | polymarket-us | 2720596 | | 0.1 | kalshi | 36736694 | | 0.1 | polymarket | 7704658 | | 0.1 | polymarket-us | 3305355 | | 0.11 | kalshi | 32251039 | | 0.11 | polymarket | 6680810 | | 0.11 | polymarket-us | 2719733 | | 0.12 | kalshi | 32346792 | | 0.12 | polymarket | 6603657 | | 0.12 | polymarket-us | 3132021 | | 0.13 | kalshi | 30631808 | | 0.13 | polymarket | 6120473 | | 0.13 | polymarket-us | 2651173 | | 0.14 | kalshi | 30990562 | | 0.14 | polymarket | 6306292 | | 0.14 | polymarket-us | 3110585 | | 0.15 | kalshi | 31008200 | | 0.15 | polymarket | 6898068 | | 0.15 | polymarket-us | 2708624 | | 0.16 | kalshi | 30856448 | | 0.16 | polymarket | 6717953 | | 0.16 | polymarket-us | 3205337 | | 0.17 | kalshi | 29550675 | | 0.17 | polymarket | 6380286 | | 0.17 | polymarket-us | 2684295 | | 0.18 | kalshi | 30414322 | | 0.18 | polymarket | 6620336 | | 0.18 | polymarket-us | 3216828 | | 0.19 | kalshi | 29358542 | | 0.19 | polymarket | 6591091 | | 0.19 | polymarket-us | 2692316 | | 0.2 | kalshi | 30928339 | | 0.2 | polymarket | 7865380 | | 0.2 | polymarket-us | 3246707 | | 0.21 | kalshi | 29924253 | | 0.21 | polymarket | 7281750 | | 0.21 | polymarket-us | 2799855 | | 0.22 | kalshi | 30168840 | | 0.22 | polymarket | 7357183 | | 0.22 | polymarket-us | 3342266 | | 0.23 | kalshi | 29588000 | | 0.23 | polymarket | 7133549 | | 0.23 | polymarket-us | 2815813 | | 0.24 | kalshi | 29566435 | | 0.24 | polymarket | 7509887 | | 0.24 | polymarket-us | 3334919 | | 0.25 | kalshi | 32380555 | | 0.25 | polymarket | 8146991 | | 0.25 | polymarket-us | 2912133 | | 0.26 | kalshi | 31251627 | | 0.26 | polymarket | 8029101 | | 0.26 | polymarket-us | 3393678 | | 0.27 | kalshi | 30437400 | | 0.27 | polymarket | 7770635 | | 0.27 | polymarket-us | 2894931 | | 0.28 | kalshi | 31073287 | | 0.28 | polymarket | 8121279 | | 0.28 | polymarket-us | 3442845 | | 0.29 | kalshi | 30704292 | | 0.29 | polymarket | 7987472 | | 0.29 | polymarket-us | 3002682 | | 0.3 | kalshi | 32711918 | | 0.3 | polymarket | 9364184 | | 0.3 | polymarket-us | 3631490 | | 0.31 | kalshi | 32498353 | | 0.31 | polymarket | 8700629 | | 0.31 | polymarket-us | 3142146 | | 0.32 | kalshi | 32248583 | | 0.32 | polymarket | 8823218 | | 0.32 | polymarket-us | 3736112 | | 0.33 | kalshi | 32193837 | | 0.33 | polymarket | 9005343 | | 0.33 | polymarket-us | 3169693 | | 0.34 | kalshi | 32742551 | | 0.34 | polymarket | 9313134 | | 0.34 | polymarket-us | 3706112 | | 0.35 | kalshi | 34183639 | | 0.35 | polymarket | 9867722 | | 0.35 | polymarket-us | 3339874 | | 0.36 | kalshi | 34818153 | | 0.36 | polymarket | 9886566 | | 0.36 | polymarket-us | 4000577 | | 0.37 | kalshi | 34191341 | | 0.37 | polymarket | 9582606 | | 0.37 | polymarket-us | 3429072 | | 0.38 | kalshi | 35551557 | | 0.38 | polymarket | 10039412 | | 0.38 | polymarket-us | 4175740 | | 0.39 | kalshi | 35354381 | | 0.39 | polymarket | 10055710 | | 0.39 | polymarket-us | 3530844 | | 0.4 | kalshi | 37813291 | | 0.4 | polymarket | 11840844 | | 0.4 | polymarket-us | 4356587 | | 0.41 | kalshi | 37177156 | | 0.41 | polymarket | 10666446 | | 0.41 | polymarket-us | 3726289 | | 0.42 | kalshi | 38627650 | | 0.42 | polymarket | 11021393 | | 0.42 | polymarket-us | 4683318 | | 0.43 | kalshi | 38467917 | | 0.43 | polymarket | 10905126 | | 0.43 | polymarket-us | 3912635 | | 0.44 | kalshi | 39590112 | | 0.44 | polymarket | 11741178 | | 0.44 | polymarket-us | 4755190 | | 0.45 | kalshi | 41096487 | | 0.45 | polymarket | 13002115 | | 0.45 | polymarket-us | 4146678 | | 0.46 | kalshi | 42393437 | | 0.46 | polymarket | 13199063 | | 0.46 | polymarket-us | 5197268 | | 0.47 | kalshi | 43227158 | | 0.47 | polymarket | 13262993 | | 0.47 | polymarket-us | 4438474 | | 0.48 | kalshi | 44886202 | | 0.48 | polymarket | 14910838 | | 0.48 | polymarket-us | 5595631 | | 0.49 | kalshi | 43700019 | | 0.49 | polymarket | 17289779 | | 0.49 | polymarket-us | 4834843 | | 0.5 | kalshi | 45299622 | | 0.5 | polymarket | 22187926 | | 0.5 | polymarket-us | 6153700 | | 0.51 | kalshi | 43700019 | | 0.51 | polymarket | 17289779 | | 0.51 | polymarket-us | 4834843 | | 0.52 | kalshi | 44886202 | | 0.52 | polymarket | 14910838 | | 0.52 | polymarket-us | 5595631 | | 0.53 | kalshi | 43227158 | | 0.53 | polymarket | 13262993 | | 0.53 | polymarket-us | 4438474 | | 0.54 | kalshi | 42239745 | | 0.54 | polymarket | 13025748 | | 0.54 | polymarket-us | 4795839 | | 0.55 | kalshi | 41250179 | | 0.55 | polymarket | 13175430 | | 0.55 | polymarket-us | 4548107 | | 0.56 | kalshi | 39590112 | | 0.56 | polymarket | 11741178 | | 0.56 | polymarket-us | 4755190 | | 0.57 | kalshi | 38655757 | | 0.57 | polymarket | 11057503 | | 0.57 | polymarket-us | 4293073 | | 0.58 | kalshi | 38439810 | | 0.58 | polymarket | 10869016 | | 0.58 | polymarket-us | 4302880 | | 0.59 | kalshi | 37177156 | | 0.59 | polymarket | 10666446 | | 0.59 | polymarket-us | 3726289 | | 0.6 | kalshi | 37813291 | | 0.6 | polymarket | 11840844 | | 0.6 | polymarket-us | 4356587 | | 0.61 | kalshi | 35354381 | | 0.61 | polymarket | 10055710 | | 0.61 | polymarket-us | 3530844 | | 0.62 | kalshi | 35551557 | | 0.62 | polymarket | 10039412 | | 0.62 | polymarket-us | 4175740 | | 0.63 | kalshi | 34191341 | | 0.63 | polymarket | 9582606 | | 0.63 | polymarket-us | 3429072 | | 0.64 | kalshi | 34818153 | | 0.64 | polymarket | 9886566 | | 0.64 | polymarket-us | 4000577 | | 0.65 | kalshi | 34183639 | | 0.65 | polymarket | 9867722 | | 0.65 | polymarket-us | 3339874 | | 0.66 | kalshi | 32742551 | | 0.66 | polymarket | 9313134 | Showing the first 200 of 303 rows. Cached: 2026-10-27T20:34:12.599Z. Figure 3. Counts of qualifying YES- and NO-side observations, stacked by venue. Each underlying trade can contribute one observation for each side; the bars do not represent distinct markets or independent forecasts. ### Differences in sample composition The one-cent bin contains 96,184,110 observations for Kalshi, 22,938,826 for Polymarket, and 6,604,317 for Polymarket US. The Kalshi-to-Polymarket count ratio is 4.19. At ten cents, the Kalshi and Polymarket counts are 36,736,694 and 7,704,658, with a ratio of 4.77; at fifty cents they are 45,299,622 and 22,187,926, with a ratio of 2.04. Ratios above one indicate greater Kalshi representation in the relevant bin; ratios below one indicate greater Polymarket representation. The ratio of one-cent observations to midpoint observations is 2.12 for Kalshi and 1.03 for Polymarket. These ratios compare concentration within each venue and need not coincide with the pattern in the pooled distribution. Counts describe representation in the trade dataset; they do not by themselves establish independent information or narrower uncertainty bounds, because repeated trades can share the same settlement outcome. ### Complementary-price symmetry and the midpoint For Kalshi, the ten- and ninety-cent bins contain 36,736,694 and 36,736,694 observations, with win rates of 9.4425% and 90.5575%. For Polymarket, the respective counts are 7,704,658 and 7,704,658, with rates of 9.6248% and 90.3752%. The sums of each venue’s paired win rates are 100.0000% and 100.0000%. At the midpoint, the rates are 50.0000% for Kalshi, 50.0000% for Polymarket, and 50.0000% for Polymarket US. These live diagnostics permit assessment of complementary-price symmetry without imposing it on the observed outcomes. Including both contract sides can induce symmetry through the construction of the sample. When YES and NO prices sum to one and rounding preserves the complementary bins, each observation is paired with another having the opposite settlement outcome. Under those conditions: ``` \begin{aligned}\widehat q_v(1-p)&=1-\widehat q_v(p),\\N_v(1-p)&=N_v(p),\\\Delta_v(1-p)&=-\Delta_v(p),\qquad \widehat q_v\!\left(\tfrac12\right)=\tfrac12.\end{aligned} ``` Under these conditions, the midpoint has a winning fraction of one half by construction. Mirrored upper and lower tails, when present, should therefore not be treated as independent confirmations of forecasting quality. Complementary-price gaps can describe paired features of the same underlying observations. ## Discussion and limitations The three figures address complementary aspects of prediction market calibration. Figure 1 compares probability levels with realized frequencies; Figure 2 makes relative deviations more visible; and Figure 3 describes the distribution of observations supporting those estimates. A departure from calibration should be evaluated in the context of all three views, rather than from the magnitude of a single residual. Cross-venue comparisons are descriptive. The query does not hold market category, event composition, liquidity, or time to settlement constant. Differences between Kalshi, Polymarket, and Polymarket US may therefore reflect variation in their underlying market populations as well as differences in price formation. Moreover, pooling trades from different stages of a market’s life can conceal patterns that would be visible at a fixed forecasting horizon. The figures do not report confidence intervals or formal tests of calibration. Such inference would require accounting for dependence among observations from the same market and, where relevant, among contracts linked to the same event. Further analysis could compare equally weighted markets, separate categories and forecast horizons, and test whether observed deviations persist in a later evaluation sample. Calibration is also distinct from overall probabilistic forecast quality. The binary Brier score averages (p − y)², where p is a probability and y is the realized binary outcome. It reflects more than calibration alone and is not calculated by the figures presented here. Similarly, a historical calibration deviation is not an estimate of an executable trading return: transaction costs and execution conditions are outside the scope of this analysis. ## References and further reading Fama, E. F. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. The conceptual basis for relating market prices to available information. Wolfers, J., and Zitzewitz, E. (2006). Interpreting Prediction Market Prices as Probabilities. An analysis of the conditions under which prediction market prices approximate traders’ average beliefs. scikit-learn documentation: Probability calibration. Definitions of reliability diagrams and the relationship between calibration and other dimensions of forecast quality. See also the binary Brier score definition. Data comes from cached results. This export does not run or refresh queries. Explore public research: https://app.outcome.sh/explore