Methodology
This site publishes the recorded legislative record and grades one measure — attendance — against fixed thresholds the site's owner approved (see Grades, below). Every figure traces to an official source, and every grade applies the same published cutoffs to every member of both chambers; nothing is written, summarized, or characterized by an automated process. Each metric below states its exact formula, what it includes and excludes, and its source — the same text that documents the code that computes it.
Grades
The site grades one measure so far — attendance — with more to come. A grade is a fixed judgment against lines the site's owner approved, applied identically to every member of both chambers; a member's grade never changes because of what other members do. The overall grade that would combine categories is not published yet — it awaits its formula.
Attendance
Members with fewer than 50 eligible roll calls are not graded off a thin record. Non-voting delegates are not graded on attendance either: they cannot vote on final passage, so their eligible set (about a third of roll calls) is not comparable to a full member's. Ratified 2026-08-13.
Set aside (11)
- Aisha Wahab Too little service
- Aumua Amata Coleman Radewagen Non-voting delegate
- Ben Sasse No eligible record
- Eleanor Holmes Norton Non-voting delegate
- Everton Blair Jr. Too little service
- Gregorio Kilili Camacho Sablan Non-voting delegate
- James C. Moylan Non-voting delegate
- Jenniffer González-Colón Non-voting delegate
- Kimberlyn King-Hinds Non-voting delegate
- Pablo José Hernández Non-voting delegate
- Stacey E. Plaskett Non-voting delegate
Metrics
Missed-vote context
For each roll the member missed (Not Voting), the member's own participation on the same calendar day: how many recorded position rolls occurred in their chamber that day (`same_day_total`) and how many of those the member cast (`same_day_cast`). This reports the VOTE RECORD ONLY — it does not infer whether the member was physically present or absent; a member may miss a roll while in the building, and the site never claims otherwise. Source: data/votes.
Attendance
Share of eligible roll calls on which the member recorded any position.
Formula: cast / eligible, as a percentage. `eligible` = every roll call the member was present-and-covered for (their chamber and Congress), excluding Speaker-election / candidate-surname rolls, which carry no yea/nay position. `cast` = votes of Yea, Nay, or Present. `missed` = Not Voting. A member has exactly one recorded position per eligible roll (coverage is verified), so the denominator is unambiguous. pct is null when the member has no eligible rolls (a member newly seated before their first vote) — never a fabricated 0%. Source: the roll-call record (data/votes).
Cosponsored bills enacted
Of the bills the member cosponsored in the covered Congresses, the share that became law under their own bill number (official latest action "Became Public Law").
This is a WEAK signal about the member: a cosponsor is one of many names on a bill and does not control whether it advances, so this rate reflects the fate of the bills a member lent their name to far more than the member's own influence — and, like the sponsored enacted rate, it understates influence because text folded into another vehicle is not attributed here. pct is null when the member cosponsored nothing. Source: data/legislation.
Cosponsor-to-vote gap
A factual list — never a score — of two adjacencies between a member's cosponsorships and their floor record, each linking to the underlying record:
* cosponsored_and_voted_nay — the member was a cosponsor of a bill and voted Nay on its passage. (The data establishes cosponsorship and a Nay passage vote; it does not establish which came first, so no sequence is claimed.) * cosponsored_no_floor_action — the member cosponsored a bill in a Congress that HAS ENDED, and that bill never received any recorded floor vote. Bills from the ongoing Congress are never listed (a bill cosponsored in the first session routinely gets its vote in the second, so listing mid-Congress would be a false "went nowhere").
Read this list with its base rate: MOST introduced bills never receive a floor vote in any Congress, and floor scheduling is controlled by chamber leadership, not by a bill's cosponsors. This list is therefore expected to contain most of any member's cosponsorships; it is provided for inspection, not as an indicator about the member, and must always be shown against its denominator (of N bills cosponsored), never as a bare count or a headline; no conclusion is drawn from the adjacency. Source: data/legislation (cosponsorships) + data/votes (rolls).
Bills cosponsored
Count of bills and resolutions the member cosponsored (added their name to, and had not withdrawn) in the covered Congresses. Floor amendments are not counted. Source: the member's cosponsored-legislation record (data/legislation).
Cross-aisle support
Of the final-passage bills sponsored by the OTHER major party that the member voted on, the share they voted Yea.
"Final passage" is the passage and veto-override rolls (a Yea on a veto override enacts the bill over the President's veto — the same direction as a passage Yea); amendments, nominations, and procedural motions are excluded, as are rolls with no bill. "The other party" is the major party opposite the member's own party on the roll's date; the bill's party is its sponsor's party on that same date (data/bills carries no introduced date, so the roll date is the one consistent reference). `opposing_considered` counts the opposing-party final-passage bills the member cast Yea or Nay on (Present/Not Voting are not a position on the bill); `opposing_yea` counts the Yeas among them; pct = 100 * opposing_yea / opposing_considered, null when opposing_considered == 0 — never a fabricated 0. A member with no major-party affiliation (independent) has no single opposing party, so nothing is counted and pct is null.
This measures support for the other side's bills WHEN THEY REACH THE FLOOR — it is NOT a complete bipartisanship score and must never be labelled one. The majority party controls which bills get a final-passage vote, so the pool of "opposing-party bills" differs by party (and tends, for the minority, to be the less-contested measures leadership allows up); read it as a floor-vote fact, with the denominator always shown, not a character verdict. Source: data/votes (positions) + data/bills (each bill's sponsor) + the roster (each sponsor's party). A voted-on bill absent from data/bills raises rather than silently shrinking the denominator (mirrors the orphan-vote guard in _load).
Enacted rate
Of the bills the member sponsored in the covered Congresses, the share that became law UNDER THEIR OWN BILL NUMBER (official latest action "Became Public Law"). This understates a member's legislative influence: much enacted text moves by being folded into another vehicle (an omnibus, an appropriations act, the NDAA), which this figure cannot and does not attribute. pct is null when the member sponsored nothing. Source: data/legislation.
Named-measure mismatch
A factual list — never a score, adjacency language only — of cases where a member made a SPECIFIC public statement about a named measure and their own recorded passage vote on that measure took the opposite side.
A statement qualifies only when the owner has curated it to specificity level 2 or 3, assigned a stance (support or oppose), AND named a measure that resolves to a bill id (the D9 pairing rule; see paired_bill_ids). support means the member's expected passage vote is Yea, oppose means Nay. For every passage-class roll the member cast Yea or Nay on that bill, an entry is emitted when the recorded position is the OPPOSITE of the stated one.
Deliberately excluded (never guessed at): statements with no owner-assigned stance (stated_position is null), measures that do not resolve to a bill id, and every non-passage vote class (a Nay on a procedural motion is not a vote against the bill). Each entry carries the statement, the roll call, and both dates so a reader can check the record directly; NO sequence or motive is claimed — the statement and the vote are simply placed adjacent, with no conclusion drawn. A statement whose archived source no longer resolves is unpublishable and is excluded here too, so this list never cites a statement the site itself withholds. This is empty until qualifying statements are curated (content = H8). Source: data/statements (stance + pairing) + data/votes (passage positions).
Yea / Nay share
Of the positions the member actually cast (Yea, Nay, or Present — Not Voting is absence, and the attendance metric owns it), the share that were Yea and the share that were Nay.
This is NOT an approval measure and must never be labelled as one: it depends entirely on what the chamber was asked to vote on — a chamber that spends a session on measures a member's side favours produces a high Yea share for reasons that have nothing to do with the member. yea_pct = yea / cast, nay_pct = nay / cast, where cast = Yea + Nay + Present across every eligible roll. Both pct fields are null when the member cast nothing. Source: the recorded positions (data/votes).
Bills sponsored
Count of bills and resolutions the member sponsored (was the primary sponsor of) in the covered Congresses. Floor amendments are not counted (they are not bills). Source: the member's sponsored-legislation record (data/legislation).
Bills and floor votes
The dashboard headline — 97% of the bills members introduced never got a floor vote — counts every distinct bill sponsored by a covered member across the 118–119th Congresses: 38,569 bills in all. A bill is counted as having reached a floor vote only if it appears in our roll-call data as the subject of a recorded vote; 1,038 did, so 37,531 did not. Most of those never left committee. The count spans every measure a member can sponsor — House and Senate bills and joint, concurrent, and simple resolutions; limiting it to the bills that can actually become law (House and Senate bills and joint resolutions) leaves the share essentially unchanged.
“Floor vote” here means a recorded roll-call vote, and that precision matters: a bill can still pass the floor by voice vote or unanimous consent, which leave no roll call. That is not a rare edge case — of the 384 of these bills that became law, 237 did so without ever appearing in our roll-call data. So the figure describes recorded floor votes, not whether a bill received any consideration at all.
This is a plain count of the public record — no threshold, no grade, and no member is singled out. It is derived from the committed dataset, and a continuous-integration check re-derives it from that data on every change; a number that could not be reproduced from the published data would not appear here.
Rankings & percentiles
Members are ranked within their own chamber — the House and the Senate are ranked separately, because their vote counts and calendars differ. For each metric a member's rank is their position when members are ordered by that metric's value, highest first, using standard competition ranking: members with the same value share a rank, and the next rank skips accordingly. A member's percentile is the percentage of the ranked members in their chamber whose value is lower than theirs, so the count behind every percentile is visible. The chamber mean and median, and the mean for each party (grouped by the member's current party), are published alongside. A rank is a position in an ordering, not a judgment; this layer attaches no label to it. Members with no value for a metric (for example, no enacted rate when they sponsored no bills) are not ranked on that metric. Non-voting House delegates are ranked only on bills sponsored, bills cosponsored, and enacted rate; they are left out of the attendance and party-unity rankings because they cannot vote on final passage, so those figures are measured over a different, smaller set of votes and are not comparable to a voting member's.
Attendance
House: 512 ranked · chamber average 96.54%, median 97.73% · party averages D 96.33%, I 99.21%, R 96.74% · 8 non-voting delegates not ranked here (cannot vote on final passage)
Senate: 118 ranked · chamber average 95.57%, median 96.94% · party averages D 96.09%, I 91.32%, R 95.37%
Bills cosponsored
House: 520 ranked · chamber average 591.08, median 513 · party averages D 757.89, I 298, R 429.82
Senate: 119 ranked · chamber average 653.91, median 645 · party averages D 793.31, I 621.25, R 528.3
Cross-aisle support
House: 512 ranked · chamber average 62.11%, median 55.78% · party averages D 48.97%, I 100%, R 74.75%
Senate: 114 ranked · chamber average 40.11%, median 42.48% · party averages D 31.63%, R 48.01%
Enacted rate
House: 518 ranked · chamber average 1.18%, median 0% · party averages D 0.59%, I 2.33%, R 1.74%
Senate: 118 ranked · chamber average 1.1%, median 0.59% · party averages D 0.86%, I 0.68%, R 1.34%
Bills sponsored
House: 520 ranked · chamber average 47.63, median 41.5 · party averages D 45.27, I 43, R 49.95
Senate: 119 ranked · chamber average 116.08, median 103 · party averages D 130.58, I 73.25, R 105.65
Sources
- House roll calls: api.congress.gov, cross-checked against clerk.house.gov XML.
- Senate roll calls: senate.gov LIS XML, cross-checked against the published tallies.
- Bills: api.congress.gov bill detail (title, sponsor, policy area, CBO links).
- Absence explanations: the Congressional Record, owner-reviewed and verbatim.
Vote categories
Every roll call is placed in one procedural category by a published rules table. The category describes the parliamentary action, never its merits.
- Passage
- A vote on final passage of a measure.
- Amendment
- A vote on a proposed change to a measure's text.
- Procedural
- A vote on how the chamber handles a measure (e.g. cloture, motion to proceed, previous question), not on the measure itself.
- Nomination
- A vote to confirm a nomination.
- Veto override
- A vote to override a presidential veto.
- Other
- A recorded vote that does not fall under the categories above; the official question text is shown verbatim.
Mississippi Legislature — sources & limits
The Mississippi state layer covers the 2026 Regular Session (1,725 roll calls, 174 legislators). It follows the same "publish the record, draw no conclusion" rules as the federal data, with these specific sources and limits:
- Source and verification. State roll calls come from
LegiScan, which mirrors the official Mississippi
Legislature record at
billstatus.ls.state.ms.us. Because LegiScan is a mirror of that record rather than a second independent origin, we verify its fidelity: a sample of votes was matched person-by-person against the official per-vote PDFs (470 individual positions, zero mismatches), and an automated check re-confirms each sampled vote's official Yeas/Nays/Absent totals on every build. Individual roll calls link to their LegiScan vote page; bills link to the official Mississippi record where available. - Coverage. Only the current regular session is included; earlier sessions are not yet published.
- Recorded positions. The official record distinguishes Yea, Nay, and not-voting only. A "Not voting" row combines members recorded absent and present-but- not-voting. Unlike the federal record, there is no personal-explanation process, so a missed state vote carries no stated reason.
- Party. One member is recorded by LegiScan as "Nonpartisan"; in the Democrat/Republican/Independent model used here that member is shown as Independent.
- Bills. Only measures that received a recorded roll-call vote are published as bill pages (not every measure introduced).
- Authorship & statistics. Mississippi legislator pages show attendance, party unity, bills authored and co-authored, and how many authored bills the Governor approved — computed by the same formulas as the federal figures. Two Mississippi- specific notes: LegiScan does not mark a single primary author, so the first-listed author of a bill is taken as its principal ("authored") and the rest as "co-authored"; and "became law" counts bills whose official history records "Approved by Governor" this session.
Coverage: 118–119th Congresses · 3507 roll calls (federal). Mississippi: 2026 Regular Session · 1,725 roll calls.