Skip to content
The Civic Archive

Method

How every page is made.

Where each fact comes from, how bills are rated, and what this site will not do. Facts and judgments are kept apart, and each is labelled.

Where our facts come from. How we rate bills. What we will never do.

Part 1 of 12 · About 1 minute

Where the facts come from

Every fact on this site comes from the public office that keeps it. The site copies the record, loads it, and shows it. It does not edit it by hand. When a number looks wrong, the fix is made where the record is loaded, never in the record.

Every fact comes from the office that keeps the record. We copy it. We do not change it by hand.

  • Bills, their actions and their summaries: the Government Publishing Office and the Library of Congress (GovInfo Bill Status).
  • Recorded votes, member by member: the Clerk of the House and the Senate.
  • Members of Congress: the public roster kept by the congress-legislators project.
  • Campaign money for Congress: the Federal Election Commission's public files, 2016 through 2026.
  • State legislators, their districts and committees: the Open States project and the Census Bureau's boundary files. Campaign money in 9 states so far, each from the state's own campaign finance agency.
  • Who is on the ballot: each state's own official candidate list, loaded one state at a time.

Part 2 of 12 · About 1 minute

Three kinds of claim

Everything on the site is one of three kinds of claim, and each is labelled where it appears.

There are three kinds of claim. Each one has a label.

The three labels
LabelWhat it means
FactFrom the record: bill text, sponsors, dates, committee actions, every recorded vote. Linked to the official source.
AnalysisWorked out from facts by a stated rule, with the rule on the page so it can be checked.
OpinionA judgment, such as a rating of who a bill helps. It carries its evidence and its reasons.

Part 3 of 12 · About 6 minutes

How bills are rated

A rating is a judgment, so the rules for making one are written down first. They are called the rubric, and it is at version 1.1. Every rating names the version it was made under. When a scale or a threshold changes, the version changes, and nothing is re-rated under an old one.

A rating is an opinion. The rules for it are written down first. Each rating says which rules it used.

Every rating has four parts

  • A position on its scale.
  • A size: how much money or how many people are at stake.
  • An evidence grade.
  • Two to four sentences of reasons that cite the section, the summary passage or the analysis they rest on.

A bill that helps one group and costs another gets a range, never an average, so the two effects cannot cancel out. “Not assessable” is a real answer, used for naming bills, commemorations, procedural measures and anything the record gives no basis to judge. The latest text is rated. Reasons are written in plain words.

The rubric asks a rater to work without sponsor names, party labels, vote tallies or the President's name. It names its own limit: a widely covered bill can be recognised from its text alone, and hiding the labels does not hide what a rater already knows. Where the ratings stand today says how far this has been put to work.

Evidence grades

Only grades A and B may carry a confidence above 0.7. Grade C stops at 0.6.
GradeWhat it means
AAn official analysis of this bill exists, such as a Joint Committee on Taxation distribution table or a Congressional Budget Office estimate, and the rating follows it.
BIndependent models of this bill exist, and the rating reflects their range. Models from more than one part of the spectrum are used, and where they disagree, that is reported.
CThe rating rests on a reading of the bill text or its summary, by the rubric's text rules.
NNot assessable on this scale. This is a real answer, not a gap.

Who gains, by income

The scale runs from −100, benefits going overwhelmingly to lower-income households, through 0, broad-based or even, to +100, benefits going overwhelmingly to high-income households. Costs are the mirror image: a cut to a program used mainly by lower-income households scores positive, because the burden falls at the bottom.

With an official or independent analysis, the measure is the change in after-tax-and-transfer income for each income group, the standard the Congressional Budget Office and the Joint Committee on Taxation use. The position is the slope of that change. Beside it goes the share of all the dollars that reaches the top fifth, because an even percentage cut can still send most of the money to the top.

From the pattern of change to a position
Pattern of percent change in incomePosition
The bottom groups gain at least three times the top group's percentage−80 to −100
The bottom gains clearly more than the top−40 to −79
Roughly even percentage gains across groups−15 to +15
The top gains clearly more than the bottom+40 to +79
The top gains at least three times the bottom's percentage, or the bottom loses while the top gains+80 to +100

The size of a bill is its ten-year effect on the federal budget: none under $1 billion, small to $10 billion, moderate to $100 billion, large to $1 trillion, major above that.

