Skip to content

UK: two-page note on how constituency impacts are estimated (draft for the Budget-day analysis) #1131

Description

@vahid-ahmadi

A draft of a two-page PDF note explaining how PolicyEngine estimates the constituency impacts of a Budget, for MPs and their staff. It is meant to be published alongside the Budget-day analysis and to stay at a stable link, so that people pointed to the constituency results can see how they are produced.

Before the PDF

  • Pipeline for this year's constituency figures. Either Microcosm UK's local ("dense") release, which needs Make the dense role run on a current spine: identity branch, scratch aliases, per-block national problem, compiled-row axis, holdout shape, engine blocks that represent the pool #1115 and a certified local build before Budget day, or the Enhanced FRS constituency weights (policyengine-uk-data), as in 2025. The draft below describes the common approach and marks where the two differ.
  • Suppression rule. Decide whether published constituency tables suppress or flag results resting on few survey households (e.g. an effective sample below a threshold), and state it in the note.
  • Headline fit figure. Compute one for the chosen weights (e.g. "x% of constituency targets within 10%") by re-running the existing performance check. None is quoted below.
  • External check. Decide whether to cite the two-child-limit comparison with official statistics (see Validation), or re-run a similar check for this year.
  • Settle the threshold wording (the local runbook's accuracy rule and the effective-sample floor) and check every bracketed item.

Draft text

How we estimate the impact of the Budget in each constituency

What the figures show. For each of the 650 parliamentary constituencies (July 2024 boundaries), we estimate how the Budget changes household net income: the average change per household in pounds a year, and that change as a share of household net income in the constituency. The estimates are static: they show the effect of the policy changes on households as they are today, before anyone changes how much they work, spend or save.

Starting point: a national survey. The analysis starts from a representative sample of UK households: the Family Resources Survey, enhanced with tax records so that high incomes and other under-reported items are measured more accurately [Microcosm: ~X households; Enhanced FRS: ~100,000 households]. PolicyEngine's open-source tax-benefit model calculates each household's taxes and benefits under current policy and under the Budget, so the change in net income is known for every household in the sample.

From national to local: reweighting. The survey is too small to estimate each constituency directly. Instead, each household is given a separate weight for each area, chosen so that the weighted sample matches published official statistics for that area. The targets include:

  • population by age (ONS);
  • the number of households (Census 2021) [Microcosm];
  • employment and self-employment income: the number of taxpayers and the amounts (HMRC Survey of Personal Incomes);
  • households on Universal Credit [by number of children] (DWP);
  • [local-authority level: housing tenure, private rents and council tax bands].

The weights are fitted together with the national statistics the model is already matched to, so the constituency results add up to the national totals. [Enhanced FRS: a household can only carry weight in constituencies in its own country. Microcosm: each household is copied and each copy is placed in one small census area (an Output Area, or a Data Zone in Northern Ireland), from which constituencies, local authorities and regions are built; no household's weight can move more than tenfold from its starting value.]

From weights to impacts. For each constituency we take the weighted average change in household net income across its households. Because the same households and the same policy calculations are used everywhere, differences between constituencies come from differences in who lives there: their incomes, ages, family types and benefit receipt.

How to read the figures

  • Best for comparisons. The estimates are most reliable for comparing constituencies and for seeing which kinds of area gain or lose more. Small differences between individual constituencies should not be over-interpreted.
  • What is matched locally, and what is not. Population, households, earnings and Universal Credit are matched to local statistics. Other characteristics, for example most other benefits, disability, and savings and pension income, follow the national pattern within the household types that live in each area. Measures that depend mainly on those characteristics are less precise locally.
  • Sample size. Each constituency's estimate rests on a limited number of survey households, reweighted. [We publish / flag the effective sample size; results resting on very few households are [suppressed/flagged] — see the rule above.]
  • Static estimates. The figures do not include behavioural responses or wider economic effects.
  • Boundaries and data year. Constituencies are on July 2024 boundaries. Some local statistics are published on older boundaries and are converted by population share. The survey and the local statistics describe [2024-25]; impacts in later years apply the policy for that year to the same weighted population.

Validation

  • The fitted weights are checked against every local target, and the fit for each is published in our validation notebooks. Fits are weakest where incomes are very unequal, such as some central London constituencies.
  • [Microcosm: every constituency must meet a minimum effective sample size; some targets are held out of the fit to test it.]
  • As an external check, our constituency estimates of the two-child limit's effect were compared with official local statistics on children in low-income families: the correlation was 0.73 (0.68 against End Child Poverty's estimates), and 12 of the top 20 constituencies were the same.

Method and code

All code and data sources are open: [links to the model, the data pipeline and this note's validation].


Sources for this draft (internal)

Activity

  1. juaristi22 commented on Oct 7, 2026

    @juaristi22
    Collaborator

    Brief overview of what Microcosm changes compared with the previous Enhanced FRS (eFRS) pipeline. More detailed methodology documentation will follow.

    Microcosm UK improves the geographic consistency of the Enhanced FRS pipeline while drawing on the same core survey and administrative sources. In the earlier approach, a household could receive different weights for many constituencies or local authorities, but its calculated net income still reflected one set of geographic inputs. Changing its weight changed how many households it represented in an area; it did not recalculate its taxes and benefits for that location. For example, a household outside London could contribute to a London constituency estimate while retaining the outside-London benefit cap. Microcosm creates separate copies of households and assigns each copy to one small census area within its survey region, from which its constituency and local authority are derived. Each household record then has one location and one weight, used consistently across geographic levels. A single joint calibration fits national, constituency and local-authority statistics using those same records and weights. Microcosm also expands local calibration to include household and housing statistics, reconciles overlapping targets across geographic levels, limits how far household weights can change, and adds explicit checks on local sample support and calibration quality. This provides a coherent population for local analysis and addresses the mismatch between a household’s geographic inputs and the places it represented through multiple area-specific weights. (Earlier weighting method, geography-dependent benefit cap, Microcosm geographic assignment and calibration, reconciliation across geographic levels)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions