About

Our math

Each formula the site uses, written from the code that makes the figure, with every threshold and rounding rule.

See also Our sources. Back to About

Match

Match compares your answers with the recorded votes of every House member and senator. You answer law by law on the Match page, or you take the Match quiz. Both use the same arithmetic.

One official’s match

Each law you answer has a weight. On the Match page the weight comes from the law’s topic: 1 when you mark the topic Important, 2 when you mark it Very important. A topic marked Not important leaves its laws out. A law in two chosen topics counts once, at the higher weight.

official’s match = weight of the laws where the official’s recorded vote is the same as your answer ÷ weight of the laws where the official cast a recorded Yes or No
  • A law counts only where a chamber has a recorded vote on the law itself. Today 61 of the 118 laws of the current Congress count: 60 with a House vote and 38 with a Senate vote.
  • A law passed by voice vote or without objection has no list of who voted how, so it is left out for that chamber. A House vote on the resolution that brought a law to the floor is not a vote on the law, and is left out too.
  • Present and Did not vote are left out of that official’s count.
  • An official with no recorded Yes or No on the laws you answered has no figure. A vacant seat has no figure. The President, the Vice President and the non-voting House members have no figure.
  • The figure is shown as a whole percent, rounded to the nearest whole number.

A county’s match

House figure = sum of (member’s match × share of the county’s people in that member’s district) ÷ sum of those sharescounty’s match = average of the House figure, the first senator’s match and the second senator’s match
  • The share of a county’s people in each House district comes from the Census Bureau’s 2020 counts for the districts of the 119th Congress.
  • A House member with no figure is left out, and the shares of the other members are added up again. A part with no figure is left out of the average, and the row says how many of the 3 parts it counts.
  • Counties with the same three officials have the same figure, so the ranked lists show them as one row. Rows with the same figure are ordered by state name, then district.
  • The law-by-law page lists the 25 highest rows and the 25 lowest. The quiz lists the 20 highest and the 20 lowest.
  • Your officials: with a saved ZIP code that lies in one House district, the figure is the average of your House member and your two senators, by the same rule. A ZIP code that touches more than one district shows each member and no single figure.

The Match quiz

The quiz asks 7 questions. Each choice counts as Yes on some laws and No on others, as a person mapped them. The laws a choice does not name are skipped. Each law belongs to one question only.

weight of a law = 2 when you check “This one matters a lot to me”, otherwise 1official’s match = the same formula as above
  • Every question has 3 to 5 choices, and one choice skips the question.
  • You can pick up to 3 topics that matter most. If you pick more than 3, none of them is used.
  • Most aligned officials: a member is ranked only with at least 10 of your counted votes in their chamber. The 5 highest and the 5 lowest are listed for each chamber. Ties go to the member with more votes compared, then by last name.
  • The President: the share of your counted answers that were Yes on the quiz’s laws, beside the number of those laws the President signed.
  • The Vice President: only votes cast to break a tie in the Senate on the quiz’s laws, each beside your answer.

A person checks first. The quiz appears only after a person approves its mapping of choices to laws. A mapping that breaks one of the rules above shows “Coming soon”.

Where your answers place you

Each choice of the quiz, except the one that skips a question, carries two positions. E is how much government the choice asks for in the economy. P is how much government it asks for in personal life and security. Each is one of −1, −0.5, 0, 0.5 or 1: a positive number asks for more government, a negative number for less.

e = average of E over the questions you answeredp = average of P over the questions you answeredx = (p − e) ÷ 2 (right of center is positive)y = −(e + p) ÷ 2 (above the center is positive)
  • The chart is a diamond: Liberal on the left, Conservative on the right, Libertarian at the top (less government overall) and Populist at the bottom (more government overall). Your dot sits at x and y.
  • Your label is the corner whose direction from the center is nearest: Liberal or Conservative when x is farther from 0 than y, Libertarian or Populist when y is farther. When x and y are equally far from 0, the label names both corners. When x and y are both 0.15 or closer to 0, the label is “Near the center”.
  • A skipped question does not count. “This one matters a lot to me” does not change the dot, and neither do the three topics of the last step. The dot never changes a match.
  • With no question answered, no chart is shown.
The two positions of each choice. A positive number asks for more government, a negative number for less.
ChoiceE, economyP, personal life and security
Energy and the outdoors
A Cancel all 19 rules: the appliance and vehicle rules, the pollution limits and the public land protections.−10
B Keep all 19 rules.+10
C Cancel the rules on appliances and on which new cars and trucks may be sold, but keep the pollution limits and the protections for public land.−0.50
D Open more federal land and water to drilling, mining and off-road driving, but keep the pollution limits.−0.50
Banks, apps and digital money
A Cancel the four rules and pass the stablecoin rules.−0.50
B Keep the four rules, and pass the stablecoin rules too.+10
C Keep the four rules, and say no to the stablecoin rules for now.+0.50
D Cancel the four rules, and say no to the stablecoin rules too.−10
The federal budget
A Yes to all of it. Make the 2017 tax cuts permanent, trim Medicaid and food aid and add work requirements, cancel $9 billion in foreign aid and public broadcasting money, and keep the government open.−0.50
B Keep the government open, but vote No on the big tax and spending law and No on taking back the $9 billion.+10
C Yes on the tax law and on taking back the $9 billion, No on funding bills that keep spending near last year’s levels.−10
Immigration and the border
A Detain people charged with these crimes, and add $69.5 billion for enforcement.+0.5+1
B Detain people charged with these crimes, but no $69.5 billion more for enforcement.0+0.5
C Neither: no new detention requirement and no added $69.5 billion.0−1
Fentanyl, addiction and prisons
A Permanent toughest penalties, renewed treatment programs, and the prison staff protections.0+1
B Renew the treatment programs and protect prison staff, but no permanent toughest penalties.+0.50
C Tough penalties and safe prisons, but no renewal of the federal addiction programs.−0.5+1
D No permanent toughest penalties, and no renewal of the federal addiction programs. Keep the prison staff protections.−1−1
The military and the world
A Pass the $900 billion defense law and the new sanctions and tariffs.+0.5+0.5
B Yes to the defense law, No to more sanctions and tariffs.+0.50
C Yes to the sanctions and tariffs, No to the defense law.0+0.5
D Vote No on both the defense law and the new sanctions and tariffs.−1−1
Secrecy, privacy and the internet
A Yes to both.0+0.5
B Release the Epstein files, but no new federal takedown rule for websites.0−1
C The takedown rule, but leave the Epstein files to the Justice Department.0+1
D No to both.0−0.5

The county map’s colors

Each county’s figure, rounded to a whole percent, sets its color on an even scale with one cut point, 50 percent.

0 percent: yellow, #f2c23050 percent: white, #ffffff100 percent: ledger green, #0f5c4dno figure: grey, #d5dcd8
  • From 0 to 50 percent the color moves evenly from yellow to white. From 50 to 100 percent it moves evenly from white to green. Each of the red, green and blue values is mixed in proportion and rounded to a whole number.
  • Under 50 percent reads as less aligned: the county’s officials vote the way you would less than half the time. Over 50 percent reads as more aligned.
  • A county with no figure is grey. So is a county in a state whose district lines are marked “Not checked yet”.

The Transparency Score

The Transparency Score is the share of a law’s dollars that goes to what the law says it is for.

Transparency Score = dollars in sections a person approved as within the stated intent ÷ total dollars in the law × 100total dollars = appropriated dollars + authorized dollarsratio = total dollars ÷ dollars within the stated intent
  • The score is shown as a percentage with one decimal place. Higher means more of the money goes to what the law says it is for.
  • The ratio is shown with two decimal places. 1.00 means every dollar is within the stated intent. When no dollar is within the stated intent, the ratio cannot be computed and the page says so.
  • Each section of the law is read as aligned, not aligned or unclear. Dollars in a section whose reading is unclear, was not read, or was removed by a person count in the total and on neither side. A section marked not aligned counts as outside the stated intent only after a person ticks it.
  • The dollar totals read “Not checked yet” when more than 10 percent of the dollars read could not be sorted by the rules: not-classified dollars ÷ (total dollars + not-classified dollars) above 0.10.
  • A law whose text provides and authorizes no dollar amount reads “No money in this law”. Its score is the share of its words in sections within the stated intent: (words read − words outside the stated intent − unclear words) ÷ words read.
  • When the rules find no appropriated or authorized amount but some amounts could not be sorted, the law is not marked as having no money until a person reads those amounts.

A person checks first. The score reads “Not checked yet” until a person approves the law’s reading of which sections are within the stated intent. An AI model drafts the reading of each section with a quote from it; the quote must match our saved copy word for word, and a person reviews each item. The dollar totals need no reading and are shown before that.

Measures shown beside the score

These figures are shown apart from the score. No single blended number is given, and a part that is not checked yet is never counted as zero.

dollars added along the way = dollars in sections marked “added later” ÷ total dollarsmember-requested share = sum of member-requested items ÷ appropriated dollars
  • Shares beside the score are shown with one decimal place, and with two decimal places under 1 percent.
  • The member-requested share is computed only when the printed lists belong to this one law. When they add up to more than the appropriated dollars our rules read, the page says the two totals do not cover the same accounts.
  • Open-ended amounts (“such sums as may be necessary”) are counted as items. Each names no amount and adds nothing to total dollars.
  • Other bills whose text this law contains: the number of bills Congress’s data service marks “Public law contains the text”.
  • How each chamber passed the law, and whether a committee report and a hearing are saved, are shown as facts beside the score.

How we read dollar amounts in a law

We read every dollar amount in our saved copy of a law’s text and sort each one by the words printed around it. The rules are the same for every law. No AI is used, and no amount is estimated.

total dollars = appropriated dollars + authorized dollarsa yearly amount = the yearly figure × the number of fiscal years the text namesrescinded = shown apart, never subtracted from the total
  • Every amount is read: “$1,234,567”, “$5 billion”, “$2.5 million”. Margin notes, page marks and the table of contents are left out.
  • Appropriated: the sentence says “there is appropriated”, “is hereby appropriated” or “out of any money in the Treasury not otherwise appropriated”; or the amount is the one an appropriations paragraph (“For …, $X”) provides under an account heading of an appropriations act.
  • Authorized: the sentence says “authorized to be appropriated”. An authorization lets a later law provide the money. It provides none itself.
  • Lists: under a sentence that appropriates or authorizes (“the following: (1) …; (2) …”), an amount that begins an item counts the same way as the sentence, unless the sentence gives a total first. Then the items are parts of that total.
  • Years: “$X for each of fiscal years 2026 through 2030” counts as X times 5. “For each fiscal year” with no years named counts once, and the page says so.
  • Open-ended: “such sums as may be necessary” names no amount. It counts as an item and adds no dollars.
  • Rescinded: “is hereby rescinded”, “permanently cancelled”, or an item of a list headed “the following funds are hereby rescinded”. Shown apart.
  • Limits left out: an amount after “not to exceed”, “not more than”, “up to”, “less than”, “in excess of” and like words; a fine or penalty; and a limit the law raises (“is increased by $X”). None of these is spending.
  • Parts counted once: an amount after “of which”, after “Provided, That”, or after “of the amounts made available” is a part of a total already counted. Where a paragraph ends “in all, $X”, that total counts and the amounts before it are its parts.
  • Written into other laws: a figure the law strikes from another law, and a figure inside words it writes into another law (“striking $X and inserting $Y”), are left out unless the same sentence says the figure is authorized or appropriated.
  • Not classified: an amount the rules cannot sort is listed with its words and left out of every total.

Added along the way

We compare each section of the final law with the first published text of the bill, word for word. No AI is used.

run = 5 words in a row (letters and digits, in lower case)found = runs of the section that appear anywhere in the first text ÷ runs of the sectionshare of sections added later = sections marked “added later” ÷ sections comparedshare of words added later = words in those sections ÷ words in the sections compared
  • found of 90 percent or more: in the first text.
  • found from 20 percent up to 90 percent: changed.
  • found under 20 percent: added later.
  • A section with fewer than 20 words is not compared and is left out of every count. A table of contents is never compared.
  • Margin notes and page marks are left out of both texts.
  • When under 20 percent of the first text’s runs are in the final law, the first text was replaced, and the page says nearly every section reads as added later.
  • The shares are shown as whole percents.

Sections outside the stated intent

share outside = sections a person approved as outside the stated intent ÷ sections read

The same share is given in words.

A person checks first. This share appears only after a person reviews the reading of the law.

Member-requested spending

The lists come from the explanatory statement printed in the Congressional Record, under the heading “Disclosure of earmarks and congressionally directed spending items”.

member-requested dollars = sum of the amounts of the items read
  • An item is read only when its amount is a whole number of dollars and at least one requesting member is printed. Any other item is counted as not read.
  • A list the Record printed twice is counted once, from the later printing. Two tables are the same list when they come from two saved documents, carry the same heading, their division letters agree, and at least half of the items of the smaller table are found in the other.
  • An item is the same in both printings when the recipient, the project, the amount and the requesting members are the same. Recipient and project are compared by their letters and digits alone.
  • A member’s own list counts each item in full for every member printed as requesting it.
  • A statement that covers more than one law, and does not say which items belong to which, is shown under each of those laws and counted once in any total across laws.

Called a compromise in the official record

A sentence of the Congressional Record, printed on or before the day the bill became law, is listed when it contains one of these phrases: “compromise”, “in exchange for”, “to secure the votes”, “to win the votes”, “as part of a deal”, “as part of an agreement”; and one of these words: provision, section, amendment, language, title, added, included, inserted, removed, dropped.

A person checks first. A person reads each sentence before it is shown. Nothing is inferred about anyone’s reasons.

Promises kept

A campaign promise is one sentence, quoted word for word from a saved page of the member’s campaign website. We use a campaign website only when the Federal Election Commission’s record of the member’s principal campaign committee gives its address.

  • A sentence is a candidate when it carries one of these forms: “I will”, “I’ll”, “we will”, “we’ll”, “my plan is to”, “I pledge”, “I promise to”, “I am committed to”, “I’m committed to”, or the member’s name followed by “will”.
  • A question is left out. A sentence shorter than 25 characters or longer than 600 is left out.
  • A person marks each candidate as a promise or discards it. Only a sentence a person marks counts as a promise.
promises kept = (kept + ½ × partly kept) ÷ (kept + broken + partly kept) × 100without the half rule = kept ÷ (kept + broken + partly kept) × 100
  • A person gives each promise one of five calls: kept, broken, partly kept, and two calls that stay out of the division, pending or cannot be judged. Those two are counted beside the figure.
  • A call of kept, broken or partly kept needs evidence from the record attached, and the reason names it.
  • The figure is shown with one decimal place, and only when a person has reviewed at least 5 promises.
  • When every reviewed promise is pending or cannot be judged, the page says “no figure”.

A person checks first. Every call is a person’s. An AI model may suggest sentences and calls for a person to read; nothing it writes is shown.

Time to read before the House vote

For the House only: the time between the moment the House Clerk posted the text for a floor vote and the moment the House voted on it.

time to read = moment of the House vote − moment the last file of the floor item became public
  • Posted: the House Clerk’s weekly list of bills to be considered. A file is public from the first time the list was published at or after the moment the file was added.
  • A floor item lists the bill text and can list papers that go with it. The list does not say which file is which, so the count runs from the last file made public before the vote. The count is never longer than the real time to read, and the moment the item was first listed is shown beside it.
  • Voted: the time of the House floor action in Congress’s data service. When the House voted on the bill more than once, the last vote counts.
  • Both moments are Eastern time. Each is checked against a second stamp in another time zone; a gap of a whole number of hours means the zone is not confirmed, and the figure reads “Not checked yet”.
  • The result is counted in whole minutes, rounded down, and shown in hours and minutes. At 48 hours or more the page also gives days and hours.
  • Pages: the page count GovInfo gives for the text the House voted on.
  • Two floor items that fit, an item taken off the list, or a text made public only after the vote: the figure reads “Not checked yet”.
  • The Senate publishes no time stamp for posted text, so no time to read is given for the Senate.

The 2025 tax estimate

On the page of a law that changes the 2025 standard deduction, you can estimate 2025 federal income tax with and without the law. Your browser does the arithmetic. Nothing you type is saved.

