Methodology & Sources
How every figure in this section is computed, and what is deliberately excluded.
By Dallas AI Metrics, LLC · Analysis as of 2026-08-04 · Computed from 440 roll calls across 526 members · Methodology
Every figure in this section is computed from a vote corpus we assemble ourselves from primary sources. This page documents how, and what is deliberately left out. If a number elsewhere in the section seems surprising, the explanation is probably here.
Sources
- api.congress.gov — member rosters, sponsored and cosponsored legislation, bill status and actions, committee assignments, and terms of service.
- senate.gov roll-call XML — per-senator positions on every recorded Senate vote.
- clerk.house.gov roll-call XML — per-member positions on every recorded House vote.
- Congressional Research Service summaries, delivered through the Congress API, for bill subject classification.
All are official government sources. We do not use commercial vote-scoring products, advocacy scorecards, or third-party ratings, and no figure here is derived from anyone else's index.
The corpus
For each chamber we retain the complete position matrix for every roll call we fetch: every member, every vote, including absences. This is deliberately more data than the site displays on individual politician pages, where only a recent sample is shown to keep pages fast.
Analysis runs against the full matrix. The two are rebuilt from the same source in the same pass, so they never disagree, but they are not the same file and the display sample should not be used to reproduce these figures.
Normalising positions
The House uses two vocabularies. "Yea" and "Nay" are recorded on most questions; "Aye" and "No" appear when the chamber sits as the Committee of the Whole, which covers most amendment consideration. The pairs are equivalent, and any analysis treating them as distinct will mishandle a large share of amendment votes.
We map "Yea" and "Aye" to yes, "Nay" and "No" to no. "Present" is a deliberate abstention and is treated as neither. "Not Voting" is an absence: it is counted in participation figures and never as a vote against a member's party.
Party unity
For each roll call we determine each party's majority position among rankable members, then count how often an individual voted against their own party's majority. The denominator is the number of votes where the member cast a yes or no and their party registered a majority position — not the total number of roll calls.
The benchmark is the observed behaviour of a member's co-partisans on that specific question. It is not a party platform, a leadership position, or a whip count, none of which are systematically available.
Exclusions
| Rule | What it means |
|---|---|
| Non-voting delegates | The 6 delegates from DC, American Samoa, Guam, the Northern Mariana Islands, Puerto Rico and the U.S. Virgin Islands are excluded from every ranking. They cannot vote on final passage. |
| Independents | Excluded from party-unity rankings. Only three sit in Congress, so an "own-party majority" would be one or two members agreeing with themselves. |
| Minimum sample | A member must have at least 20 party-comparable votes to be ranked. |
| Single-member cohorts | A state delegation with one member of a given party is dropped from cohesion, where the measure is undefined. |
| Absences | A "Not Voting" record is counted as an absence and never as a vote against the party. |
| Vacant seats | Vacant districts are absent from the roster and are never backfilled. |
Two of these deserve expansion.
Non-voting delegates. The six delegates cannot vote on final passage. Their records therefore show absences by operation of the rules of their office, not by any choice. Including them in participation rankings produces figures approaching one hundred percent "missed" for members who were present and working — a false statement about a real person. They are excluded from every ranking in this section.
Independents. Three members of Congress are Independents. Party unity is measured against a member's own-party majority, and for a group that small the "majority" is frequently one or two members agreeing with themselves. Rather than publish a number that cannot mean what it appears to mean, we exclude Independents from party-unity and cohesion rankings. They remain in the underlying corpus and in all non-party analysis.
Vacancies and party changes
Vacant seats are absent from the roster and are never filled with a placeholder. A district with no sitting member simply does not appear.
Members who change party during a Congress are recorded under their current affiliation. Party history is retained in the underlying data but is not currently used to weight or split their record, which means a member who switched mid-period is measured against their current party for the whole period. This is a known simplification.
Refresh and stability
The corpus is rebuilt when the underlying sources are refreshed. Figures change between rebuilds: new votes are added, bill statuses advance, and CRS classifications arrive for bills that previously had none.
Every page carries the date its figures were computed. A number quoted from this section should be cited with that date, because the same page will show a different number later — by design.
What we do not claim
These are descriptive statistics. Nothing here is causal. A correlation between two measures in this section is not evidence that one produces the other, and we have deliberately avoided constructing composite scores, effectiveness ratings, or ideology placements from this data, because each would require methodological choices that embed a political judgment.
Where a measure is weak, the page reporting it says so. Where a comparison is confounded, the page says that too.
Corrections
If a figure here is wrong, we want to know. Contact details are on the about the data page. Errors traced to our processing are corrected on the next rebuild; errors in an upstream government source are reported upstream, and we note the discrepancy where we can.