Part of #501 (WP7). The plan is at docs/plans/uk-state-pension-dynamics.md (merged in #502), section "Design".
Scope
New src/populace_dynamics/uk/state_pension/. It does not import the uncertified uk/advance_year.py layer and makes no edits in place to engine/loop.py, engine/steps.py, gates.yaml or committed runs/*.json. It encodes no rule: State Pension age, the transitional rate and the frozen-country rule come from policyengine-uk through a new bridge.
State space. Birth cohort × sex × residence × category × entitlement band:
- residence is the UK, or abroad by country group, with frozen status taken from the engine's uprated-country parameter (E4) through the bridge, and a freeze-year band;
- category is pre-2016 or new State Pension;
- for the new State Pension, the band is the share of the full rate in 5-point bands, plus a protected-payment band;
- for pre-2016, the bands are a basic share and an additional-pension base.
Initial conditions. Stat-Xplore SP_New, March 2026, by age, sex, residence, country or country group, and amount band. The residence hierarchy is fixed: GB 12,207,303; Abroad 1,093,218 (frozen 419,386; not frozen 657,806; unknown status 16,026); Unknown residence 7,278, carried as its own cell. Northern Ireland comes from DfC's tables (PolicyEngine/chronicle#305). Abroad cell weights are stocks at 31 March.
Mortality. A new year-indexed class using the ONS projections' Mortality_assumptions (qx+½ to age 125). Pensioners abroad take GB mortality, as an assumption.
State Pension age. From the engine (PolicyEngine/policyengine-uk#1899). Two timetables: the law, and the OBR's 68 over 2037-39 as a registered scenario run as a parameter reform, with its date-of-birth mapping fixed at registration.
Accrual (cohort-cell).
- Estimate the pre-2016 share distribution on State Pension age cohorts 2016-17 to 2022-23 (ages 69-74 in March 2026). Use a structural attainment and contracted-out model for younger cohorts.
- Annual post-2016 attainment from DWP's qualifying-years-by-route written answers.
- An explicit short-record tail.
- The 10-year minimum.
- Shares and protected payments come from the engine's transitional-rate formulas (E3).
- Cohorts 2023-24 to 2025-26 are held out.
Migration.
- ONS emigration and immigration by age and sex.
- New awards abroad as a ratio to GB new awards by sex and frozen or uprated status (the Government Actuary's 2020 method), estimated from Stat-Xplore's abroad series.
- The Trade and Cooperation Agreement protocol's sunset (1 May 2036, computed) as a scenario: an engine parameter reform that freezes only post-2020 movers to EU states. Withdrawal Agreement cohorts stay uprated.
Ledger. A cell-level stock-flow ledger: deaths, departures and arrivals, awards at State Pension age, and transfers between residence and band cells.
Acceptance
Depends on
- WP5 source extracts.
- The engine's E3 and E4 (WP2).
Estimate: 5-8 agent-days; 2 human review days.
Part of #501 (WP7). The plan is at docs/plans/uk-state-pension-dynamics.md (merged in #502), section "Design".
Scope
New
src/populace_dynamics/uk/state_pension/. It does not import the uncertifieduk/advance_year.pylayer and makes no edits in place toengine/loop.py,engine/steps.py,gates.yamlor committedruns/*.json. It encodes no rule: State Pension age, the transitional rate and the frozen-country rule come from policyengine-uk through a new bridge.State space. Birth cohort × sex × residence × category × entitlement band:
Initial conditions. Stat-Xplore
SP_New, March 2026, by age, sex, residence, country or country group, and amount band. The residence hierarchy is fixed: GB 12,207,303; Abroad 1,093,218 (frozen 419,386; not frozen 657,806; unknown status 16,026); Unknown residence 7,278, carried as its own cell. Northern Ireland comes from DfC's tables (PolicyEngine/chronicle#305). Abroad cell weights are stocks at 31 March.Mortality. A new year-indexed class using the ONS projections'
Mortality_assumptions(qx+½ to age 125). Pensioners abroad take GB mortality, as an assumption.State Pension age. From the engine (PolicyEngine/policyengine-uk#1899). Two timetables: the law, and the OBR's 68 over 2037-39 as a registered scenario run as a parameter reform, with its date-of-birth mapping fixed at registration.
Accrual (cohort-cell).
Migration.
Ledger. A cell-level stock-flow ledger: deaths, departures and arrivals, awards at State Pension age, and transfers between residence and band cells.
Acceptance
Depends on
Estimate: 5-8 agent-days; 2 human review days.