Skip to content

UK small national default: L0-selected ~50k-household file from the 535k pool #355

Description

@MaxGhenis

Problem

The certified UK default (populace_uk_2023, populace-uk-2023-dd68c73) is 535,080 households (~1.2M persons) — a 10x clone of the 53,508-household enhanced-FRS support. It is the ONLY UK entry in the policyengine.py bundle, so every pe.py UK user loads it by default. That support size is why it wins on calibration (#8, policyengine.py#427), but it is a research-grade file: full-population UK sims over 1.2M person rows are slow everywhere and memory-infeasible on typical laptops. The US faced the identical problem (337,704-record dense pool) and resolved it with an L0-selected 57,240-record small default (policyengine.py#443, #299 Build G/H); the UK never got that step.

Proposal

A UK sparse national file as the pe.py UK default, mirroring the US machinery:

  • L0 selection over the full 535,080-household pool -> target ~50-60k households, refit weights on the selection (the US frozen-sparse recipe).
  • Initialization per the corrected Informed-init L0 selection: warm-start reselection for pool changes (ACS/ASEC ingest forcing function) #346 design: target-contribution share / leverage, NOT weight-proportional, + protect-list covering the dominant carrier of each target (the learned-prior experiment's mechanism finding: selection is joint portfolio balance; prior = init for the L0 optimizer, never a top-K selector).
  • Certification: same gates as the pool file + the matched sound-comparison protocol (Register populace-uk 2023 (private; beats enhanced FRS 6/6) #8) small-vs-full, and the #462 promotion scorecard at flip time.
  • Bundle: publish alongside the full file; pe.py default -> small, full stays available for research use (the US #443 pattern).

Third instance of the country-specific selection machinery, after US (#299) and BE (#347).

Refs: #346, #347, #8, policyengine.py#427, policyengine.py#443, policyengine.py#462.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions