Methodology
Politician Tracker compares manifesto commitments made by UK political parties with how their MPs actually voted in the House of Commons. This page explains every step of the process.
1. Data Sources
Manifestos: Full manifesto texts from the 2024 general election, sourced from official party publications. We use the Manifesto Project (MARPOR) coding scheme to categorise promises.
Parliamentary votes: Division data from the Commons Votes API and Hansard. Every recorded division is captured with per-MP vote positions.
MP data: Member information from the UK Parliament Members API, including party affiliation, constituency, and term dates.
2. Promise Extraction
Promises are identified from manifesto texts through a combination of automated extraction and human review. Each promise is:
- A verbatim quote from the manifesto with page number
- Given an editorial summary in plain English
- Categorised using standard policy area codes
- Approved by a human editor before appearing on the site
3. Promise-to-Vote Matching
We link manifesto promises to relevant parliamentary divisions. Each link specifies:
Alignment: whether the division supports or contradicts the promise direction. Tangential links are excluded from scoring.
Weight (0–1): how central the division is to the promise. A third reading on the headline bill scores 1.0; a committee stage amendment might score 0.5.
All links are reviewed and approved by a human editor before they influence scores. The matching pipeline suggests candidates using semantic similarity, but the final decision is always editorial.
4. Scoring Rubric
A promise's status is computed from its approved links:
| Status | Condition |
|---|---|
| Kept | Total supporting weight ≥ 0.5 and no decisive contradiction (weight ≥ 0.9) |
| Broken | Any contradicting link has weight ≥ 0.9, OR total contradicting weight exceeds supporting weight |
| Partial | Both supporting and contradicting evidence exists but neither is decisive |
| In Progress | Some supporting evidence exists but total supporting weight < 0.5 |
| Not Yet Tested | No approved links exist yet |
5. MP-Level Scores
An MP's score is a weighted average of how often they voted in line with their party's promises across all linked divisions where they were recorded.
Important: Because most Commons votes are whipped, MPs from the same party will typically score very similarly. Rebels and absences are the main source of variation. This is a feature of the parliamentary system, not a flaw in the methodology.
6. Known Limitations
- Not all government action happens through Commons divisions. Executive orders, statutory instruments, and spending decisions are not captured.
- The matching process involves editorial judgement. Reasonable people could assign different weights or alignments.
- Opposition parties may vote strategically. A “No” vote does not always mean opposition to the policy in principle.
- The system tracks a curated set of 15–25 promises per party, not every manifesto commitment.
7. Transparency
Every score on this site links to the exact evidence that produced it. You can see every matched division, its weight, and the editorial rationale. If you believe a score is wrong, contact us or report an issue.
8. Updates
The database is updated regularly as new divisions are recorded. Promise statuses are recomputed automatically when new links are approved. All changes are logged in an audit trail visible on each promise page.