PolicyEngine / PolicyEngine/policyengine.py

New Zealand pilot: run Axiom rules over Microcosm NZ

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

Nobody has claimed this yet.

Dominant language
Python
Stars
7
Forks
9
Avg merge
15h 51m
Merged PRs (30d)
9

Description

Goal

Add a New Zealand pilot channel to policyengine.py that runs the Axiom RuleSpec runtime over a Microcosm NZ population and exposes the result through the shared Simulation surface.

This is the NZ counterpart to #447, but it must consume the current Microcosm Frame/RulesEngine contracts and live rulespec-nz coverage rather than copy Belgium-specific assumptions.

Initial scoring slice

The first population reform comparisons are the official New Zealand Treasury scores already published in PolicyEngine/policyengine-scorecard#120:

  • Budget 2026 temporary NZ$50-per-week In-Work Tax Credit increase
  • Budget 2025 Working for Families abatement threshold and rate changes

The external claims stay held out until the model run records the executed rulespec and Axiom revisions, the NZ Microcosm build id, the fiscal/payment timing bridge, the IWTC petrol-price scenario, and any WFF accounting components outside the model transfer delta.

Acceptance

  • an Axiom-backed NZ TaxBenefitModelVersion using real vectorized Axiom execution
  • a Microcosm dataset adapter carrying calibrated household weights and required entity relations
  • baseline and reform runs for both initial measures
  • weighted aggregation through MicroSeries or Frame operations, never manual weight arithmetic
  • focused statutory and end-to-end tests
  • scorecard-ready execution receipts and annual NZD results
  • explicit pilot labeling until the population and model enter certified release machinery

Dependencies

  • Chronicle NZ targets and target-profile binding
  • rulespec-nz transport coverage and reform overlays
  • Microcosm NZ country build/release and calibration dashboard surface

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 reading the related #447 issue and the current policyengine.py integration points, then inspect the Chronicle NZ, rulespec-nz, and Microcosm NZ dependency contracts named here. Done means an Axiom-backed NZ model and adapter support baseline and reform runs, weighted MicroSeries or Frame aggregation, focused tests, scorecard-ready receipts and annual NZD results, with explicit pilot labeling.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.