By Kalshi View Editorial Team · Updated 2026-07-17

Real United States mail ballot beside an official ballot drop box

Photo: Sarah Stierch / Wikimedia Commons, CC BY 4.0. Displayed with CSS crop; source file unchanged.

Were Kalshi's 2024 Election Markets Accurate? A Data Audit

Source-backed answer: At 7:00 a.m. ET on November 5, 2024, Republican Yes traded above 50 cents in five of the eight contracts audited here: Arizona, Georgia, Nevada, North Carolina, and Pennsylvania. It traded below 50 cents in Michigan, Wisconsin, and the national popular-vote market. All eight eventually resolved Yes. That is useful evidence, but it does not prove that Kalshi was “more accurate than polls.”

Primary sources I checked: Kalshi's exact 2024 popular-vote market, Michigan market, Wisconsin market, the official API documentation for historical markets and historical trades, the FEC's official 2024 presidential results, and Kalshi's October 2024 presidential-state contract filing with the CFTC.

Reproducible evidence: download the eight-market JSON snapshot or inspect scripts/build_2024_election_accuracy_snapshot.py in the project repository. The artifact preserves the exact ticker, trade timestamp, Yes price, rule text, result, settlement time, volume, API URL, and limitations for every row.

Fixed election-morning checkpoint

The audit uses the last public trade at or before 2024-11-05 12:00 UTC, equal to 7:00 a.m. Eastern Time on Election Day. A fixed timestamp prevents selectively choosing a favorable later price after results began arriving.

Republican Yes contractTickerLast price by 7 a.m. ETResult
National popular votePOPVOTE-24-R25¢Yes
ArizonaPRESPARTYAZ-24-R77¢Yes
GeorgiaPRESPARTYGA-24-R67¢Yes
MichiganPRESPARTYMI-24-R35¢Yes
NevadaPRESPARTYNV-24-R59¢Yes
North CarolinaPRESPARTYNC-24-R69¢Yes
PennsylvaniaPRESPARTYPA-24-R57¢Yes
WisconsinPRESPARTYWI-24-R41¢Yes

The exact last-trade times range from 06:53:25 to 06:59:04 ET and are stored in the JSON. These are transaction prices. They do not prove that a large order could have filled completely at the same level.

What the table does and does not say

A simple above-or-below-50 classification gives five majority-side Yes calls and three minority-side Yes outcomes. But a 25-cent forecast is not the same as a categorical No prediction. If a large set of events priced near 25% occurs about one quarter of the time, that set can be well calibrated.

The popular-vote row is especially important. Trump ultimately won the national popular vote according to the official FEC results, while the Republican Yes contract traded at 25 cents at this checkpoint. That realized surprise should not be erased by a broad statement that “the market correctly predicted Trump.” Presidential winner, popular vote, and state winner were separate questions.

Likewise, Michigan and Wisconsin ended Yes even though their Republican contracts were below 50 cents in the selected morning snapshot. Arizona, Georgia, Nevada, North Carolina, and Pennsylvania were above 50 cents. The market was not one monolithic forecast.

A single realized cycle cannot establish that markets outperform polls, models, or pundits. That conclusion needs a predeclared sample and an aligned comparison dataset.

Why the old 55-58% claim was removed

The legacy article said a contract called KXPRESPARTY priced Republican chances around 55-58% in the final days, then used that range to claim an advantage over polling. It supplied no raw trades, timestamp, ticker-level query, archived chart, aligned poll model, or scoring rule. It also mixed presidential winner, chamber control, and state outcomes.

This revision does not repeat that range. It names exact 2024 tickers, fixes one time in advance, retrieves public trades, records official results, and publishes the raw evidence. If a future analysis compares Kalshi with a forecast model, it should preserve both data series and the comparison code.

How to measure forecast accuracy properly

  1. Define the sample before scoring. Choose elections, geographies, market types, and observation times without knowing which subset makes one source look best.
  2. Match the questions. A national popular-vote share poll is not directly comparable with a binary Electoral College winner contract.
  3. Align timestamps. Compare information available at the same moment. An election-night market after partial results has an unfair information advantage over a pre-election poll.
  4. Use a probabilistic score. Brier score or log loss evaluates confidence as well as outcome direction across many forecasts.
  5. Handle dependence. Seven swing-state contracts in the same election share national shocks and are not eight independent experiments.
  6. Include uncertainty and execution limits. A last trade may be stale or small; bid, ask, depth, fees, and slippage matter to a tradable claim.
  7. Publish data and code. Readers should be able to reproduce the selected rows and understand exclusions.

Brier components in the dataset

For a binary Yes contract, one Brier component is (p - y)², where p is the Yes price interpreted as a probability and y is 1 for a Yes result or 0 for No. The JSON records that descriptive component for each row.

We deliberately do not headline the mean of these eight values. Every audited contract resolved Yes, the state outcomes are correlated, and the sample was selected for one election. An aggregate can be calculated, but presenting it as a general calibration score would imply more evidence than the dataset contains.

Official outcome versus market determination

The FEC's official compilation reports Donald Trump won 312 electoral votes to Kamala Harris's 226 and won the national popular vote. Each Kalshi state contract still follows its own written source and determination rule. The historical API result field is the result recorded for that exact market; the FEC source provides an independent official election reference.

Market close, media call, certification, Electoral College vote, congressional count, inauguration, and final settlement can occur at different times. “Who was ahead first?” is a different research question from “Was the pre-result forecast calibrated?”

Frequently Asked Questions

How accurate were Kalshi's 2024 election markets?

At a fixed 7:00 a.m. ET election-morning checkpoint, five of the eight audited Republican Yes contracts traded above 50 cents, while Michigan, Wisconsin, and the national popular-vote contract traded below 50 cents. All eight later resolved Yes. That is a transparent snapshot, not enough evidence to claim that Kalshi was globally accurate or outperformed polls.

Did Kalshi predict Donald Trump would win in 2024?

The answer depends on the exact contract and timestamp. In this audit, Republican Yes was above 50 cents in five audited swing states but below 50 cents in Michigan, Wisconsin, and the popular-vote market at 7:00 a.m. ET on Election Day. A single phrase such as Kalshi predicted Trump hides those differences.

Why is a correct outcome not enough to prove forecast accuracy?

A probability forecast is not a deterministic pick. An event priced at 25 percent should still happen about one quarter of the time in a well-calibrated set. Accuracy requires many comparable forecasts, fixed timestamps, defined scoring, and aligned outcomes, not one winner and one price.

How was the election-market checkpoint selected?

The audit uses the last public trade at or before 2024-11-05 12:00 UTC, which was 7:00 a.m. Eastern Time on Election Day. The same cutoff is applied to all eight tickers, and each exact trade timestamp is preserved in the downloadable JSON.

What is the Brier score for an election forecast?

For a binary forecast, the Brier component is the squared difference between forecast probability and the realized outcome coded as zero or one. It becomes useful across a sufficiently large, well-defined sample. This audit records per-contract components but does not market an aggregate from eight correlated contracts as proof of calibration.

Did Kalshi outperform polls in the 2024 election?

This audit does not establish that. A fair comparison would align the exact question, geography, timestamp, transformation from vote share to win probability, and scoring rule for each market and polling model. The legacy article did not supply that analysis, so the outperform claim was removed.

Not financial, political, statistical, or legal advice. This independent audit is not affiliated with Kalshi. Historical transaction prices are not live quotes or guaranteed fills. Verify the raw data, rules, and official results before reusing any conclusion.

Follow source-backed Kalshi market notes and new site articles at @Kalshi_market. Free, no signup, no upsell.