Methodology · private beta
Evidence before inference.
Westminster Radar makes published declarations easier to inspect. It does not score influence, allege wrongdoing or claim causation.
Sourced fact
Directly reported in the cited public record.
Explanatory context
Process or background that helps interpret the record.
Analytical inference
A labelled calculation or match, never presented as source wording.
Current coverage
The processor imports every top-level declaration and linked child record in each available House of Commons register archive. Coverage and any incomplete register are shown on the Data page.
Sources
Declaration data comes from the UK Parliament Register of Interests API. An individual interest page requests the current source record and shows every returned field, including fields marked as not supplied; if that request fails, the page falls back to the latest stored copy containing that interest. Member details come from the UK Parliament Members API. Commons division results and individual member votes come from Parliament’s Commons Votes API. Committee roles and events come from Parliament’s Committees API. Staffing and business-cost records come from IPSA’s official CSV publications. Where Parliament supplies a Companies House identifier, the interest page and organisation dossier also read the corresponding public Companies House record. Reported donations and loans come from the Electoral Commission’s Political Finance Online CSV exports.
- Register of Interests API
- Members API
- Commons Votes API
- Written Questions API
- Committees API
- IPSA annual publications
- Companies House public register
- Electoral Commission political finance search
Refresh and retention
The Data page can start a refresh and shows the last recorded scheduled run, if any. The refresh covers Parliament’s member directory and register catalogue, recent Commons divisions, speeches, written questions, committee memberships, IPSA business costs and the latest 18 months of Electoral Commission donation and loan records. The scheduled handler retries a failed pass once when it is invoked. The refresh also imports one complete historical finance year per successful pass, working backwards from the previous calendar year to 2000. Historical imports do not generate retrospective watchlist alerts.
Provenance, duplicates and identity checks
Every published timeline event records the source organisation, official URL, source publication date, retrieval date and stable source record identifier. Imports upsert on stable keys, so rerunning a source updates the existing event instead of creating a duplicate. If the same stable source record later resolves to a different Parliament member ID, the candidate record is withheld in an identity quarantine for review rather than reassigned automatically. Current source failures, date coverage, record counts and quarantine totals appear on the Data page.
Commons voting records
The Votes page reproduces Parliament’s division title, date and official teller counts. Parliament says the teller headcount can differ from the number of names recorded; each affected division displays both figures and links to the official record, without inventing missing names. Individual Aye, No, teller and proxy records with valid Parliament member IDs appear on MP timelines. A member appearing on both sides is withheld as a conflicting record; other members in that division remain visible. The site does not infer why an MP voted a particular way, and an absent name is not labelled as an abstention.
Committees
Current committee roles are linked by Parliament member ID. Recent events are shown as activity by a committee on which the MP serves. They are not labelled as personal attendance unless the official event record identifies that MP as an attendee.
Staffing and business costs
IPSA records are linked using the Parliamentary ID supplied in its downloads. Individual costs retain their reporting year, date, category, cost type, status and paid, unpaid or repaid amounts. Annual totals keep office, staffing, accommodation, travel and other published spending separate. If IPSA rejects a live server request, a verified official release snapshot can be loaded through the owner-only import route; the Data page identifies that source and continues to surface the live-feed failure. These are costs of carrying out parliamentary duties and are not presented as personal income. Security and disability-related information may be withheld or aggregated under IPSA’s publication policy.
Topic classification
Westminster Radar publishes a fixed set of public-policy topics and the keyword rules used for each one. Classification reads the title, summary and retained source fields of an indexed activity. A record can receive up to three topics when several rule sets match. A record that matches no rule remains visible as Unclassified. Topic counts describe only the public sources and period shown; they are not a measure of an MP’s priorities, effort, expertise, support or opposition. Signed-in users can report a questionable label from an issue journey for review.
Browse the taxonomy and issue journeys.
Plain-language explanations
“What happened” text states the recorded event, date and source type. “Why this may matter” explains the general parliamentary or procedural role of that kind of record. The two are visually separated. Context does not allege motive, intent, influence or causation, and every supported record keeps its official evidence link.
Following, briefings and alerts
Signed-in visitors can follow MPs and topics. Follows and notification preferences are stored against the authenticated ChatGPT user ID. The Following page matches recent indexed activity against those choices. The weekly briefing shows up to ten newest matches from the last seven days and explicitly reports when none were found. Activity alerts use stable event keys and unique per-user records to prevent duplicates; declaration amendments continue to use adjacent-register change keys. Pausing alerts stops new activity-alert creation but retains existing history.
Sharing and contact drafts
Share links open a stable Westminster Radar evidence page containing the event date, official source, retrieval details and a neutrality notice. The contact-your-MP tool creates an editable draft from one selected evidence record. It does not send messages, and it asks the user to check facts, personalise the wording and confirm the intended MP before using their own email application.
Fact, context and inference labels
Sourced fact reproduces or directly describes a cited public record. Explanatory context describes the relevant parliamentary process. Analytical inference labels a calculation, topic match, comparison or candidate relationship produced by Westminster Radar. Inference is never presented as official source wording, and uncertain links remain visibly unreviewed.
Search and comparisons
Advanced search combines indexed activity with filters for source type, date, MP, party, constituency, topic and organisation. Topic filters apply the published keyword taxonomy. MP comparisons show raw measures for a selected period and do not produce a composite score. Constituency peers are explicitly user-selected because the current sources do not contain a verified demographic similarity model. Interest context uses active MPs in the latest complete register, excludes child records and displays the median and middle 50% range.
Known gaps
Public parliamentary records do not capture constituency casework, private correspondence, party work or every ministerial duty. Source publication delays and outages can also create temporary gaps. The absence of a record is not evidence that an MP did no work, and a published record does not prove wrongdoing, influence, motive or causation.
Corrections, privacy and measurement
Correction reports receive a stable reference and retain a public audit note when status changes. Signed-in preferences can be deleted from the Privacy page. Product analytics stores only a random first-party visitor identifier, event type, page path and time; it excludes postcodes, search phrases, message content and correction details and is intended for aggregate service improvement.
Change detection
Adjacent complete register snapshots are compared by Parliament interest ID. An ID appearing for the first time is labelled new; a shared ID with different canonical source fields is amended; and an ID absent from the next register is removed. For the latest pair, the site compares summary, category, dates, member name and every retained declared field to show readable before-and-after values. These labels describe changes to the published register, not the reason for them.
Organisation mentions
Organisation names are extracted only from relevant declared fields. Automatic grouping is limited to a supplied company identifier or an exact name after Unicode, case and spacing normalisation. Placeholder values such as “confidential” and “private individual” are excluded from the directory. Fuzzy aliases are not merged automatically, every dossier carries a matching-confidence label, and all groups remain marked unreviewed.
Companies House enrichment
A company record is linked only when a company number is explicitly present in the parliamentary declaration. Older numeric identifiers are normalised to the eight-digit format used by Companies House. The interest page and dossier can show the registered name, status, type, incorporation date and registered office read from the public company page, with direct links to the official overview and filing history. A shared company number may connect separately declared names, but it does not prove that every unnumbered mention refers to the same legal entity. Companies House states that it does not check the accuracy of information filed.
Political finance enrichment
The Finance page reproduces reported donations and loans, including the participant, regulated entity, amount, dates, status and direct official-record link. Organisation dossiers match finance participants only by an exact normalised name or a company number explicitly present in both sources. MP profiles match only when the regulated-entity name exactly matches the member’s current Commons-register name. These conservative links can miss valid matches; they are evidence pointers, not assertions of identity, influence or wrongdoing.
Member profiles
Current party, constituency, official portrait, posts, committee memberships and policy focus are requested from Parliament’s Members API. Biography and focus sections are omitted when Parliament does not supply them; the declarations remain available from the locally verified register index.
Interpretation
A declaration records information supplied under Parliament’s rules. Appearance in this service is not evidence of improper conduct. Monetary fields are not combined unless their meaning and units are directly comparable.
Remaining methodological work
Organisation review decisions need an auditable approval workflow before any broader alias matching is introduced. The Electoral Commission historical backfill is deliberately staged and its progress is shown on the Data page. Monetary values remain contextual fields rather than a single combined score.