Our ElectedEurope
← Research desk

Methodology

Every number on this site is computed from source-linked public records with the formulas below — no editorial weighting, no hidden adjustments. If a figure looks surprising, this page should explain how it was reached. For when each source was last refreshed, see the data status page.

Participation

The share of recorded votes a member actually cast a position on: voted ÷ total recorded, where voted means a recorded for, against or abstention, and total recorded includes votes the member was marked absent / no-vote for. It is computed only over the votes we hold for that member, so a newly elected member is measured from their first recorded vote — not penalised for sittings before they took their seat.

Party loyalty & rebellion

For each vote we take the member's own group's for/against majority — the side most of the group voted. A rebellion is a vote where the member voted against that majority. Rebellion rate = rebellions ÷ comparable, and loyalty = 1 − rebellion rate. A vote is comparable only when the group had a clear for/against majority on it (ties and votes where the whole group abstained carry no “party line”, so they are excluded). Members in no political group have no line to break with and are not ranked, and we require a minimum number of comparable votes before ranking anyone so a single vote can't produce a 100% rebel.

Contested / Pulse

How close a vote was — the news-worthy signal until we track readership. We score by margin closeness: |for − against| ÷ (for + against), so 0 is a perfect split (most contested) and 1 is unanimous. A 326–325 vote ranks far above a 600–10 one. The Pulse view ranks the most contested recent votes across the EU Parliament and every national chamber we track.

Group-level evidence

Some parliaments publish only a party or club outcome, not each member's roll-call. We store and display that evidence at group level. We do not assign the line to the current roster because membership changes and source exceptions can make that inference historically false. Group-only records therefore carry no individual participation or rebellion signal and are excluded from member histories and loyalty / rebellion. They are counted separately as “Group lines” on the data status page. Contested/Pulse uses only source-published numeric totals when they exist.

Sources & limits

  • EU member records come from the European Parliament Open Data Portal. Roll-call data is distributed by HowTheyVote.eu from European Parliament source records; provider and official-record links are labelled separately. Each national chamber lists its source on that country's page.
  • Parliament coverage is capability-specific. Some countries provide members and votes, some provide members only, and national bill ingestion currently starts with the UK. Empty bill pages are not filled with synthetic records and are excluded from indexing.
  • EU group and country comparisons use the affiliation stored with each vote position when available, so a later party-group change does not rewrite historical analysis.
  • If an official feed lists one member on contradictory sides of the same vote, we do not choose a side. The ambiguous row is omitted, the breakdown is marked partial, and the vote page shows a source-quality note; uncontested positions remain researchable.
  • We only compute over the votes we have ingested. A short window can make rates noisier; the leaderboards apply a minimum comparable-vote count to guard against this.
  • Figures are read live from our database; the data status page shows exactly how current each source is.

Found a discrepancy? Open-data feeds are occasionally revised at source; we re-sync on a schedule, so a figure may briefly trail the official record before the next sync.