Grade C, a reading of the text: start at 0 and move
What the bill doesMove
A credit; a larger earned income or child tax credit; more SSI, SNAP, Medicaid or housing help; a higher minimum wage; overtime protection−20 to −40 each
A consumer rule that limits fees or interest charged mainly to customers with small balances−15 to −30
A cut or a new condition on SNAP, Medicaid, SSI, housing help or student aid+20 to +40 each
A tax credit or deduction with no income limit that cannot be refunded; a larger state and local tax or mortgage interest deduction+15 to +30
A cut to tax rates on capital gains, dividends, estates, pass-through income or corporations+30 to +50
An income limit, a phase-out at high income, or a refundable credittoward 0 by 10 to 20
A benefit for everyone, such as a Social Security cost-of-living rise or a broad rebatetoward 0

Who backed it

This is measured, not judged. For the final passage vote in each chamber that had a recorded vote:

r = Republican yes votes ÷ (Republican yes + Republican no)
d = Democratic yes votes ÷ (Democratic yes + Democratic no)
Position = 100 × (r − d), averaged across the two chambers

−100 is Democrats only, 0 is bipartisan, +100 is Republicans only. Independents count with the party they caucus with.

The label comes from the smaller of the two yes rates: 50 percent or more is “bipartisan”, 15 to 49 percent is “one party plus crossover”, under 15 percent is “party-line”. Where the tallies are loaded but not the party split, a passage vote with at least 85 percent in favour is scored 0, at grade C. Where no passage vote was recorded, the rubric falls back on the mix of , and says so.

Two more things are reported as text and never scored: where a bill's benefits land by state, only when a source allocates them; and whether a bill changes voting, districting, campaign finance or how elections are run, with one factual sentence and no forecast of who gains.

Households and businesses

Two separate scores, because a bill can help both. A change to corporate tax counts 25 percent to households as workers and 75 percent to the owners of capital, the convention the Budget Office and the Joint Committee use, and the rating says so. Repealing a rule is scored on both sides: what the industry gains and what households lose. Lobbying reports that name a bill show attention, never support.

Timing

When a bill takes effect, when it changes, and when it ends, with the end always filled in. A benefit that runs out while a cost goes on is the most common way a bill's real effect differs from its headline, and the rating says so in a plain sentence.

Your rights and who decides

A fixed list of twelve flags, each with one plain sentence. A bill that:

  • overrides state or local laws
  • limits lawsuits
  • creates or widens a right to sue
  • forces disputes into arbitration
  • leaves the rules to an agency
  • cancels an agency's rule
  • adds detention or penalties
  • adds inspection, surveillance or data-collection power
  • shifts costs to the states
  • changes who can get a public benefit
  • reaches back to past years or past conduct
  • gives the executive new waiver or emergency power

An empty list is a valid answer.

The plain-language layer

One sentence of thirty words or fewer on what the bill does. Where it stands, in plain words. One line each for a worker, a parent, a retiree, a small business owner and a person with a disability or their caregiver, or the words “No direct effect”. And the most common misreading, if there is one.

Part 4 of 12 · About 1 minute

Where the ratings stand today

Ten bills carry a full set of ratings so far. All ten were applied by hand, as a preview, in a working session, and each says so where it appears. They were not made by the scoring step the rubric describes, which builds its input without the sponsor, the parties, cosponsor counts, vote tallies or member names. So the rubric's rule about what a rater may see was not tested on them.

Who backed it is worked out from the recorded votes, by the formula above, for 327 bills.

No rating on the site has been made by a model yet. When one is, it will say “Automated rating, not yet reviewed” until a person has reviewed it.

When a rating is redone, the old one is kept, marked as replaced and pointed at the new one. Nine ratings have been replaced so far.

Before ratings are made at scale, the rubric sets three checks. A person reviews the first 25 laws of this Congress on every scale, and the rate of disagreement is published. Thirty bills are rated three ways, with no party named, with Democratic named and with Republican named, and a shift of more than 10 points fails the version. And a person reviews every law and every bill with a floor vote within 30 days. No full scoring run has been made yet, so none of these results exists yet.

The rules call for three checks before many bills are rated. None has been done yet, because that rating has not started.

Part 5 of 12 · About 1 minute

How the votes are checked

Every recorded vote on these bills and joint resolutions is loaded member by member, and the members' votes are added up and compared with the official tally. At the last check, on October 5, 2026, 607 of 609 matched. The other two are Senate votes tied among the senators and decided by the Vice President, whose vote counts in the official tally but is not a senator's vote. A vote that does not add up is reported for a person to look at. The record is never changed to make it add up.