taxable income = income before the standard deduction − the standard deduction (never below 0)income tax = the bracket’s base amount + the bracket’s rate × (taxable income − the bracket’s lower edge)difference = income tax under the law − income tax without it
  • The bracket is the highest row of the 2025 rate table whose lower edge is below the taxable income. The tax is rounded to the cent.
  • The four filing statuses, the rate tables and both standard deductions are read from the Internal Revenue Service’s Revenue Procedures 2024-40 and 2025-32. The estimate appears only when the deduction amounts there match the amounts printed in our saved copy of the law.
  • Income must be a dollar amount from 0 to 100,000,000.
  • Left out: the added deduction for people 65 and older or blind and the law’s new deduction for seniors; the new deductions for tips, overtime pay and car loan interest; the child tax credit and every other credit; itemized deductions; capital gains and qualified dividends; the alternative minimum tax, payroll taxes and State taxes; every change that starts in tax year 2026 or later.
  • For taxable income under $100,000 the IRS tax table works in $50 steps, so the tax on a return can differ from this estimate by a few dollars.

My Tax Receipt

My Tax Receipt splits the federal taxes you paid across federal spending for one fiscal year. Your browser does the arithmetic. Nothing you type leaves it.

your share of a line = your taxes × the line’s outlays ÷ total federal outlays for the yearpart paid by borrowing = your taxes × (outlays − receipts) ÷ outlays, shown as its own line
  • Rounding: each part is rounded down to the cent, and the cents left over go one at a time to the parts with the largest remainders. The parts add up to your taxes exactly.
  • Agencies are the first-level lines of Treasury’s Monthly Treasury Statement, Table 5, and programs are the lines one level below. A list that does not add up to Treasury’s totals to the cent is not shown.
  • Fixed and open shares come from the Office of Management and Budget’s Historical Table 8.1: “Mandatory and Net Interest” is the fixed share and “Discretionary” the open share. A year the table marks as an estimate is not used, and neither is a year whose parts do not add up to its totals within 0.3 billion dollars.

When you start from your gross income, the page estimates your two taxes. You can correct both.

income tax = the rate table for your filing status on (gross income − standard deduction)Social Security tax = (the smaller of gross income and the wage base) × the Social Security rateMedicare tax = gross income × the Medicare rateAdditional Medicare Tax = (the larger of 0 and (gross income − your filing status’s threshold)) × the additional rateyour taxes = income tax + the three payroll taxes
  • The rates, the wage base and the thresholds are read from the Internal Revenue Service’s Topics 751 and 560 and the Social Security Administration’s yearly notice in the Federal Register. Each tax is rounded to the cent.
  • The estimate treats all income as one person’s wages and takes no other deduction or credit.

Stock trade totals

Each row is one line of a Periodic Transaction Report a House member filed with the Clerk of the House. No AI is used.

amount ranges added up = from (sum of the low ends) to (sum of the high ends)days to filing = the Clerk’s filing date − the trade date printed on the reportfiled after 45 days = rows with days to filing above 45
  • A row is counted when every needed field was read and the report marks it New. A row a later report marks Amended repeats an earlier row: it is listed and left out of the counts.
  • The form prints each amount as a range. The low ends are added up and the high ends are added up, and both are shown. A row with no upper limit printed adds its low end and is counted apart.
  • Rows filed more than 30 days after the notification date printed on the report are counted apart.
  • Days to filing are shown as the least, the middle and the most. For an even number of rows the middle is the lower of the two middle values.
  • Most traded assets: the 10 assets with the most counted rows, by ticker or, with no ticker, by the asset’s name.
  • The lists on the trades page show up to 50 members each, by counted trades, by rows filed after 45 days, and by reports filed on paper. Ties go by name. While some reports are not read yet, the page says “rows read so far” and ranks no one.
  • A report belongs to a member when its state and district are the member’s seat, its last name is the member’s, letter for letter, a word of its first name matches a word of the member’s name (or one begins with the other), and it was filed on or after the day the member took the seat. Without the first-name match, a person decides.
  • Votes near a trade: each recorded vote of the member on a law within 30 days before or after a reported trade date. The list is made by the calendar alone.
  • Senators, the President and the Vice President have no rows yet. Our sources say why.

