Skip to content

Additional State Pension double counts part of the reported amount in projected years #1921

Description

@MaxGhenis

basic_state_pension and new_state_pension split the data year's state_pension_reported by state_pension_type in the period simulated. additional_state_pension uses the type in the data year:

pension_type = person("state_pension_type", data_year)

Survey ages are held fixed when a dataset is projected (extend_single_year_dataset copies the data year), so a record's birth cohort moves one year later for each year projected, and its type in the period can differ from its data-year type. A man aged 75 in the 2024-25 data reached State Pension age in 2014 (basic State Pension); held at 75 in 2030-31, the record stands for a man who reached it in 2021 (new State Pension). For such a record, new_state_pension pays the reported amount up to the new State Pension's full rate, and additional_state_pension pays the reported amount above the basic State Pension's full rate, so the band between the two flat rates is paid twice. The reverse (new in the data year, basic in the period) would leave that band unpaid; it doesn't arise when ages are held fixed.

On the enhanced FRS 2024-25 (policyengine-uk-data-private 1.57.4), on top of #1899, 0.59m people are basic in the data year and new in 2025-26, rising to 3.84m in 2030-31. Basic + new + additional State Pension exceed the reported amount uprated by the flat rate by £0.84bn in 2025-26, rising to £6.77bn in 2030-31. That excess is exactly this overlap.

Fix: split additional State Pension by the period's type, so the three components add up to the uprated reported amount. Related: #1632 (State Pension aggregate below OBR), #1899.

Activity

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