We add up how each member voted. Then we compare the total with the official count. We never change the record to make it match.

Part 6 of 12 · About 1 minute

Campaign money

Donor lists name organizations only: political action committees, party committees and other candidates' committees. People who gave are public record at the Federal Election Commission, but here they appear only in totals. Spending by outside groups is always shown apart from donations, with a sentence saying the campaign never received it. Money passed along by joint fundraising committees, or between a member's own committees, is shown as moved in, not as a gift.

We name the groups that give money. People who give are counted, not named. Money spent by outside groups is shown on its own.

Part 7 of 12 · About 1 minute

District maps

The district pages measure. They never say a map was drawn unfairly, and they never rank the worst districts. Every figure names its source, with its address, date and fingerprint; gives its formula and where it comes from; passes a test against known answers; matches the source's own totals; says what it cannot tell you; and can be downloaded whole.

The district pages give numbers and their sources. They do not say a map is unfair. You decide.

Part 8 of 12 · About 1 minute

On The Ballot

Who is running comes only from each state's official candidate list, loaded one state at a time. Primary votes are shown only once they are official. Polls come only from members of the American Association for Public Opinion Research's Transparency Initiative, each checked against the pollster's own release. Betting-market prices are labelled as what bettors are paying, not a poll, a forecast or an official record. Advertising is shown from the spenders' own federal filings, with links to the public ad libraries.

Candidates come from official state lists. Polls come only from pollsters who show their methods. Betting prices are labelled as bets.

Part 9 of 12 · About 7 minutes

Election Night

Election Night shows the count of the November 3 election as each state’s election office posts it, a feed of news headlines about the races, and forecasts. The count is a fact. The feed’s rankings and the forecasts are Analysis, worked out by stated rules, and each is labelled where it appears.

Election Night shows the vote count from each state. It also shows news about the races, and forecasts. The count is a fact. The rest is labelled Analysis.

Where the results come from

Results come only from each state’s own election office, in the form the office publishes them. In 25 states and the District of Columbia, the office publishes a count that a program may read, and the site reads it there; seven more states are read with care, where their systems allow it. For Minnesota and Oklahoma, a person saves the state’s own published results files by hand through the night, because the state’s site does not answer programs, and the page gives the time of each save. Each request names this site honestly, asks for one thing at a time and waits between requests. A site that refuses a request, or stops to check for a robot, is not asked again that night, and nothing is done to get around it.

The numbers come from each state’s election office. A program reads them for most states. For two states, a person saves the files by hand. If a site says no, we stop asking.

The other 16 states are not read on the night. Some post no statewide count until days later, because their counties or towns report on their own. Some state sites turn programs away, and the site never works around that. For a few, the state’s own terms or the site’s own choice keep them off the list. Their pages link to the state’s own results, and the official totals are added once the state certifies them.

Some states are not read on the night. Their pages link to the state’s own results. We add the final totals when the state makes them official.

Every figure carries the time the state posted it, shown in your own time zone. New figures go out about every 10 minutes, so a page runs about 10 to 20 minutes behind the state. Each file is checked as it is read: its parts must add up to the state’s own totals, and a file that fails is held while the page keeps the last good figures with their time. Until a state certifies its results, every figure is marked as reported and not final. The page never says a race is projected, called or won, and “Elected” appears only once the result is certified.

Each number shows when the state posted it. The page is about 10 to 20 minutes behind the state. Until the count is official, the page says so. We never say who won before then.

What the feed shows, and never shows

The feed shows news headlines about the races: the headline, the outlet, the time and a link to the story, never the story itself or a summary of it. They come from 139 news outlets’ own public feeds, in 50 states and nationally, and from the stories the GDELT Project finds in its files every 15 minutes, credited wherever they appear. Posts can be shown only from newsrooms, election offices and candidates’ official accounts, each linked from its owner’s own website and pointing back to it. 315 such accounts have been checked so far. Everyone else who posts is counted and never shown or named: a post is matched to a race and adds one to that race’s count, and who posted is never kept.

The feed shows news headlines with links. It never copies the story. Posts are shown only from news, election and campaign accounts. Other people’s posts are counted. We never show or keep who wrote them.

Most candidates post where the site does not read: X needs a paid service, and Facebook, Instagram, Threads, TikTok and Reddit give no open access or need a sign-up. How the feed is counted gives every rule.

The leaderboard’s four measures