Scores in development: Alignment, Transparency, Integrity

Not shown on any page yet.

These three scores are a design. Each official will have an Alignment score, a Transparency score and an Integrity score, each tied to the member number Congress gives the official (the Bioguide ID).

One method for all three

Each score blends several streams of evidence. Each stream has a design weight. The weight is scaled by how complete the stream’s data is and how fresh it is, and the weights are divided again over the streams that have data.

effective weight = design weight × completeness × freshnessscore = 100 × sum of (effective weight × stream value) ÷ sum of effective weightsfreshness = 1 within the stream’s window W; 2 − age ÷ W after it; the stream drops out at twice the windowconfidence = sum of effective weights ÷ sum of all design weightsmargin = ± the smaller of (5 ÷ √confidence) and 30 pointsrange = from (confidence × score) to (confidence × score + 100 × (1 − confidence))ranking value = confidence × score + (1 − confidence) × the chamber’s median
  • Confidence is the share of the full design actually observed.
  • The score is withheld when no stream has data or confidence is below 0.05. No default value is put in its place.
  • Rankings and chamber averages use the ranking value. The page shows the score with its margin and its range.

Alignment

How often an official’s record and stated intent match the positions taxpayers give.

Alignment = blend of the record (design weight 0.7) and stated intent (design weight 0.3)disagreement on one item = ½ × (1 − taxpayer’s position × official’s signal)
  • A position runs from −1 to 1; a vote is −1, 0 or 1. Present, or a missed vote the record confirms, counts as ½. A vote whose record is missing is skipped.
  • Each stream is rescaled between the best and the worst record possible on the same items. A taxpayer who is neutral on every item gets no figure.
  • Each vote weighs by the logarithm of its bill’s ten-year budget effect, and procedural votes weigh less. Without dollar figures every vote weighs the same, and the page says so.
  • The record counts once an official has at least 10 comparable recorded votes. Stated intent counts at 3 topics that carry both a stance and a position. Its statements weigh press 0.25, social media 0.25, paid ads 0.50.

Transparency

How fully and how promptly an official discloses. Six parts, each session of Congress scored on its own.

financial disclosure: 0.30office budget detail: 0.15earmark and lobbyist clarity: 0.15proactive openness: 0.15reachability: 0.10paid-ad disclosure: 0.15credit for a late filing = e^(−ln 2 × days late ÷ 30), half credit at 30 days lateTransparency = sessions averaged with weight 0.8 for each session further back
  • For a stock trade report the due date is the earlier of 45 days after the trade and 30 days after notice.
  • Paid-ad disclosure compares the official’s own ad-library spending with the digital ad spending reported to the FEC, for comparable periods only. Spending under the FEC figure by up to 10 percent counts as disclosed.
  • A session with no data drops out of the score and still counts against confidence.

Integrity

The gap between what an official says and how the official votes, and the overlap between money that reaches the official and money the official helps send out.

Integrity = 100 × blend of (1 − say-versus-do gap) and (1 − conflict penalty), each with design weight 0.5conflict penalty = blend of a money penalty (0.6) and a stock trade penalty (0.4)money penalty = 1 − e^(−20 × sum over each donor family of [committee factor × (1 − mitigation) × (donations + lobbying) ÷ receipts × (1 − e^(−(earmarks + awards) ÷ $10 million))])trade penalty = value of flagged trades, each decayed by e^(−days from the committee action ÷ 60), ÷ value of all trades
  • Say versus do compares statements with votes in six cells: press, social media and paid ads, each before and after the vote. A cell counts at 3 bills. Statements weigh press 0.25, social media 0.25, paid ads 0.50.
  • The committee factor is 1 for the official’s own committees, 0.5 for related committees and 0.25 otherwise. Mitigation is a recusal or a divestment.
  • When under half of the donors can be matched to an organization, the money penalty is left out as missing evidence.
  • Each flag behind the penalty is published with its dates and amounts as an overlap in money and time. It makes no claim about cause.
Suggest a tool

Suggest a tool

A person reads each idea before it appears. Links are not accepted. Do not include personal information.

See all ideas and vote