PolicyEngine / PolicyEngine/chronicle

NZ source packages, wave 2: take-up and validation surface

Open
#177 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
1
Avg merge
11h 48m
Merged PRs (30d)
45

Description

Lane: ledger-source-ingestor — judges ledger-source-fidelity + ledger-boundary
Depends on: #176 (conventions established; the M1d shape proven before its HUD duplicate lands)

Context

The populace-nz product is a dollar take-up gap: full-entitlement modelled dollars vs dollars actually paid. Wave 1 carries the calibration margins; this wave carries the comparison and validation surface — the facts the take-up computation and the gates read but calibration must not bind. Several rows are provenance_class: model_output or assertion: source_projection; the populace-side assertion-policy story (allow_source_projection, diagnostic-only families) must be settled per package before it lands.

Candidate inventory
Package Artifact Why wave 2
treasury/an24_01_fiscal_totals fiscal_totals.csv from the AN 24/01 companion repo (CC0) Program-level admin dollar totals (TY2018/19) as a validation cross-check — stale vintage, not a calibration margin
treasury/distribution_explorer_hes24_befu25 DistributionExplorer DE_HES24_BEFU25_TY{25..29}_SQ.csv (MIT) The full-entitlement denominator, provenance_class: model_outputnever calibrated to; diagnostic band only (NBB macro-realism precedent)
hud/housing_dashboard_as_2026 Housing Dashboard data-download xlsx, AS tab TLA-grain AS counts duplicating M1d — lands after the M1d shape is proven; 14 MB monthly workbook needs sheets: discipline
msd/hardship_assistance_march_2026 Fact-sheet supplementary xlsx (grants and dollars) Quarterly hardship $ — small program, not in the 16 margins
ird/kiwisaver_statistics_2026 IRD KiwiSaver datasets xlsx Members/contributions — relevant when KiwiSaver rules enter the composed surface
msd/befu_2025_benefit_forecasts BEFU 2025 recipient forecasts Forward periods, assertion: source_projection — needed only when populace targets years beyond observed vintages
Acceptance

Same per-package provenance/guard/acceptance bar as #176; every model_output and source_projection row's intended populace-side treatment (diagnostic family, assertion policy) named in the PR description; no computed values.

Out of scope

Calibrating to any of these facts (populace-side gate design); local geography (#178).

Sizing

~6 packages ≈ 2–3 PRs (treasury batch, MSD/HUD batch, IRD).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read #176 first to learn the established conventions, then inspect the ledger-source-ingestor lane and the listed CSV/XLSX artifacts, including the required sheets discipline for the HUD workbook. Done means packaging the wave-2 sources with the same provenance, guard, and acceptance bar, naming diagnostic-family and assertion-policy treatment for model_output and source_projection rows, and adding no computed values.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.