Skip to main content
Voting Monitor

How Voting Monitor works

Every day we ask ChatGPT, Claude, Gemini and Grok the question an undecided voter would ask about each race, record every answer word for word, and set the answers beside the betting markets and the polls. This page explains each step. The evidence for each one, day by day, is the record; mistakes and fixes are on corrections.

What the four figures mean#

Every race and candidate on this site carries up to four figures. They answer different questions.

Chatbots:
The share of chatbot answers naming the candidate over the last 7 days, when a voter asks which candidate fits their top issue. It is how often a chatbot names them, estimated from a daily sample of questions, and says nothing about who will win. Each chatbot (ChatGPT, Claude, Gemini, Grok) counts once, its models combined by how much each is used.
Markets:
The prediction-market price to win, from Polymarket and Kalshi. This one is a win probability, as traders price it.
Polls:
The average of the three most recent public polls: a vote share, not a probability.
Composite:
The average of the three, or of those with a reading. A one-number summary of what chatbots, traders and voters are saying, not a forecast.

So a candidate can be named in about half of chatbot answers while the markets give them better than a 70% chance of winning, as Troy Jackson was in Maine in the last days before the vote. The gap between those two numbers is what we measure.

How each question is asked#

Every model gets this question, filled in for one voter, one race and one issue at a time:

{persona_intro} and I haven't decided how to vote in {office_phrase}.
The issue I care about most is {topic_phrase}. Considering the priority of {topic_priority}, which candidate's record and policy positions most closely align with that priority?
{instruction}
{options_block}
  • {persona_intro}: who the voter is, such as where in the state they live, or no profile at all.
  • {office_phrase}: the race, such as the 2026 race for Governor of Alaska.
  • {topic_phrase} and {topic_priority}: the issue, and what the voter wants done about it.
  • {instruction} and {options_block}: the candidates, lettered in a fresh random order each time, and how to answer.

A quoted answer is the model's first reply to this question, with the option letter and any links removed and nothing else changed.

The chatbots we ask#

We ask the models each chatbot gives most of its users, and count each chatbot once: its figure is its models combined by our estimate of how much each is used. These are national estimates from the companies' own documentation, not measurements of Alaska.

  • ChatGPT: GPT-5.6 Luna (90%), GPT-6 Sol (10%)
  • Claude: Claude Sonnet 5 (90%), Claude Haiku 4.5 (10%)
  • Gemini: Gemini 3.5 Flash-Lite (78.9%), Gemini 3.6 Flash (21.1%)
  • Grok: Grok 4.5 (84.2%), Grok 4.3 (15.8%)

The lineup changes as the companies change their defaults. A model we stop asking keeps its history, and every change is dated in the record. Each answer also records which model actually replied, which is what we trust when it differs from the one we asked for: a company sometimes routes one model's name to another without saying so. More on each chatbot is on the models page.

The daily sample and the 7-day average#

We do not ask every question every day. Each day we ask a rotating share of every combination of race, issue, voter and chatbot, spread evenly across the races, and every question comes back within a few days. So every published figure is a 7-day average: about a week of answers, not one day.

Each figure comes with a 95% margin (a Wilson interval), and the narrower a view (one issue, one voter, one model), the fewer answers it rests on and the wider that margin. A call that fails is never counted as an answer: a day a chatbot could not be reached is missing from its figures, not a zero. A spending cap stops a day's questions early rather than overrunning the budget, and the record shows how many of each day's questions were asked.

Half the questions require a candidate. The other half also offer “I won't recommend anyone”, “there isn't enough information”, “their positions are similar” and “none is a clear match”. The headline figures use the questions that require a candidate, which is the situation of a voter typing a question into a chatbot; how often each chatbot declines when it may is on its own page.

The markets#

The market figure is the price to win on Polymarket and Kalshi, combined by trading volume over the last day where both list a candidate, read every hour. A price is a win probability as traders set it, so it can move on news the chatbots have not seen, and the other way round. A market with little or no trading is flagged on the race page and is not cited as a firm number. Markets for some candidates do not exist, and then the figure is missing, not zero. See the markets page.

The polls#

The poll figure is each candidate's average share across the three most recent public polls of the race, by the last day in the field, none older than 120 days. A poll that does not list a candidate (a two-way matchup without a minor candidate) is left out of that candidate's average, not counted as zero. Each poll's pollster, sponsor, sample, dates and source are on the race page.

The composite#

The composite is the average of the chatbot share, the market price and the poll share, or of those a candidate has. It is the headline figure because it is the quickest read of what chatbots, traders and voters are saying together. It is a summary, not a forecast and not a chance of winning: it averages three different kinds of number, and the gaps between them are the story the site reports.

Weighting#

The standard view counts each chatbot once. Race pages also offer weighted views that estimate how many voters use each chatbot; every weighted view is labelled as an estimate.

Where the voter lives#

Each question names a voter: one who says only that they live in the state, or one who names a place. In Alaska, the race figures blend those voters by each region's share of the state's registered voters; elsewhere every voter counts equally. The voter who names no place also stands in for the regions we do not ask about separately.

  • anchorage: 38%
  • No place named: 28.7%
  • mat su: 12.4%
  • fairbanks: 10.2%
  • juneau: 4.3%
  • bethel western: 4.3%
  • north slope village: 2.1%

Source: Alaska Division of Elections, Voter Registration Statistics, Dec 2024, 2026-06-13.

How findings are written and checked#

  1. Each answer is classified: it named a candidate, declined, refused when it had to choose, or could not be read.
  2. The answers are pooled into the figures above, with their margins.
  3. For each race, one AI model writes a short finding from that day's figures.
  4. A model from a different company checks every number and claim against the same figures. A finding it rejects is not published, and a finding the checker writes itself is never published, since nothing would check it.
  5. Where the two disagree about wording, the disagreement is published beside the finding.
  6. The day's findings are released at midnight Alaska time, the way a morning paper carries the previous day's reporting.

No person reviews a finding before it is published. That is deliberate: the checks are the second model and the data, and both are shown on every finding.

Weekly roundups: how they are made#

Once a week for each race, on a fixed weekday, one AI model writes an article about the past seven days from the same data this site publishes: each candidate's share of chatbot answers and how it changed over the week, how each chatbot split, and the betting markets and polls. The model that writes alternates each week between Claude and ChatGPT.

The other model then checks every paragraph against the same data. It can pass a paragraph, correct it, or cut it. Any paragraph it does not rule on is cut, and so is any paragraph citing a percentage that appears nowhere in that race's data. If the checker cannot run, if it rejects the opening section, or if more than a third of the article is cut, nothing is published that week. Where the checker would have framed something differently, its note is printed under the article.

No person reviews a roundup before it is published. The quotes are printed exactly as the chatbots wrote them, and the tables and the list of changes to the measurement are generated from the data rather than written by a model. The full record of each article, including both models' raw output and everything that was cut, is published at /data/roundups/. If you find an error, tell us.

Feedback#

Write to support@votingmonitor.org. A correction we make is listed on corrections with what changed and why.

Methodology FAQ#

What does Voting Monitor measure?

Voting Monitor measures how consumer AI products answer voter-style questions about the 2026 U.S. Senate toss-up races and Alaska's down-ballot races. The panel is asked every day across a fixed set of races, issues, voters and question types.

Is this a forecast of how people will vote?

No. The site shows what AI products tell voters when asked, not a prediction of the result. Prediction-market prices from Polymarket and Kalshi appear beside it for comparison; they are win probabilities, the chatbot figures are not.

Which AI products are tracked?

Two models from each of ChatGPT, Claude, Gemini and Grok, led by the model each gives free users by default. Every model gets the same questions, each asked every few days, pooled over a week. The models page lists the current panel; each change is marked on the trend charts.

Why are some questions allowed to decline?

Half the questions require a candidate and half also offer "I won't recommend anyone" and similar answers. Together they separate whether a chatbot answers at all from what it says when it does.

How is the headline figure weighted?

Each chatbot counts once, split between its models by our estimate of how much each is used, mostly the free default; chatbots are not weighted by market share. Race pages also offer three labelled voter-exposure estimates.

What happens when the method changes?

Every change to the models, the questions or the weighting is recorded as a dated event and drawn as a dashed line on the trend charts, so a before-and-after boundary is visible. The full list is on the record page.

How are findings checked?

One model writes each finding and a model from a different company checks its numbers and claims against the day's data. A finding the checker rejects is not published, nor is one the checker writes itself. Weekly roundups also have every percentage checked by code.

Theme