The leaderboard ranks races by the attention they get, using four measures counted from public headlines and posts. Each race is ranked only against races at its own level, on five boards, so a race for the Senate is never set beside a school board. The window is the last 24 hours before Election Night, then the last 60 minutes. One story counts once however often it is found, a wire story once for each outlet that runs it, and at most three items from one outlet for one race in a window. The measures are Analysis: they count attention, not importance and not support.

The leaderboard ranks races by how much news they get. Each race is ranked with races like it. It counts news. It does not say a race matters more, or who people back.

Coverage per 100,000 residents
shown = 100,000 × (N + R) ÷ (residents + 100,000)

N is the race’s news items in the window and R the average rate of its board, so a small place with two stories does not top the board. The raw figure, 100,000 × N ÷ residents, is printed beside it. Ranked with three or more items from two or more outlets. Residents are the Census Bureau’s American Community Survey figures, 2020 to 2024, for the race’s own area.

Attention gap
gap = percentile of closeness − percentile of coverage (−100 to +100)

Closeness is one minus the margin between the first two. The margin is the count’s, once 20% of the vote is in; before that the race is not ranked. A positive gap means a race is closer than its coverage suggests. Retention votes and races with one name a seat are left out.

Momentum
momentum = (last hour + 1) ÷ (hour before + 1)

News items and people posting, together. Ranked with ten or more in the two hours. Called rising only when the last hour is above the 95% upper bound for the hour before.

Source breadth
effective outlets = exp(−Σ p ln p)

Distinct outlets in 24 hours, and the effective number, where p is each outlet’s share of the race’s items: ten stories with eight from one paper and one each from two others are three outlets but about 1.9 effective. Ranked with three or more items.

How forecasts are made

A forecast is a computer model’s estimate, labelled Analysis wherever it appears. Before Election Day it starts from how each precinct voted in past official elections, the year’s mood from polls by members of the American Association for Public Opinion Research’s Transparency Initiative only, Census figures about places (never about voters), and who holds the seat. On the night it compares each place that has reported with what it expected there, and adjusts its view of the places still to come. Thousands of simulated elections give each candidate a chance of coming first and a likely range for their share of the vote: the middle 80 percent of the simulations, so about one race in five lands outside it.

A forecast is a computer’s best guess. It uses past votes, polls and facts about places. It gives each candidate a chance to win and a likely share of the vote.

Chances are given in whole percents and are never 0 or 100 before the count is certified: “over 99%” and “under 1%” instead. No forecast is made for a race with one name for each seat. Where the record gives no reason to favour anyone, the candidates get the same chance and the page says so. A forecast is never a result and never a call; the official count decides.

A chance is never 0 or 100. A race with one name for each seat gets no forecast. A forecast is never a result.

The model watches three blind spots. Count order: places and kinds of ballots are counted in different orders, so the first figures are never treated as typical. Roll-off: many voters skip races lower on the ballot, from a few percent for Congress to half for some judges, and the model expects the same skipping place by place. Ballot position: a name printed first can gain a little, most in races voters know least about.

The model looks out for three things. Some votes are counted first. Some voters skip races. A name at the top can get a few more votes.

Every run of the model is kept with its method version, the fingerprints of its inputs and its random seed, so it can be made again exactly, and each race’s trend marks where a new method version begins. The method was tested on the 2022 and 2024 elections: 1,167 past races forecast as they would have stood beforehand, and past counts replayed in five different orders of reporting. The track record shows how it did, and after November 3 every forecast is scored there against the certified count.

Every run of the model is kept. We tested it on past elections. After the vote, we show how well it did.

No forecast is shown yet. Forecasts appear once the model’s checks are finished and approved. The model has so far made forecasts for 1,693 races in 40 states; they are not published. Until then the forecasts page shows only the method and the track record.

No forecast is shown yet. They will be shown once they are checked and approved.

Part 10 of 12 · About 1 minute

What the site will not do

  • Score or rate any person.
  • Guess anyone's politics. A candidate's leaning is shown only from the record: a party's own published endorsement, an earlier run or office under a party label, or the candidate's own words.
  • Name individual donors.
  • Describe a member's character, beliefs or politics. A member's page shows the record. The one piece of outside writing is the first paragraph of their Wikipedia article, fenced off and labelled as not an official record.
  • Use red or blue for anything but party data.
  • Put a real bill number on an illustration.
  • Call a race, or say who won, before the state has certified the count.

Part 11 of 12 · About 1 minute

Sources

Part 12 of 12 · About 1 minute

Corrections

There is no corrections log yet. When there is one, it will be listed here.

There is no list of fixes yet.