Our Methodology
Full transparency on how we score politicians. Every number on this site is traceable to a public data source.
๐ Data Sources
Every data point on this site comes from official, public sources:
Congress.gov API
Congress.govOfficial voting records, bill text, roll call votes, and member information. Maintained by the Library of Congress.
Federal Election Commission (OpenFEC)
OpenFECCampaign finance data including donor contributions, PAC funding, and expenditure reports.
OnTheIssues.org
OnTheIssuesNon-partisan compilation of politicians' stated positions from speeches, interviews, campaign materials, and debate transcripts.
๐ฏ Alignment Score
The alignment score measures how often a politician's votes match their publicly stated positions. It's not a measure of whether we agree with them โ it's a measure of whether they agree with themselves.
How It Works
- Gather stated positions: We collect public statements from campaign materials, interviews, and voting guides (primarily via OnTheIssues.org).
- Map to votes: For each position, we identify related congressional votes using bill categorization and keyword matching.
- Compare: Did their vote align with what they said? Each mapped vote-to-position pair is scored as aligned or misaligned.
- Weight by recency: Recent votes (last 30 days) get full weight. Older votes decay to a minimum of 50% weight after 2 years.
- Calculate: Final score = weighted aligned votes รท total weighted votes ร 100.
Weighted Factors
| Factor | Weight | Description |
|---|---|---|
| Position-to-Vote Alignment | 50% | Core metric: do votes match stated positions? |
| Voting Consistency | 20% | Consistency within policy categories over time |
| Campaign Finance Independence | 15% | Higher small-donor % = higher score |
| Bipartisan Cooperation | 15% | Moderate cross-party voting suggests independence |
Core metric: do votes match stated positions?
Consistency within policy categories over time
Higher small-donor % = higher score
Moderate cross-party voting suggests independence
๐ Confidence Levels
Not all scores are equally reliable. We show confidence levels so you know when to trust a number:
๐ Plain English Bill Summaries
Legislative titles are intentionally confusing. Bills like "A joint resolution providing for congressional disapproval under chapter 8 of title 5, United States Code, of the rule submitted by the EPA..." are impossible for normal people to understand.
Our Solution
We translate every bill into plain English. Instead of the legal jargon above, you'll see: "Voted to block EPA environmental regulations."
Guidelines
- Short: One sentence, under 20 words
- Neutral: Factual description without partisan spin
- Actionable: Focuses on what the bill actually does, not political theater
- Transparent: Legislative title is always available as expandable detail
Example Translations
Legislative Title
"H.R. 1234: An Act to amend the Internal Revenue Code of 1986 to provide for tax-preferred savings accounts for education expenses..."
Plain English
"Created tax-free education savings accounts"
Legislative Title
"S. 567: A bill to provide for reconciliation pursuant to titles II and V of the concurrent resolution on the budget for fiscal year 2026..."
Plain English
"Raised the debt ceiling through 2026"
โ ๏ธ Known Limitations
- Position data gaps: Not all politicians have comprehensive position records. Newer members may have fewer data points.
- Vote categorization: Mapping votes to policy positions involves judgment calls. Bills often span multiple categories.
- Nuance: A "Nay" vote on a bill doesn't always mean opposition to the bill's goal โ it may reflect disagreement with specific provisions or amendments.
- Missing context: We can't capture behind-the-scenes negotiations, strategic votes, or party-whip dynamics.
- Data freshness: There may be a 24-48 hour delay between votes and our data update.
๐ Scoring Changelog
Added plain English bill summaries for all votes. Added "How is this scored?" tooltips and color legend to all alignment scores. Enhanced misalignment descriptions with plain English explanations.
Added confidence scoring, data source badges, and this methodology page. Introduced weighted factor breakdown on individual rep pages.
Added time-decay weighting for votes. Recent votes now count more heavily. Added campaign finance independence factor.
Initial scoring: simple position-to-vote alignment percentage.
Disagree? Help Us Improve.
Our methodology is open source. If you spot an error, have a suggestion, or want to contribute, we'd love to hear from you.