Skip to content

UK pensions after #1084: open rulings, residual gaps and the engine pieces #1069

Open

Description

@juaristi22

Status (16 October 2026)

This issue began as the plan for #1084 (work packages WP0 to WP7). #1084 merged on 2 October (fe4e38dfa) and delivered WP0 to WP5 and WP7's HBAI and reform-stability checks. Its measurements and rulings are in experiments/1069-uk-pensions-receipts.md, and the original plan is in this issue's edit history. The body now lists only what is still open.

Delivered since #1084

Open in microcosm

Rulings

  • Single ages (R3). WP2's 3% acceptance for single ages around State Pension age isn't met. Rule on the split (65, 66, 67–69), or bind the singles beside the five-year band.
  • SPI Table 3.8 contributions. Table 3.8 splits contributions by relief mechanism; the engine's columns split them by provider. Rule on binding the combined amounts against employee plus personal contributions.
  • Employer NICs relief at 15%. Confirm the restatement from 13.8%, which changes the rate alone.

Work

Blocked on policyengine-uk

Related

Done when

  • The three rulings are recorded.
  • The open microcosm items are bound, vendored or re-measured, with receipts.
  • The engine items are in the lock, and the WP7 DWP path has been run.

Activity

  1. juaristi22 commented on Oct 2, 2026

    @juaristi22
    CollaboratorAuthor

    #1084 is merged (fe4e38d). It delivered WP0–WP5 and WP7's HBAI and reform-stability checks; the measurements and rulings are in experiments/1069-uk-pensions-receipts.md. This issue stays open for what's left, most of which is blocked on policyengine-uk.

    Blocked on policyengine-uk

    • Set State Pension age from date of birth, including the rise to 67 policyengine-uk#1899 (open PR: State Pension age by date of birth, including the rise to 67). It blocks:
      • c0, microcosm's engine bump with the State Pension age migration. uk_runtime/frs_take_up.py reads gov.dwp.state_pension.age.{male,female}, which #1899 deletes.
      • The State Pension type boundary. Until then state_pension_type keys on age and sex. The 70–74 boundary zig-zags, and single ages 69–73 are off by 10–20%.
      • Two items of the engine follow-up below: the basic-to-new reclassification double count, and Additional State Pension uprated by CPI rather than the triple lock.
    • The engine follow-up PR (WP6), to be filed after #1899. Four of its items are drafted locally; nothing is filed yet. The items:
      • Reforms of triple-lock inputs propagate.
      • The Pension Credit FY2025-26 rates and the guarantee's uprating rule. Until then Pension Credit calibrates at the engine's current FY2025-26 values, which WP3 wanted corrected first.
      • The April 2027 rate.
      • A guard against datasets that carry a state_pension column.
      • The two #1899-dependent items above, and the income-tax easement switch (decision 10).
    • Model Winter Fuel Payment high-income recovery separately from entitlement policyengine-uk#1760 (Winter Fuel Payment recovery above £35,000). Until it lands, DWP's 11.0m recipients stay a diagnostic.
    • Pension Age Disability Payment isn't modelled in the engine, and there is no engine issue yet. So Attendance Allowance in Scotland isn't bound.
    • WP7's DWP path, the baseline State Pension and Pension Credit against DWP's forecast to FY2030-31, runs after the engine follow-up.

    Open in microcosm, not blocked on the engine

    Of the decisions listed above, 9 (the Pension Credit guarantee after 2026) and 10 (the easement switch) belong to the engine follow-up; the plan ruled the rest.

  2. changed the title [-]UK pensions: calibrate State Pension, Pension Credit and pension contributions to the resident administrative facts (PolicyEngine/chronicle#305), pin the State Pension age boundary, fix the pension spine stages, and the engine pieces a State Pension uprating analysis needs[/-] [+]UK pensions after #1084: open rulings, residual gaps and the engine pieces[/+] on Oct 16, 2026
  3. juaristi22 commented on Oct 23, 2026

    @juaristi22
    CollaboratorAuthor

    New work item: pensioner benefit coverage, moved here from #1334 (which closes with #1344 and #1347 merged).

    Why it is here

    #1334's fix 3 imputed Attendance Allowance to non-reporting pensioners with a care or disability need, and drew pension-age Housing Benefit claims among entitled non-reporters. María dropped it on 22 October. The FRS 2024-25 takes both from administrative data for about 95% of respondents (AA through DWP's General Matching Service, HB through SHBE). So a sampled pensioner who reports neither almost certainly receives neither, and imputing receipt added income where there is none, and moved pensioner poverty away from HBAI. The shortfall against DWP's caseloads is coverage: care-home residents (in DWP's counts, not in the FRS sample), caseload growth since the survey year, and weighting.

    Where it stands (#1344 arm at e399d21ef, policyengine-uk 2.147.2, 2025; #1338's certified build is the same before the solve)

    Row Before the solve After
    obr.attendance_allowance −28.1% +0.1%
    dwp.attendance_allowance.recipients_england −32.3% +0.1%
    dwp.attendance_allowance.recipients_wales −20.4% 0.0%
    obr.pension_credit −26.1% 0.0%
    dwp.pension_credit.benefit_units −24.1% −0.1%
    Pension Credit by age band (65–69 to 90+) −6.4% to −42.7% within 0.2%
    dwp.hb.households_pension_age −21.0% 0.0%
    dwp.hb.amount_pension_age −21.8% −0.1%

    The solve meets these rows by reweighting. It up-weights reporters and cuts poor pensioners who receive nothing. In #1334's replica re-solves, the benefit targets as a whole accounted for about 2.9pp of the 4.5pp fall in pensioner absolute BHC poverty between a demographics-only solve and the full solve.

    Pensioner poverty in 2024 on the same arm, against HBAI FYE25: relative BHC 12.7% (HBAI 15.9%, −3.2pp) and relative AHC 12.2% (13.9%, −1.7pp). The absolute rates moved up slightly under #1344 (BHC 11.4% → 11.8%, AHC 11.4% → 11.6%), so #1344's fall in the relative rates comes from the poverty line. The remaining gap is on the income and coverage side, not a result of #1344's weighting (#1334 comment).

    The work

    Acceptance (from #1334's fix 3, restated for coverage)

    🤖 Generated with Claude Code

  4. added 6 commits that reference this issue on Oct 27, 2026
  5. MaxGhenis commented on Oct 28, 2026

    @MaxGhenis
    Contributor

    State Pension in the SPI bands and below the tax threshold: measured on #1414 (merged as a172afa)

    The shortfall of non-taxpaying State Pension recipients was mostly target error. The SPI 2023-24 State Pension band rows reached calendar 2025 by HMRC's projected growth in all taxpayers in each band. That is 4.8% in total from 2023-24, while HMRC projects taxpayers of State Pension age 10.4% higher (ITL July 2026, Table 2.1).

    #1414 makes two changes:

    • It binds HMRC's resident taxpayers of State Pension age, and those aged 65 and over, over the twelve region-tier areas (Table 2.2).
    • It moves every SPI State Pension band by that level's factor, ×1.0835. The band shares stay at 2023-24.

    Two local national builds measure the effect. They share the spine, policyengine-uk 2.162.8 and feed 272c987, and are built with --no-staging --no-publish-orrery: no release.

    main 7d45c0c #1414 at 8925039
    Taxpaying State Pension recipients (HMRC-implied 8.65m–8.81m) 8,839,850 8,743,572
    Non-taxpaying recipients (HMRC-implied 3.58m–3.74m) 3,530,991 3,628,068
    All recipients (DWP + DfC target 12,383,022) 12,370,841 12,371,640
    Taxpayers of State Pension age, 12 areas (target 8,841,750) 8,932,401, not bound 8,833,654
    SPI State Pension count, £20–30k +17.9% +4.1%
    SPI State Pension amount, £20–30k +20.0% +6.1%
    SPI State Pension count, £30–40k +0.8% −0.1%
    SPI State Pension amount, £30–40k +2.2% +1.5%
    SPI State Pension count, 12 bands, mean absolute error 1.96% 0.50%

    The HMRC-implied range starts from SPI 2023-24's 7.98m taxpayers with a State Pension, which is 97.79% of ITL Table 2.1's 8.16m taxpayers of State Pension age. Holding that share, it is applied to the calendar-2025 window of two levels:

    • the twelve areas' residents, which gives 8,646,711 taxpaying recipients;
    • the United Kingdom row, which gives 8,806,360.

    Non-taxpaying recipients are the 12,383,022 recipients minus each end. Both of the #1414 build's counts fall inside the range, and both of main's fall outside it (hmrc_implied_recipients.json in the evidence).

    PR #182's sole-income State Pension allowance (uk-autumn-budget-dashboard-2026) was run through policyengine.py 6.11.1 on each build:

    main #1414
    2027-28 1,234,867 people, −£84m 1,326,038, −£93m
    2031-32 1,731,415 people, −£330m 1,841,789, −£361m

    The receipts and scripts are in docs/evidence/uk-pensioner-taxpayers-1069/.

    Still open on this item

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