The short version
Promise Score measures kept promises out of resolved promises. Ethics Score comes from structured public integrity data. The graphs and leaderboards reuse those same fields; they do not create separate hidden ratings.
Promise Score
The promise score is calculated from each politician's tracked promises, votes, and actions:
Kept means the public record shows the politician acted in line with the promise or stated position. Broken means the record contradicts it. In progress means it is still unresolved, so it does not count for or against the percentage yet.
Example: if a politician has 12 kept promises, 8 broken promises, and 5 still in progress, the score is 12 / (12 + 8) = 60.
Integrity Index: Grade & Methodology
Our grades. Members of Congress are graded based on a combination of their fundraising breakdown and personal finances. PoliTruth imports this Integrity Index score and letter grade, then shows the supporting signals behind it. Profiles without a valid public score are marked as unavailable instead of being forced into a ranking.
Every member starts at a base score of 75. From there the score adds and subtracts components for donor mix, PAC money, stock holdings and trades, earmarks, PAC reliance, ethical choices, and pledges. The final result is floored at 0 with no upper cap.
Press for full calculation method
The formula
Final Score = base_score + components, floored at 0 (no upper cap)
components = donor + pac + stock + trade + earmark + pac_reliance + ethical + pledges
Donor Score = Σ (bracket_% × bracket_weight), clamped to [floor, cap]
PAC Penalty = −Σ (pac_$ × type_weight), floored at max_penalty
Stock Penalty = −max_penalty × Hill(avg_value)
Trade Penalty = −max_count × Hill(count) − max_value × Hill(value)
Earmark Penalty = −earmark_$ × per_$_weight [excl. ActBlue/WinRed earmarks]
PAC Reliance = −max_penalty × Hill(pac_%)
Ethical Bonus = +points if no_corp_pac / no_stocks
Pledge/Bill Bonus = per category: pledge → pledge_pts, bill only → bill_pts, neither → 0
Variables included
- Stocks held
- Number of stocks traded
- Value of stocks traded
- Percentage of funds from PACs
- Amount of funds from PACs by type (Corporate, Lobbyist, Trade, Political, Ideological, Union/Labor, Other/Unclassified)
- Percentage of funds from individuals by size
- Small = <$200
- Medium = $200–$499
- Large = $500–$999
- XLarge = $1,000–$1,999
- XXLarge = $2,000–MAX
- Funds from earmarked donations
Weights
PAC score penalty per dollar
| Corporate | 0.00001875 |
| Lobbyist | 0.0000075 |
| Trade | 0.000003 |
| Political | 0.0000015 |
| Ideological | 0.0000015 |
| Union/Labor | 7.5e-7 |
| Other/Unclassified | 7.5e-7 |
| Corporate | 0.0000125 |
| Lobbyist | 0.000005 |
| Trade | 0.000001 |
| Political | 5e-7 |
| Ideological | 5e-7 |
| Union/Other | 2.5e-7 |
Individual donation weight
| Small | 20 |
| Medium | 14 |
| Large | 7 |
| XLarge | 3 |
| XXLarge | 2 |
| Self | 1 |
| Joint Fundraising | 1 |
| Small | 16 |
| Medium | 12 |
| Large | 6 |
| XLarge | 3 |
| XXLarge | 2 |
| Self | 1 |
| Joint Fundraising | 1 |
| Earmark score penalty per dollar | 0.0000075 |
| Base score | 75 |
| PAC reliance max penalty | 10 |
Curves
| Max penalty | −20 |
| Hill exponent | 0.745 |
| Hill midpoint | 400,000 |
| Max count penalty | 20 |
| Trade count Hill exponent | 0.745 |
| Trade count Hill midpoint | 50 |
| Max trade value penalty | 0.00001 |
| Trade value Hill exponent | 0.745 |
| Trade value Hill midpoint | 8,000 |
Bonuses
- 2 points for abstaining from taking corporate PAC funds
- 1 point for pledging not to take corporate PAC funds
- 1 point for abstaining from holding individual stocks
- 1 point for cosponsoring legislation to "ban lobbying for former members" (1 point for taking the pledge)
- 1 point for cosponsoring a Congressional stock trading ban (1 point for taking the pledge)
- 1 point for cosponsoring legislation to overturn Citizens United (1 point for taking the pledge)
Notes
- If someone purposefully sells off all of their stock or places it in a qualified blind trust, we remove their stock penalties.
- All earmarked funds are penalized equally, including AIPAC, JStreet, Club for Growth, Emily's List, and many others.
Funding Metrics
Funding snapshots come from public campaign-finance and disclosure data. The site tracks individual donor share, PAC donor share, corporate PAC money, self-funding, cash on hand, stock holdings, and net assets when those fields are available.
Money-heavy graph axes use a log scale so one very large portfolio or PAC total does not flatten everyone else into the corner.
Leaderboards
Promise Keepers are sorted by promise score, then kept count, resolved count, fewer broken promises, and name. Worst Promise Scores reverse the score direction and prioritize more broken promises. Ethics Scores sort by ethics score, pledge count, lower corporate PAC money, and name.
Graphs
Every purple dot is a politician. Hover shows the profile, click opens it, and filtering recalculates the visible trend line. The starting chart uses stock holdings versus ethics score because the current data shows a clearer relationship than promise score versus ethics score.
The correlation label is Pearson's r for the dots currently visible on the graph. It updates when you filter by party or change axes.
Important note
PoliTruth is a neutral starting point, not a final verdict. We use public records and consistent formulas, but you should verify important claims with primary sources whenever possible.