Electoral MeridianIndependent Election Research

Forecasts. Results. Evidence.

How this site works

Where the numbers come from, what each one means, how the forecast is built, and where it can go wrong.

Called, leading, forecast

These three words mean different things here, and the site never blurs them.

Called
A winner has been declared. We repeat these calls and don't make our own. When two candidates are marked as winners, both have advanced to a runoff, and nobody has won the seat yet.
Decided
The party holding the seat is settled: it has been called, or every candidate on the ballot is from one party, as in some California districts.
Leading
Ahead in the votes counted so far. It says nothing about the votes still to come.
Forecast
Our estimate of who will finish ahead once everything is counted. A forecast is not a call, and it can favor someone who is behind right now if the uncounted votes point the other way.
Counted
An estimate of how much of the expected vote is in. Precincts reporting is a different number, because a precinct can report before all its ballots are counted.

Everything is unofficial until each state certifies its results.

Sources

WhatFromLast received
House resultsPublic results feed
Senate resultsPublic results feed
Governor resultsPublic results feed
County resultsPublic results feed
Arizona resultsArizona Secretary of State
Polymarket pricesPolymarket
Kalshi pricesKalshi
PollsVoteHub
Past resultsMEDSL, VEST via Polling Forecast

National results come from a public results feed. Every response is checked: it must identify itself as 2026, include the full roster of races, and can't move backward in time. If a check fails, the last good data stays up, with its age showing.

Arizona results come directly from the Secretary of State's public export, and Maricopa County's from the county's own precinct file. Polls come from VoteHub (CC BY 4.0). Past results come from the MIT Election Data and Science Lab (CC0) and VEST (CC BY 4.0), by way of Polling Forecast. Market prices come from the public APIs of Polymarket and Kalshi.

The forecast

For each uncalled race, the forecast uses the best evidence available, in this order:

  1. A call settles it.
  2. The vote count and the markets together. Once a race has at least 1,000 two-party votes, the model projects its finish from the votes still to come, then blends that chance with the market's by averaging them on the log-odds scale.
  3. Markets alone if there's no usable count.
  4. Polls, then a published pre-election estimate or earlier results, moved by the swing seen so far, if there's nothing else. A race with no usable evidence isn't treated as a coin flip; the chamber's range is withheld instead.

The vote projection works county by county. For each reporting area, it estimates how many votes remain, using turnout estimates supplied with the results, and how those votes will lean. The starting point is how that place voted before: three-quarters the last presidential election (2024) and one-quarter the last midterm (2022), because midterm voters differ. It then adjusts for what has actually been reported: the swing in the rest of the race, the place's own votes once it has enough of them, the swing in fully counted areas of the same state, and how later batches in the same place have differed from earlier ones. That last adjustment captures counting order without assuming which ballot types caused it.

Why not assume the rest of the vote will split like the vote so far? Because the first votes counted usually aren't a fair sample: a race's rural counties can report hours before its cities. Starting from each place's past vote corrects for which places have reported. The test below shows how much that matters.

Arizona's state offices, legislature, ballot measures and judges use the state's own county-by-county results. We take each county's votes and its estimated share counted, then run the remaining votes many times with different errors, and report how often each side finishes ahead. Partisan contests expect part of the state's usual count order. Measures and judges don't, because we have no reason to think late ballots favor Yes or No. A measure's forecast says which side should finish ahead, not whether it passes, since passage depends on its own rule.

Judge scores come from each judge's report by Arizona's Commission on Judicial Performance Review. A score is the share of people surveyed who rated the judge acceptable or better. Surveys are voluntary, so they may not reflect everyone who appeared before the judge, and we show how many came back. "Typical" is the median for judges at the same level, with trial judges and appellate judges kept apart because different people rate them. We point out a score only when it is at least 5 points below typical and rests on at least 20 responses. When a report covers two survey periods, we use the later one, which matches the months used for every other judge.

Local contests have no past results or markets, so their estimate asks one question: could the votes left close the gap? It uses the county's estimated share counted, so a city or district that counts unusually early or late will be off. These are the roughest numbers on the site.

The model steps aside rather than guess. It won't project a race with three strong candidates or two serious contenders from one party, or when too much of the count looks copied or out of line, or when county detail has fallen behind the race total. The reason appears on the race page.

Chamber totals come from combining every race, with a shared error so that a miss in one place makes misses elsewhere more likely. A national polling error doesn't stay in one district. The range shown is an approximate 80% range. Senate control treats a 50–50 tie as Republican, because the vice president breaks ties.

How it has done so far

