Skip to content

UK static aging: ONS 2024-based projection reader and weights-only annual projections to 2050-51 #1075

Open

Description

@MaxGhenis

Part of PolicyEngine/microcosm-dynamics#501 (WP6). The plan is at docs/plans/uk-state-pension-dynamics.md (merged in PolicyEngine/microcosm-dynamics#502). This is the "Multi-year runs, to be a separate piece" that #1069 defers.

Why

docs/static-aging.md says "the package does not yet include a UK projection reader". The UK State Pension projection needs per-year household weights that carry demographics only (#333): weighted persons by single age, sex and nation that follow the ONS 2024-based national population projections, with the base year unchanged.

Scope

  • Reader. A reader for the ONS 2024-based projections: the Population sheet, single ages 0-104, 105-109 and 110+, by sex, 2024-2124, for the UK, GB and each nation. Principal projection plus the zero-net-migration and life-expectancy variants. It reads from the Chronicle package (WP5), as the UK target invariants in UK dataset build: full migration from policyengine-uk-data (master epic) #665 require; a sha256-pinned copy serves only unscored first light.
  • Fiscal-year growth. 0.75 × mid-Y + 0.25 × mid-(Y+1), declared as a Microcosm-side computed target. PolicyEngine UK reads age at 6 October under Set State Pension age from date of birth, including the rise to 67 policyengine-uk#1899.
  • Cells. Single ages 60-89 by sex for GB, 90+ pooled, five-year bands below 60, and Northern Ireland separately.
  • Age-cell column. A build-written column, because static aging matches cells by exact equality and the UK frame stores drawn ages 80-97 for the top-coded tail.
  • UK annual builder. It maps no monetary series, a deliberate departure from the factor step: factors would fix one macro path into every consumer job. Years run from the base to 2050-51. The scorecard reports each input that is uprated by a national total against its index.
  • Anchoring. anchor="frame", so the base-year weights equal the base weights. A weight-ratio cap. Effective sample size by age published in every run.

Acceptance

  • Every cell meets its anchored target (the base's weighted count × the ONS fiscal-year-blended growth) within the calibrator's reported tolerance. Any cell where the weight-ratio cap binds is listed.
  • ONS levels are reported beside the targets as diagnostics. Examples: GB 66+ mid-2024 12,061,579; GB 67+ mid-2039 14,819,804.
  • The base year's weights equal the base dataset's.
  • A byte-identical rebuild from the same inputs.
  • No program count or amount is a target.

Depends on

Estimate: 2-3 agent-days; 0.5-1 human review day.

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