PolicyEngine / PolicyEngine/microcosm

EPIC: populace-am — Armenia: closing the EG DNA macro–micro gap on public data

Open
#814 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

Charter

Build populace-am: Armenia as the third greenfield country on the declarative country-spec lane, following Belgium (#259) and New Zealand (#343). Origin: the OECD's distributional-national-accounts compiler team flagged Armenia as a country that participates in the EG DNA/EG DHW expert groups but cannot submit results — the survey base won't reconcile to national accounts (survey consumption covers 26.9% of macro household consumption per the Central Bank of Armenia's UNECE GENA 2024 presentation), and no wealth survey or tax tabulations exist. That macro–micro reconciliation gap is this stack's core competency.

Armenia is unusually well suited to the lane:

  • Public base microdata. ArmStat publishes anonymized ILCS household + member microdata for every year 2004–2024, free direct download (armstat.am/en/?nid=205), ~5,184 households/yr, income + consumption. LFS member microdata 2014–2024 alongside. Unlike BE-SILC, no licence restriction — releases can be fully open.
  • Rich admin targets. SNA-2008 institutional sector accounts with a household-sector chapter; GDP by income generation; SRC-register wage/payroll series by industry, sex, marz, and firm size; OECD Revenue Statistics totals (PIT AMD 554.6bn = 5.87% of GDP in 2023); pension and family-benefit caseloads from the Unified Social Service.
  • Smallest rules surface of any country yet. Flat 20% PIT on labor income (since 2023), schedular 5/10% rates by income type, exempt benefits, capped funded-pension contribution, health-insurance contribution + stamp duty (Dec 2025), family benefit, mortgage-interest and social-expense refunds.
  • External oracles exist. CEQ WP 43 (Younger & Khachatryan 2017, ILCS 2011), World Bank PIT-reform microsimulation (2019), World Bank fiscal-incidence report (2025) — validation bands, BE-style (no incumbent, no parity gates).
  • Timing. Universal income declaration phases in fully by 2026 (everyone files, SRC pre-filled). Person-level tax microdata matures 2026–28; a working frame positions for a survey+tax top-corrected series later.

Lanes

  1. v1 demonstrator (NZ recipe, this epic's first milestone): reweight the existing US support pool against ~10–16 public Armenian margins (population age×sex×marz from the 2022 census, revenue totals, wage distribution, benefit caseloads). Engine-free at first — direct-column targets only; support records are never presented as Armenian microdata.
  2. v2 native base (BE recipe): ILCS 2024 household spine as the silc_load analogue (income-reference offset, engine column mapping), QRF income repair, clone-and-assign geography over communities constrained to observed marzes, calibration to household-sector accounts + revenue totals.
  3. Rules leg: rulespec-am through the existing Axiom adapter (rulespec-nz/be precedents; no policyengine-am). Repo creation is a maintainer decision, tracked separately. The release contract (engine-native H5, formula_owned_export, reform_validation) waits on it; the calibrated frame does not.

Worklist

  • am/ country package: country_package.json, source_stages.json, geography_spine.json, target_references.json, gates.json, release_contract.json — BE greenfield gate posture (aggregate_admin + per_family_fit + target_profile_coverage + macro_realism band; no parity gates)
  • ledger-am fact packages in Chronicle: value harvest from ArmStat statbank (PxWeb), OECD Revenue Statistics, MoF budget execution — every fact with source URL; census-2022 vintage for the demographic spine
  • Fact-harvest worklist doc: exact tables/queries per target reference
  • v1 calibration run + diagnostics (solver lessons from BE apply: destination-scale weight init; totals not component+total double counts)
  • External-oracle validation note vs CEQ/WB numbers
  • rulespec-am decision + PIT/benefit slice (separate issue once decided)

Non-goals / honesty constraints

  • No wealth results — Armenia has no wealth survey; a donor imputation would carry the same borrowed-distribution critique as WID's current series. Income/consumption/saving only.
  • Calibration hits sum targets; mapping to full SNA/DNA concepts (institutional households, imputed rent, FISIM) is documented analyst work, not claimed machinery.
  • Nothing announced or presented externally without the certified-claims gate; complete ≠ certified.

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

Start by comparing the country-package approach in Belgium (#259) and New Zealand (#343), then read the proposed am/ files: country_package.json, source_stages.json, geography_spine.json, target_references.json, gates.json, and release_contract.json. The epic is done only when the package, ledger-am fact packages, fact-harvest worklist, calibration diagnostics, and external-oracle validation note are complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.