How We Score MP Voting Records
Transparency is a core principle at Zepely. This page explains exactly how we calculate scores, what data sources we use, and the known limitations of our approach.
At a Glance
Voting Records
Sourced from the UK Parliament Commons Votes API. We fetch the full division record (all Ayes and Noes) for each curated division.
Speech Data
Sourced from the Hansard API. We search for 10 leasehold-related keywords in each MP's parliamentary contributions.
Registered Interests
Sourced from the Parliament Members API. We flag interests related to property, land, development, and housing.
How We Choose Divisions
We track 9 parliamentary divisions across 7 bills on leasehold-related policy. Of these, 7 are scored and 2 are historical (shown for context but not affecting the score). For each division, we manually verify that voting “Aye” unambiguously means supporting the policy. We prefer:
- Third Reading votes — Aye = support the bill passing into law
- Second Reading votes — Aye = support the bill in principle
- Report Stage amendments — Aye = support a specific reform clause
We deliberately exclude procedural motions such as “motion to disagree with Lords Amendment” where voting “No” can actually mean supporting the policy. This is a common source of misrepresentation on automated parliamentary data sites.
Score Calculation
The percentage score represents the proportion of scored divisions where the MP voted “Aye” (supporting the policy). Historical divisions are excluded.
Score = (Aye votes ÷ Eligible scored divisions) × 100%
MPs not yet serving at the time of a division are marked “Not MP” and excluded from their eligible count.
9 Divisions across 7 Bills
Leasehold and Freehold Reform Bill
Renters' Rights Bill
Building Safety Bill
Leasehold Reform (Ground Rent) Bill
Opposition Day: Unsafe Cladding
Fire Safety Bill
Social Housing (Regulation) Bill
Commonhold and Leasehold Reform Bill
Multiple Divisions Per Bill
Some bills have multiple divisions (e.g. Leasehold Reform has 3: 2 scored + 1 historical). Each scored division counts independently toward the score. An MP could support one amendment but not another within the same bill.
Historical Divisions
Some divisions are marked historical and shown for transparency but excluded from the score. Reasons include lopsided results that don't differentiate MPs (e.g. 14–304 vote) or Opposition Day motions where the government side routinely abstains.
Opposition Day Motions
Opposition Day votes are now marked as historical. Government-side MPs typically abstain on these motions by convention, so absence reflects whipping practice rather than policy stance.
Report Stage vs Readings
Most leasehold bills passed their Second and Third Readings “on the voices” (without a recorded division), reflecting cross-party support. Our Report Stage divisions capture votes on specific amendments, not on the bill as a whole.
Speech Keyword Counts
Hansard keyword mentions include all contexts — an MP may mention “leasehold” while opposing reform, not just supporting it. The count reflects engagement with the topic, not necessarily support.
Corrections & Feedback
If you believe any data on this site is inaccurate or misleading, please contact us. We take accuracy seriously and will investigate and correct any errors promptly.