The Kingfish Project Election results

How these results work

What the numbers on these pages mean and what our estimates leave out.

The count

Vote totals come from the Louisiana Secretary of State’s election results site, which we check every minute on election night. They are unofficial until the state certifies them, and the Secretary of State can correct them before then. When a correction is posted, our pages change with it.

“Precincts reported” counts the precincts whose election-day votes the state has posted. Early and absentee ballots are counted separately, one batch per parish, and often arrive first.

When the count is complete

Once the state has posted every precinct and every early and absentee batch in a race, the count shows who won, which candidates go to a runoff, or whether a proposition passed. If Kingfish has not called the race by then, its page states that outcome and labels it “Count complete, unofficial” in place of “Called by Kingfish”. Winners get a check mark and candidates headed to a runoff get a Runoff flag, as they do after a call. A Kingfish call replaces the count’s outcome, and neither is official until the state certifies the results. When the count leaves a tie for a seat or a runoff spot, the page states no outcome.

At the top of each election page, “Races decided” counts the races with every seat won outright or a proposition passed or failed, whether Kingfish called it or the complete count settled it. Races going to a runoff are counted separately, under “Headed to a runoff”.

Expected vote

Before any votes are counted, the Kingfish model estimates how many votes each precinct will cast in each race. The estimate comes from past elections in the same precincts and, once the state posts it, the count of people who voted early.

“Share of the expected vote counted” is the votes counted so far divided by the model’s estimate of the final total. It says more than the precinct count does, because precincts vary in size and a parish’s early vote arrives as one large batch. A race can have 30% of its precincts in and half of its expected vote counted. The share is itself an estimate, and it reaches “all” only when every precinct and absentee batch has reported.

Chances, ratings and ranges

As precincts report, the model compares each one with what it expected and assumes the precincts still out will move in a similar way, each by its own amount. It lets Republican and Democratic precincts move differently, and it allows for the precincts still out to differ from the ones already in, since the first to report are often alike. It then plays out the rest of the count 10,000 times. A candidate’s chance of winning is the share of those counts the candidate wins.

We round chances to whole percentages. Until a race is called, the highest we show is “over 99%”, because a race that is very likely over is still not called. Each race also gets a rating from the chance of its most likely outcome:

Ratings by the chance of the most likely outcome
Rating Chance of the most likely outcome
Tossup under 65%
Lean 65% to under 85%
Likely 85% to under 95%
Safe 95% or more

In a primary the most likely outcome is often a runoff between two candidates, so a race can be rated Tossup while one candidate is all but certain to make the runoff.

On a race’s own page, the estimated final result gives a range for each candidate’s final share. It covers the middle 80% of the model’s simulated counts, so about one range in five should miss.

Every number that comes from the model is labeled “Estimate”, and ranges are drawn as hatched outlines, so none of them can be mistaken for the count. When the model has not passed our review for an election, or our editors are making every call, the pages show only the count and label progress by precincts reported, with no estimates of any kind.

How races get called

Draft pending editorial review. This section describes the call policy as the site runs it today. Our editors are still reviewing it, and it may change before the December runoff.

“Called by Kingfish” means The Kingfish Project has decided who won. It is our call, whether the model made it or an editor did. It is not a call by the Secretary of State or any other news organization, and it does not make the results official. The state certifies results days after the election.

The model can call a race on its own only in an election where our editors have turned automatic calls on, and only after the model has been tested against past Louisiana elections and passed. Even then it waits until the most likely outcome reaches a set chance of happening and a set share of the expected vote is counted, on two checks in a row a minute apart.

Editors can call a race at any time, can stop the model from calling a race, and can withdraw a call. A withdrawn call comes off the race’s page, and the race goes back to uncalled.

For the December 12, 2026 runoff, editors make every call, and the pages show the count with no estimates.

What the model doesn’t know

  • Provisional ballots. The state counts them after election night. Once every precinct and absentee batch is in, the model treats the count as complete even if provisional ballots are still to come.
  • Differences its history can’t show. If the precincts that report first differ from those still out in a way past elections don’t capture, the estimate carries that error until the rest report.
  • Why voters turn out this time. The model knows which precincts usually vote more, but not that a particular race gives one town a reason to turn out.
  • Turnout and lean together. A precinct where turnout runs high is not assumed to lean differently because of it.
  • Parishes outside Rapides and Grant. For a race that crosses into other parishes, such as the 5th Congressional District, the model sees each of those parishes only as a whole, not precinct by precinct.
  • Errors in the feed. The model works from the numbers the Secretary of State posts. A wrong number in the feed is a wrong input until the state fixes it.

More detail

The technical description of the model, with its formulas and the tests it has to pass, is in our methodology notes. The results and estimates are also published as open data at /api/v1/elections, under the same CC BY 4.0 license as these pages.