The vote-count part of the model was built and tuned around election night, then replayed against the same data. At each checkpoint it used only what was known at that moment, and was scored against races later called with at least 90% counted. The same 710 checkpoints are used in every column:

Share of vote countedRacesMargin so farContinuing the reported votePast vote and swingAdding count order: liveFinished inside the 80% range
10–15%8013.213.45.35.395%
25–30%12512.913.25.95.390%
50–55%1507.07.33.93.691%
75–80%1823.32.82.01.991%
90–95%1731.41.31.21.280%

Figures are the average miss in margin points. Giving the reported vote even a 15% share made the forecast worse until about 90% was counted, so its share is zero. Adding the midterm changed these by 0.2 points at most, because the swing already measures how this electorate differs. A quarter share was the best of those tried.

Count order. States count their ballots in different orders. Arizona reports early ballots first, so its count starts far more Democratic than it finishes; elsewhere the pattern can run the other way. We measure this by comparing ballots counted after a place's first report with that report, in the same place, so geography doesn't enter into it. Until a race shows its own later ballots, the model expects a quarter of its state's usual drift. In this test, each race's expected drift came only from other races in its state, and the leader was wrong 2 fewer times at each of the 25% and 50% checkpoints. Those other races were from the same election, which a real forecast won't have, and voting laws change, so this is measured again after each election.

This is a check on one election using the data the model was tuned on, so it flatters the model. These races also favor early-counting states, and few were close. It isn't evidence of how the model would do in another election, and the market blending and chamber totals weren't tested this way at all.

Prediction markets

Each race is matched to its Polymarket and Kalshi markets through links supplied with the results, not by matching titles. For the forecast, a price counts only if it's recent, its bid and ask are within 10 points of each other, and the prices across candidates add up to roughly 100%. Lopsided order books near certainty are treated as bounds, not prices. The site only reads public prices: it places no trades and uses no market accounts.

The forecast page also counts seats three stricter ways. Both markets above a threshold gives a seat to a party only when Polymarket and Kalshi both price it above the threshold you set, 90% by default. Market favorites gives it to whichever party both markets favor. Calls only counts what has been called.

A market move appears when a candidate's price ranges at least 5 points within 30 minutes, or when trading in the last 30 minutes is at least double the 30 minutes before.

Comparing with past elections

All margins are Democratic share minus Republican share of the votes for those two parties. A shift of D +5 means the race has moved five points toward Democrats, whoever is ahead.

  • House races are compared with the same district in 2024 and 2022, unless its lines have changed. New maps rule out direct comparisons in Alabama, California, Florida, Louisiana, North Carolina, Ohio, Tennessee, Texas and Utah. The 2022 comparison also excludes Georgia and New York, whose lines changed in between.
  • Senate and governor races are compared with the state's 2024 presidential vote and, where available, the 2022 race.
  • Same-place shift compares each county or town with how that same place went for president in 2024, weighted by votes counted this year, so a county reporting early can't create a false swing just by being unusually red or blue. Places that look copied or wildly out of line are left out and flagged.
  • Far from the pattern. The charts fit a straight line through each set of points, ignoring the most extreme ones, and flag anything at least three typical deviations and eight points from it. A flag is a reason to look, not a finding. Usual causes are a popular or weak candidate, an unopposed race last time, or ballots still to come. We don't use digit tests such as Benford's law, which researchers have found misfire on election returns.
  • State and national comparisons are weighted by votes counted this year, over comparable races only. Missing history stays missing and never counts as zero.

Past results are final totals, not the count at the same hour on an earlier election night. Early-counted ballots often lean one way, so a shift can shrink or grow as more votes arrive.

What it can't do

  • The forecast has not been tested on other elections, so a 90% chance has not been shown to come true nine times in ten. Its settings were tuned on this one election.
  • Votes remaining are estimates, and they can be wrong, especially in states that count mail ballots slowly.
  • Arizona's statewide and legislative estimates use each county's progress in the governor's race as a stand-in for that contest. A district can run ahead of or behind its county.
  • Ranked-choice counts, runoffs and recounts aren't modeled. Those races show the current count and the markets.
  • Coverage below federal and governor races is limited to Arizona and Maricopa County for now.

How it updates

A single program on the web server collects all of this and rewrites the site's pages whenever something changes: about every 30 seconds when votes are pouring in, every two minutes during ordinary counting, and every five minutes once the count goes quiet. County detail is fetched only when a race's totals change. Pages you have open refresh on their own. If any source goes down, its last good numbers stay up and the time beside them shows their age.