From 820f0b192e218168066bb9e72705e8c858ffca95 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 09:48:33 -0500 Subject: [PATCH 01/15] Declare NZ transport inputs and reference activation Declare June 2025 ERP mass, the version 2 receipt contract, pre-candidate solver settings and generated reference exemptions. Activate supported MSD receipt targets and distinct national recipient and historical Accommodation Assistance comparators. Remove the rent-stock scenario, bind gross paid-benefit reporting and label optional export receipt flags as assigned state. Check active-or-exempt partitioning and exact exemption statuses exhaustively in test_nz_transport_declarations. Check required-reference protection, active receipt targets and bound filters in the same module. Prove disjoint age intervals from their declared bounds and enumerate ages across the working-age boundary. Compare every scenario and gate list, require unsupported VP and verify the separate count and dollar measures. Exercise generator output through --check and retain every inactive-row refusal when reference_selection is absent. Replay the pre-activation reconciliation from pinned aggregate facts and published rates with exact rational arithmetic. Pin recipient selectors through canonical aggregate_fact_key fields and check their shape exhaustively so the existing spec-only scanner recognizes identifiers. Record headline-rate envelopes and exposure sensitivities while leaving category-weighted after-abatement totals unavailable until the hub obtains joint categories, paid amounts and exposure evidence. Preserve engine-pin, graph, export-enforcement and release-evidence handoffs. Regenerate the country golden with the repository summary generator and restrict its diff to the fingerprint, hashes and five added resources. Kill all ten named mutants with their declared invariant tests against fresh scratch copies, and prove each copied import through compose.__file__. Preserve the holdout leakage property while correcting its synthetic ratio selector to retain wildcard periods; add deterministic cases for the newly pinned holdouts. Record each validation file's passing counts, failures and outstanding checks in the handoff report. Co-Authored-By: GPT-6.1 Sol Co-Authored-By: Claude Opus 5.5 --- .../nz-transport-declarations.added.md | 1 + docs/nz-reporting-classifiers-method.md | 10 +- .../build/nz/axiom_input_closure.json | 6 +- .../build/nz/calibration_bindings.json | 18 +- .../build/nz/calibration_settings.json | 28 + .../microcosm/build/nz/country_package.json | 25 + .../microcosm/build/nz/currency_bridge.json | 2 +- .../microcosm/build/nz/export_contract.json | 17 +- .../src/microcosm/build/nz/gates.json | 4 +- .../build/nz/holdout_references.json | 69 +- .../microcosm/build/nz/mass_references.json | 51 + .../nz/msd_pre_activation_reconciliation.json | 1104 ++++ .../microcosm/build/nz/precal_references.json | 1500 +++--- .../microcosm/build/nz/receipt_contract.json | 152 + .../build/nz/reference_inventory.json | 46 +- .../build/nz/reference_profiles.json | 204 +- .../build/nz/reference_selection.json | 4550 +++++++++++++++++ .../build/nz/reporting_classifiers.json | 107 +- .../src/microcosm/build/nz/scenarios.json | 22 +- .../microcosm/build/nz/target_references.json | 3138 ++++++------ ...st_nz_msd_pre_activation_reconciliation.py | 131 + .../shared/test_nz_reference_intervals.py | 3 +- .../shared/test_nz_spec_package.py | 81 +- .../shared/test_nz_target_references.py | 133 +- .../shared/test_nz_transport_declarations.py | 288 ++ .../test_spec_engine_country_bundles.py | 5 + .../shared/test_transport_composed_graph.py | 28 +- .../tests/golden/nz_country_spec.json | 38 +- ...te_nz_msd_pre_activation_reconciliation.py | 321 ++ tools/generate_nz_target_references.py | 217 +- tools/nz_holdout_reference_templates.json | 176 + tools/nz_precal_reference_templates.json | 56 + 32 files changed, 9802 insertions(+), 2729 deletions(-) create mode 100644 changelog.d/nz-transport-declarations.added.md create mode 100644 packages/microcosm-build/src/microcosm/build/nz/calibration_settings.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/mass_references.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/msd_pre_activation_reconciliation.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/reference_selection.json create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_nz_msd_pre_activation_reconciliation.py create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py create mode 100644 tools/generate_nz_msd_pre_activation_reconciliation.py create mode 100644 tools/nz_holdout_reference_templates.json create mode 100644 tools/nz_precal_reference_templates.json diff --git a/changelog.d/nz-transport-declarations.added.md b/changelog.d/nz-transport-declarations.added.md new file mode 100644 index 0000000000..f39f6bd402 --- /dev/null +++ b/changelog.d/nz-transport-declarations.added.md @@ -0,0 +1 @@ +Declare NZ transport mass, assigned receipt profiles, pre-candidate solver settings and explicit reference exemptions. Activate the supported MSD receipt rows and distinct national recipient and historical Accommodation Assistance comparators, remove the rent-stock scenario, and declare gross benefit reporting and optional assigned receipt exports. Add an engine-free pre-activation spending reconciliation that records headline-rate envelopes, exposure sensitivity and the missing category and abatement evidence. Keep the engine pins, graph declaration, export enforcement and release evidence with their named owners. diff --git a/docs/nz-reporting-classifiers-method.md b/docs/nz-reporting-classifiers-method.md index 39cb0a93e4..2b30115c48 100644 --- a/docs/nz-reporting-classifiers-method.md +++ b/docs/nz-reporting-classifiers-method.md @@ -93,19 +93,19 @@ includes both main-benefit and pension recipients as beneficiaries, and the base-rate provisions depend on the applicant; they do not establish a priority between partners in a mixed receipt unit. The reporting convention assigns: -1. `superannuitant` if any member has assigned New Zealand Superannuation or - Veterans Pension receipt; +1. `superannuitant` if any member has assigned New Zealand Superannuation receipt; 2. otherwise `beneficiary` if any member has assigned main-benefit receipt; 3. otherwise `other`. The current main-benefit predicates name Jobseeker Support, Sole Parent Support, and Supported Living Payment. The priority order, default group, membership columns, and receipt predicates are spec parameters. Every required assigned -receipt flag must be present and boolean; missing Veterans Pension support must -be reported and refused rather than assumed false. Each scenario reports the +receipt flag must be present and boolean. H4 excludes unsupported Veterans +Pension from the classifier and discloses the missing programme; the hub must +review its receipt producer before extending this predicate. Each scenario reports the count of units satisfying multiple receipt predicates. -The S0–S4 Accommodation Supplement exclusion selects the same superannuitant +The S0–S3 Accommodation Supplement exclusion selects the same superannuitant predicate as the reporting classifier. Their excluded units must equal the `superannuitant` reporting group. That group's Accommodation Supplement cells are structural zeros in those scenarios and belong in the gate's declared diff --git a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json index e016241bac..66539ff10b 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json +++ b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json @@ -36,10 +36,10 @@ "person.receives_supported_living_payment", "person.receives_nz_super" ], - "note": "The person-level receipt flags the receipt layer (takeup.assign@1, declared but not yet implemented) is to write and the state bindings read. Their names are a contract with that kernel." + "note": "takeup.assign@1 writes these person-level receipt flags under receipt_contract.json, and the state bindings read them. The flags describe assigned snapshot receipt rather than donor observations." }, "receipt_requirements": { - "note": "What the receipt layer (takeup.assign@1, declared but not yet implemented) must enforce because the closure's entitlement defaults leave it to receipt. Each is a modelling default for D1.", + "note": "takeup.assign@1 enforces these exclusions under receipt_contract.json because the closure's entitlement defaults leave them to receipt. Max must still rule on the provisional overlap priority after the engine pin permits its measurement.", "requirements": [ "At most one main benefit (Jobseeker Support, Sole Parent Support, Supported Living Payment) per person: Social Security Act 2018 s 18; main_benefit_receiving_another_main_benefit is defaulted false.", "Never New Zealand Superannuation and a main benefit for the same person: s 18; main_benefit_receiving_new_zealand_superannuation is defaulted false on transported frames.", @@ -130,7 +130,7 @@ "central": 1.0, "values": [], "method_card_row": "MC8", - "note": "A factor on every family's weekly rent: 1.0 centrally; scenario S4's stock adjustment from lodged-bond rents to all rents takes its factor from the B6 evidence." + "note": "The central rent factor holds at 1.0. H7 removes the lodged-bond stock sensitivity; G8-d1 must resolve C1 Census-rent ageing before the rent quantile producer can activate." } ], "entries": [ diff --git a/packages/microcosm-build/src/microcosm/build/nz/calibration_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/calibration_bindings.json index 5eee6c85cb..5dfd68c84f 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/calibration_bindings.json +++ b/packages/microcosm-build/src/microcosm/build/nz/calibration_bindings.json @@ -4491,7 +4491,7 @@ "kind": "household_multiplicity_measure", "family_type_code": 1, "activation_status": "requires_census_family_nucleus_standard", - "reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "reference_bindings": [ { "reference_name": "stats_nz_census_families_by_type_region__r01__t1", @@ -4739,7 +4739,7 @@ "kind": "household_multiplicity_measure", "family_type_code": 2, "activation_status": "requires_census_family_nucleus_standard", - "reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "reference_bindings": [ { "reference_name": "stats_nz_census_families_by_type_region__r01__t2", @@ -4987,7 +4987,7 @@ "kind": "household_multiplicity_measure", "family_type_code": 3, "activation_status": "requires_census_family_nucleus_standard", - "reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "reference_bindings": [ { "reference_name": "stats_nz_census_families_by_type_region__r01__t3", @@ -5229,20 +5229,10 @@ } ] }, - { - "name": "receives_", - "activation_status": "requires_stratified_receipt_assignment", - "reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." - }, - { - "name": "receives_nz_super", - "activation_status": "requires_receipt_binding", - "reason": "NZ Super receipt binding and prepared receipt flag are not implemented." - }, { "name": "receives_veterans_pension", "activation_status": "requires_unsupported_veterans_pension", - "reason": "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false." + "reason": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." } ], "geography_inputs": "Geography stage supplies person.region_code and broadcasts the household location to household.household_region_code.", diff --git a/packages/microcosm-build/src/microcosm/build/nz/calibration_settings.json b/packages/microcosm-build/src/microcosm/build/nz/calibration_settings.json new file mode 100644 index 0000000000..6762b988dd --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/calibration_settings.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "country": "nz", + "status": "The hub accepted these pre-candidate solver settings on 2026-11-01. No NZ convergence measurement supports them yet: G8-x measures convergence and peak memory, and a later change needs a reviewed edit before any candidate counts.", + "epochs": 3000, + "learning_rate": 0.15, + "mass": "free", + "max_weight_ratio": 5, + "weight_anchor": "design", + "reasons": { + "epochs": "Allow 3000 fixed Adam epochs, matching the existing US build budget and exceeding the UK local budget of 2000; no NZ trajectory yet establishes convergence.", + "learning_rate": "Start Adam at 0.15, the existing UK and US operational setting; no NZ candidate supplies evidence yet.", + "mass": "Let calibration fit independently published target margins after CREATE scales the design population to June 2025 ERP; free mass avoids an additional conservation constraint.", + "max_weight_ratio": "Limit each final household weight to five times its design weight; G8-x tests NZ feasibility.", + "weight_anchor": "Anchor the solver cap to design weights because calibrate.ordered_adam@1 requires that anchor whenever a cap exists." + }, + "cap_disclosure": "The solver limits each row relative to its design weight. MC15 independently tests final weights after source-household aggregation and compares their maximum with their positive median; a design-weight cap of 5 does not establish MC15's ratio threshold of 5.", + "execution_requirements": [ + "The operator must measure memory and capacity before a candidate and account for two CREATE executions on a cold run: the inventory probe and graph execution.", + "The operator must retain the local graph store and plan resume before execution. The graph, solver settings and checkpoint identities govern replay.", + "The graph passes only epochs, learning_rate, mass, max_weight_ratio and weight_anchor to calibrate.ordered_adam@1. The export declaration supplies its own time period." + ], + "comparison_evidence": { + "us": "packages/microcosm-build/src/microcosm/build/us_runtime/__init__.py BuildConfig", + "uk": "packages/microcosm-build/src/microcosm/build/uk_runtime/graph_calibration.py UKGraphCalibrationConfig; local_doctrine.py UK_LOCAL_SOLVE_EPOCHS", + "solver": "packages/microcosm-calibrate/src/microcosm/calibrate/ordered_kernels.py _PARAMS and CalibrateOrderedAdamKernel.run" + } +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/country_package.json b/packages/microcosm-build/src/microcosm/build/nz/country_package.json index 69fcc08a09..5e89805587 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/nz/country_package.json @@ -67,6 +67,11 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "calibration_settings.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "chronicle_feed.json", "kind": "legacy_json", @@ -107,11 +112,21 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "mass_references.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "msd_benefit_rates_20260401.json", "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "msd_pre_activation_reconciliation.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "precal_references.json", "kind": "legacy_json", @@ -137,6 +152,16 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "reference_selection.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "receipt_contract.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "release_contract.json", "kind": "legacy_json", diff --git a/packages/microcosm-build/src/microcosm/build/nz/currency_bridge.json b/packages/microcosm-build/src/microcosm/build/nz/currency_bridge.json index e2215358fe..28ce8d2482 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/currency_bridge.json +++ b/packages/microcosm-build/src/microcosm/build/nz/currency_bridge.json @@ -3,7 +3,7 @@ "country": "nz", "method_card_row": "MC4", "description": "The declared USD to NZD bridge for donor money concepts outside the quantile-map set (MC4 quantile-maps earnings, rent and liquid assets onto New Zealand distributions instead). It is exactly one multiplication with two-decimal rounding, applied before calibration and recorded in the build receipt. Aging from the donor dollar year to tax year 2026-27 is a separate declared index (MC1, MC5), not part of this bridge.", - "status": "Adopted: MC4 was adopted as written under d1043 (NZ hub, method card D1 as adopted, 2026-10-10; nz-hub notes/1010/method-card-D1-adopted.md). money_normalization.json is the single source of the executable rate, its quote, rounding and citation; this record points to it rather than repeating the rate.", + "status": "The hub adopted MC4 unchanged under d1043 and method card D1 on 2026-10-10 (nz-hub notes/1010/method-card-D1-adopted.md). money_normalization.json supplies the executable rate, quote, rounding and citation; this record points to that declaration.", "from_currency": "USD", "to_currency": "NZD", "operation": "multiply", diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json index 2c10579077..3063ec4c9d 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json @@ -1,5 +1,5 @@ { - "_description": "Closed Frame export contract for the New Zealand v0 population dataset, which the planned CLI (package G6) is to write outside the graph after the export-prepare node. Donor records remain US support records; the dataset is never described as New Zealand microdata. The required set is the structural and household-weight columns. Encoded engine-input columns enter only when the G4 input-closure table names them and this contract lists them, so an undeclared column is to fail the export gate. formula_owned_excluded is exactly the set of variables the graph requests from the bound rulespec-nz modules (axiom_rules_bindings.json): no rule output may persist as an input.", + "_description": "This closed roster declares the New Zealand v0 export inputs. Donor records remain US support records. The graph must select exact entity-qualified export and gate slices from the required and optional columns. Encoded inputs enter only when axiom_input_closure.json and this roster both name them. The export kernel writes every column that its selected frame carries; this roster alone does not project or enforce those slices. formula_owned_excluded names every output that the graph requests from the bound rulespec-nz modules, and the graph must exclude those outputs from its export slices.", "_source": { "rules_bindings": "axiom_rules_bindings.json", "unit_rule": "benefit_unit_rule.json" @@ -64,7 +64,11 @@ "sex", "region_code", "support_stratum", - "donor_country_code" + "donor_country_code", + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super" ], "formula_owned_excluded": [ "accommodation_supplement_cash_assets_within_limit", @@ -90,5 +94,12 @@ "sole_parent_support_net_weekly_payment", "supported_living_payment_net_weekly_payment" ], - "closed": true + "closed": true, + "_assigned_receipt_inputs": { + "receives_jobseeker_support": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt.", + "receives_sole_parent_support": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt.", + "receives_supported_living_payment": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt.", + "receives_nz_super": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt." + }, + "_slice_requirement": "G8-w3b must declare the exact entity-qualified export and terminal-gate slices. H12 still requires closed-roster enforcement for all replay-required normalized or encoded inputs. export.prepare@1 currently accepts entities, weight_entity, time_period and optional bindings, then writes the selected frame; it does not read this roster. The hub must resolve any required shared-code enforcement separately." } diff --git a/packages/microcosm-build/src/microcosm/build/nz/gates.json b/packages/microcosm-build/src/microcosm/build/nz/gates.json index 91dbd08a80..e6a84bb0ad 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/gates.json +++ b/packages/microcosm-build/src/microcosm/build/nz/gates.json @@ -223,7 +223,6 @@ "S1", "S2", "S3", - "S4", "S5", "V1", "V2", @@ -282,7 +281,7 @@ "target_maximum_single_donor_dollar_share": 0.05 }, "evidence_absent_blocks": true, - "notes": "MC15: missing, malformed or scenario-incomplete source-household diagnostics block. Cells below ESS 100, above contribution CV 2 or donor dollar share 10% are suppressed, never reported; properly suppressed cells do not block. Structural-zero cells are listed separately. Subgroup rows report entitlement, without invented subgroup payment comparators. G8 addendum A2 explicitly expects structural-zero cells: S0/beneficiary_superannuitant_other/superannuitant, S1/beneficiary_superannuitant_other/superannuitant, S2/beneficiary_superannuitant_other/superannuitant, S3/beneficiary_superannuitant_other/superannuitant, S4/beneficiary_superannuitant_other/superannuitant. The machine-readable list is reporting_classifiers.json structural_zero_cells; actual structural-zero diagnostics are derived from reported amounts." + "notes": "MC15: missing, malformed or scenario-incomplete source-household diagnostics block. MC15 suppresses cells below ESS 100, above contribution CV 2 or donor dollar share 10% and excludes them from reported output; proper suppression does not block. The classifier lists structural-zero cells separately. Subgroup rows report entitlement, without invented subgroup payment comparators. G8 addendum A2 explicitly expects structural-zero cells: S0/beneficiary_superannuitant_other/superannuitant, S1/beneficiary_superannuitant_other/superannuitant, S2/beneficiary_superannuitant_other/superannuitant, S3/beneficiary_superannuitant_other/superannuitant. The machine-readable list is reporting_classifiers.json structural_zero_cells; reported amounts determine actual structural-zero diagnostics." }, { "id": "weight_effective_sample_size_target_a", @@ -311,7 +310,6 @@ "S1", "S2", "S3", - "S4", "S5", "V1", "V2", diff --git a/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json b/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json index bc2d66492b..17b772bab9 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json +++ b/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json @@ -1,47 +1,80 @@ { "country": "nz", "reference_set": "holdout", - "description": "New Zealand v0 held-out references: Accommodation Supplement comparators (recipients, MSD Accommodation Assistance expenditure, Treasury AN 24/01) and the Working for Families tripwire. MC5 holds these out of calibration; no calibration-side graph node may read this resource. target_role is validation throughout. Every row is an unactivated placeholder. Each period follows the label convention of its Chronicle package (IRD tax years by closing year; MSD fiscal years by opening year, as recorded in source_period_kind, source_period_start and source_period_end); activation re-checks every period against the harvested facts.", + "description": "tools/generate_nz_target_references.py generates NZ v0 held-out references. H1 counts national positive-payment recipients and H2 compares annual model dollars with historical Accommodation Assistance expenditure. Neither enters calibration. Treasury and WFF remain exempt until their named prerequisites close; historical observations retain their source periods.", "allowed_value_operations": [ "identity" ], "target_references": [ { - "name": "msd_accommodation_supplement_recipients_by_region", + "name": "msd_accommodation_supplement_recipients_national", "ledger_selector": { - "source_name": "msd_quarterly_benefit_facts", - "source_measure_id": "accommodation_supplement_recipients_by_region", - "geography_level": "region" + "source_name": "msd", + "source_measure_id": "recipients", + "source_concept": "msd.supplementary_assistance_recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2026-06", + "geography_level": "country", + "geography_id": "NZ", + "geography_vintage": "current", + "record_set_id": "msd_benefit_statistics.month2026_06.national_supplementary_assistance", + "dimensions": [ + "msd_supplementary_assistance_type" + ], + "dimension_values": { + "msd_supplementary_assistance_type": "accommodation_supplement" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:ecdce133eeb78feb10d567cc" }, "entity": "family", - "measure": "receives_accommodation_supplement", - "period": "2026-03", + "measure": "accommodation_supplement_positive_payment_indicator", + "period": "2026-06", "family": "accommodation_supplement", "metadata": { - "activation_status": "requires_harvested_cell_references_and_geography_bridge", + "activation_status": "active", "criticality": "diagnostic", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "validation", "reference_set": "holdout", "method_card_row": "MC5", - "holdout_use": "accommodation_supplement_recipient_comparator" + "holdout_use": "accommodation_supplement_recipient_comparator", + "annualisation_factor": "1", + "indicator_input_column": "accommodation_supplement_rounded_weekly_payment", + "indicator_operator": "positive", + "indicator_threshold": "0", + "measurement_basis": "National positive-payment recipient count; June 2026 snapshot stock, not annual recipients or dollars." }, - "notes": "Held out (MC5, conflict C5): calibrating to Accommodation Supplement recipients would predetermine the take-up comparison. MSD Work and Income regions are not Stats NZ regions, so comparison needs an explicit geography bridge. Compared with modelled eligible units, never used as a target." + "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_rounded_weekly_payment exceeds zero. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration." }, { "name": "msd_annual_report_accommodation_assistance_expenditure", "ledger_selector": { - "source_name": "msd_annual_report", - "source_measure_id": "benefits_or_related_expenses_accommodation_assistance", - "geography_level": "country" + "source_name": "msd", + "source_measure_id": "actual_expenses_nzd", + "source_concept": "msd.benefits_or_related_expenses", + "entity_name": "government", + "period_type": "fiscal_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "NZ", + "geography_vintage": "current", + "record_set_id": "msd.benefit_expenses.fy2024", + "dimensions": [ + "benefit_expense_component" + ], + "dimension_values": { + "benefit_expense_component": "Accommodation Assistance" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:10c6ad3bbb19b8137b471748" }, "entity": "family", - "measure": "accommodation_supplement_annual_amount", + "measure": "accommodation_supplement_rounded_weekly_payment", "period": 2024, "family": "accommodation_supplement", "metadata": { - "activation_status": "requires_harvested_fact_reference_and_scope_evidence", + "activation_status": "active", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "source_period_kind": "fiscal_year", @@ -51,9 +84,11 @@ "criticality": "diagnostic", "reference_set": "holdout", "method_card_row": "MC2", - "holdout_use": "accommodation_supplement_dollar_comparator" + "holdout_use": "accommodation_supplement_dollar_comparator", + "annualisation_factor": "52", + "measurement_basis": "Historical fiscal-year 2024/25 Accommodation Assistance expenditure versus annualised model dollars; no period alignment or AS-only scope claim." }, - "notes": "MSD Annual Report 2025, Benefits or Related Expenses, 2024/25 actual, published line \"Accommodation Assistance\" (targets doc M2). The comparator for the annual dollar gap (MC2). The line label may cover more than the Accommodation Supplement; the Chronicle package must record the appropriation definition before any statement that calls it Accommodation Supplement paid. Period 2024 is the opening year of the July-June fiscal year." + "notes": "H2 annualises accommodation_supplement_rounded_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set." }, { "name": "treasury_an24_01_accommodation_supplement_fiscal_total", diff --git a/packages/microcosm-build/src/microcosm/build/nz/mass_references.json b/packages/microcosm-build/src/microcosm/build/nz/mass_references.json new file mode 100644 index 0000000000..f9ba339c58 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/mass_references.json @@ -0,0 +1,51 @@ +{ + "country": "nz", + "reference_set": "mass", + "description": "CREATE scales design weights to Stats NZ's national June 2025 estimated resident population under H8; this unfiltered person count supplies mass, not a calibration row.", + "target_references": [ + { + "name": "stats_nz_national_erp_june_2025", + "ledger_selector": { + "source_name": "stats_nz", + "source_measure_id": "population", + "source_concept": "stats_nz.estimated_resident_population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "NZ", + "geography_vintage": "current", + "record_set_id": "stats_nz.cy2025.subnational_population.all_ages", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1ba314a94795074129a560a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "national_erp", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Stats NZ", + "target_role": "pre_calibration", + "reference_set": "mass", + "method_card_row": "MC5" + }, + "hierarchy": { + "provider": { + "id": "stats_nz", + "label": "Stats NZ" + }, + "category": { + "id": "demography", + "label": "Demography", + "provider_id": "stats_nz" + }, + "target_label": "New Zealand estimated resident population, June 2025" + } + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/msd_pre_activation_reconciliation.json b/packages/microcosm-build/src/microcosm/build/nz/msd_pre_activation_reconciliation.json new file mode 100644 index 0000000000..9ad440be77 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/msd_pre_activation_reconciliation.json @@ -0,0 +1,1104 @@ +{ + "schema_version": 1, + "stage": "pre_activation", + "status": "after_abatement_reconciliation_unavailable", + "purpose": "Microcosm reviews the available aggregate evidence before activating the receipt references. This report grants no release approval and runs no active graph.", + "feed_identity": { + "version": 1, + "country": "nz", + "scope": "nz_calibration", + "source_repo": "PolicyEngine/chronicle", + "source_commit": "8f4cfd573c0d6f580d9c51cd67e8f449a42ed174", + "build": "build-bundle --suite nz -> build-consumer-artifact", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 12368, + "facts_sha256": "03f5ea0fe60e6dc93a135ab32cd5cd6ffb56388e702a4734cdb515a956e36b18", + "manifest_sha256": "1ea2d1eeb122275a9ce7f861ca3e20e21dd695772c04ce9d71114168e92fe053" + }, + "rates_resource": "msd_benefit_rates_20260401.json", + "rates_sha256": "1d03bcbe2ff34a27e6efe42e69871a71271c4e16fe9e3327f79acb8dba7d6b26", + "source_rows": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ee2fbceca03ea6cf897aeb87", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "jobseeker_support_and_emergency_benefit", + "dimensions": { + "benefit_expense_component": "Jobseeker Support and Emergency Benefit" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 4640562000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0bbf770a6b0baa84853d9c18", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "new_zealand_superannuation", + "dimensions": { + "benefit_expense_component": "New Zealand Superannuation" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 23191199000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c6846c99892eccdf29a4a695", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "orphans_unsupported_childs_benefit", + "dimensions": { + "benefit_expense_component": "Orphan's/Unsupported Child's Benefit" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 402311000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:48d697bf0900434af3924605", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "sole_parent_support", + "dimensions": { + "benefit_expense_component": "Sole Parent Support" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 2255092000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ee2e4e9979352ac3989a5b7", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "student_allowances", + "dimensions": { + "benefit_expense_component": "Student Allowances" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 573646000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da9daf8ba1407b2e8a76dce6", + "record_set_id": "msd.benefit_expenses.fy2024", + "source_row_id": "supported_living_payment", + "dimensions": { + "benefit_expense_component": "Supported Living Payment" + }, + "period": { + "type": "fiscal_year", + "value": 2024 + }, + "period_coverage": { + "basis": "fiscal", + "start_date": "2024-07-01", + "end_date": "2025-06-30", + "source_period_label": "2025" + }, + "unit": "nzd", + "value": 2668450000 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:867e3db70e72831a0f50dcee", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "18-24 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "18-24 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "jobseeker_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 48045 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae0a2a10d2c00b4312e9b01a", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "18-24 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "18-24 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "sole_parent_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 9327 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:62047e9fd2828d732b24a4be", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "18-24 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "18-24 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "supported_living_payment" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 9420 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a58d823b0c6a5b1dff09d281", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "25-39 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "25-39 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "jobseeker_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 68376 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:816ac1eb59450cb26b267e12", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "25-39 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "25-39 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "sole_parent_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 52398 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8aac70ea17cd17b00998032b", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "25-39 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "25-39 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "supported_living_payment" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 24138 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b26addc6f9f8de143650562f", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "40-54 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "40-54 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "jobseeker_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 57399 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9b4a9c78618f59362e4f978a", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "40-54 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "40-54 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "sole_parent_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 18522 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fe4ec74a68196b4f866202d7", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "40-54 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "40-54 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "supported_living_payment" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 32838 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ea61ef4c35eea39dc5bcd84f", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "55-64 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "55-64 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "jobseeker_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 44661 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cefeec38e73ee55c37049f10", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "55-64 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "55-64 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "sole_parent_support" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 1011 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cb997b79065997f23e35457f", + "record_set_id": "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age", + "source_row_id": "55-64 years", + "dimensions": { + "msd_main_benefit_age_group_source_label": "55-64 years", + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": "supported_living_payment" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 43107 + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:215d8e4916b479cd62438c56", + "record_set_id": "msd_nzs_vp.june2026.recipient_total", + "source_row_id": "all", + "dimensions": { + "msd_nzs_vp.benefit_type": "nzs", + "msd_nzs_vp.recipient_total": "all" + }, + "period": { + "type": "month", + "value": "2026-06" + }, + "period_coverage": { + "basis": "calendar", + "start_date": "2026-06-30", + "end_date": "2026-06-30", + "source_period_label": "Jun-26" + }, + "unit": "count", + "value": 974001 + } + ], + "exhaustive_msd_dimension_audit": { + "msd.benefit_expenses.fy2024": [ + "benefit_expense_component" + ], + "msd.supplementary.jun2026.auckland": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.bay-of-plenty": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.canterbury": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.central": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.east-coast": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.nelson": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.northland": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.other-regions": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.southern": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.taranaki": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.waikato": [ + "msd_supplementary_assistance_type" + ], + "msd.supplementary.jun2026.wellington": [ + "msd_supplementary_assistance_type" + ], + "msd_benefit_statistics.month2026_06.jobseeker_support_subgroups": [ + "msd_main_benefit_age_status", + "msd_main_benefit_subgroup", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.national_supplementary_assistance": [ + "msd_supplementary_assistance_type" + ], + "msd_benefit_statistics.month2026_06.non_working_age_benefits": [ + "msd_main_benefit_age_status", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.other_working_age_benefits": [ + "msd_main_benefit_age_status", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.supported_living_payment_subgroups": [ + "msd_main_benefit_age_status", + "msd_main_benefit_subgroup", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.working_age_benefit_totals": [ + "msd_main_benefit_age_status", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age": [ + "msd_main_benefit_age_group_source_label", + "msd_main_benefit_age_status", + "msd_main_benefit_type" + ], + "msd_benefit_statistics.month2026_06.youth_payment_working_age_by_age": [ + "msd_main_benefit_age_group_source_label", + "msd_main_benefit_age_status", + "msd_main_benefit_type" + ], + "msd_nzs_vp.june2026.additional_support": [ + "msd_nzs_vp.additional_support", + "msd_nzs_vp.benefit_type" + ], + "msd_nzs_vp.june2026.age_group": [ + "msd_nzs_vp.age_group", + "msd_nzs_vp.benefit_type" + ], + "msd_nzs_vp.june2026.ethnic_group": [ + "msd_nzs_vp.benefit_type", + "msd_nzs_vp.ethnic_group" + ], + "msd_nzs_vp.june2026.ethnicity_reporting_status": [ + "msd_nzs_vp.benefit_type", + "msd_nzs_vp.ethnicity_reporting_status" + ], + "msd_nzs_vp.june2026.gender": [ + "msd_nzs_vp.benefit_type", + "msd_nzs_vp.gender" + ], + "msd_nzs_vp.june2026.recipient_total": [ + "msd_nzs_vp.benefit_type", + "msd_nzs_vp.recipient_total" + ] + }, + "method": { + "headline": "Microcosm multiplies each published June 2026 age-cell recipient count by 52 and each compatible published April 2026 individual gross weekly rate. Microcosm sums the lower and upper category endpoints across age cells; it assigns no category shares. NZS uses its unstratified stock and all published individual fortnightly rates divided by two, including hospital and legacy categories.", + "category_weighting": "The pinned feed supplies programme-by-age counts and separate subgroup, gender and ethnicity marginals. None supplies the joint payment categories for single, couple, children, home or sharing status. Microcosm reports an age-weighted headline envelope; it cannot compute the required category-weighted paid total from these inputs.", + "after_abatement": "Published headline rates precede income abatement. The pinned feed and rates omit recipient earnings, partner earnings and person-level paid amounts. Microcosm cannot compute an after-abatement total without person-level data; it leaves that total null and makes no abatement assumption.", + "exposure": "Microcosm shows mechanical exposure fractions 1/2, 3/4 and 1 to disclose sensitivity. These fractions describe scenarios, not observed durations or a fitted central estimate. Each fraction scales both headline endpoints exactly.", + "period_and_universe": "June 2026 stocks and April 2026 rates describe a different period from actual expenditure in the year ended 30 June 2025. Microcosm applies no uprating or period alignment. JS expenditure also includes Emergency Benefit; the modelled JS count excludes it. Working-age main-benefit counts omit persons outside 18-64. Independently rounded source cells may disagree with published totals.", + "arithmetic": "Microcosm uses exact rational arithmetic and decimal text. It applies no intermediate cent rounding and never applies a two-recipient couple total to one recipient." + }, + "comparisons": [ + { + "programme": "jobseeker_support", + "recipient_count": 218481, + "strata": [ + { + "age_stratum": "18-24 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:867e3db70e72831a0f50dcee" + }, + "recipient_count": 48045, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 18 to 19 years, at home", + "gross_weekly_nzd": "309.65" + }, + { + "section": "If you don't have children", + "category": "Single, 18 to 19 years, away from home", + "gross_weekly_nzd": "367.88" + }, + { + "section": "If you don't have children", + "category": "Single, 20 to 24 years", + "gross_weekly_nzd": "367.88" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "358.75" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "380.24" + } + ], + "annual_headline_lower_nzd": "773610981.00", + "annual_headline_upper_nzd": "1515717894.60" + }, + { + "age_stratum": "25-39 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a58d823b0c6a5b1dff09d281" + }, + "recipient_count": 68376, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 25 years or over", + "gross_weekly_nzd": "426.12" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "358.75" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "380.24" + } + ], + "annual_headline_lower_nzd": "1275554280.00", + "annual_headline_upper_nzd": "2157117842.88" + }, + { + "age_stratum": "40-54 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b26addc6f9f8de143650562f" + }, + "recipient_count": 57399, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 25 years or over", + "gross_weekly_nzd": "426.12" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "358.75" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "380.24" + } + ], + "annual_headline_lower_nzd": "1070778345.00", + "annual_headline_upper_nzd": "1810816764.12" + }, + { + "age_stratum": "55-64 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ea61ef4c35eea39dc5bcd84f" + }, + "recipient_count": 44661, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 25 years or over", + "gross_weekly_nzd": "426.12" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "358.75" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "380.24" + } + ], + "annual_headline_lower_nzd": "833150955.00", + "annual_headline_upper_nzd": "1408959868.68" + } + ], + "headline_rate_total_nzd": null, + "category_weighted_after_abatement_total_nzd": null, + "published_expense_component": "jobseeker_support_and_emergency_benefit", + "published_actual_expense_nzd": "4640562000.00", + "exposure_sensitivity": [ + { + "full_year_exposure": "1/2", + "headline_lower_nzd": "1976547280.50", + "headline_upper_nzd": "3446306185.14", + "lower_minus_published_nzd": "-2664014719.50", + "upper_minus_published_nzd": "-1194255814.86" + }, + { + "full_year_exposure": "3/4", + "headline_lower_nzd": "2964820920.75", + "headline_upper_nzd": "5169459277.71", + "lower_minus_published_nzd": "-1675741079.25", + "upper_minus_published_nzd": "528897277.71" + }, + { + "full_year_exposure": "1", + "headline_lower_nzd": "3953094561.00", + "headline_upper_nzd": "6892612370.28", + "lower_minus_published_nzd": "-687467439.00", + "upper_minus_published_nzd": "2252050370.28" + } + ] + }, + { + "programme": "sole_parent_support", + "recipient_count": 81258, + "strata": [ + { + "age_stratum": "18-24 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae0a2a10d2c00b4312e9b01a" + }, + "recipient_count": 9327, + "available_individual_rate_categories": [ + { + "section": "", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + } + ], + "annual_headline_lower_nzd": "294247076.76", + "annual_headline_upper_nzd": "294247076.76" + }, + { + "age_stratum": "25-39 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:816ac1eb59450cb26b267e12" + }, + "recipient_count": 52398, + "available_individual_rate_categories": [ + { + "section": "", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + } + ], + "annual_headline_lower_nzd": "1653045816.24", + "annual_headline_upper_nzd": "1653045816.24" + }, + { + "age_stratum": "40-54 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9b4a9c78618f59362e4f978a" + }, + "recipient_count": 18522, + "available_individual_rate_categories": [ + { + "section": "", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + } + ], + "annual_headline_lower_nzd": "584329833.36", + "annual_headline_upper_nzd": "584329833.36" + }, + { + "age_stratum": "55-64 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cefeec38e73ee55c37049f10" + }, + "recipient_count": 1011, + "available_individual_rate_categories": [ + { + "section": "", + "category": "Sole parent", + "gross_weekly_nzd": "606.69" + } + ], + "annual_headline_lower_nzd": "31894906.68", + "annual_headline_upper_nzd": "31894906.68" + } + ], + "headline_rate_total_nzd": "2563517633.04", + "category_weighted_after_abatement_total_nzd": null, + "published_expense_component": "sole_parent_support", + "published_actual_expense_nzd": "2255092000.00", + "exposure_sensitivity": [ + { + "full_year_exposure": "1/2", + "headline_lower_nzd": "1281758816.52", + "headline_upper_nzd": "1281758816.52", + "lower_minus_published_nzd": "-973333183.48", + "upper_minus_published_nzd": "-973333183.48" + }, + { + "full_year_exposure": "3/4", + "headline_lower_nzd": "1922638224.78", + "headline_upper_nzd": "1922638224.78", + "lower_minus_published_nzd": "-332453775.22", + "upper_minus_published_nzd": "-332453775.22" + }, + { + "full_year_exposure": "1", + "headline_lower_nzd": "2563517633.04", + "headline_upper_nzd": "2563517633.04", + "lower_minus_published_nzd": "308425633.04", + "upper_minus_published_nzd": "308425633.04" + } + ] + }, + { + "programme": "supported_living_payment", + "recipient_count": 109503, + "strata": [ + { + "age_stratum": "18-24 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:62047e9fd2828d732b24a4be" + }, + "recipient_count": 9420, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 18+", + "gross_weekly_nzd": "489.21" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "411.78" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "679.95" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "433.30" + }, + { + "section": "If you have children", + "category": "Couple with 1 partner not on benefit (total)", + "gross_weekly_nzd": "450.84" + } + ], + "annual_headline_lower_nzd": "201706315.20", + "annual_headline_upper_nzd": "333066708.00" + }, + { + "age_stratum": "25-39 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8aac70ea17cd17b00998032b" + }, + "recipient_count": 24138, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 18+", + "gross_weekly_nzd": "489.21" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "411.78" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "679.95" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "433.30" + }, + { + "section": "If you have children", + "category": "Couple with 1 partner not on benefit (total)", + "gross_weekly_nzd": "450.84" + } + ], + "annual_headline_lower_nzd": "516856373.28", + "annual_headline_upper_nzd": "853456921.20" + }, + { + "age_stratum": "40-54 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fe4ec74a68196b4f866202d7" + }, + "recipient_count": 32838, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 18+", + "gross_weekly_nzd": "489.21" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "411.78" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "679.95" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "433.30" + }, + { + "section": "If you have children", + "category": "Couple with 1 partner not on benefit (total)", + "gross_weekly_nzd": "450.84" + } + ], + "annual_headline_lower_nzd": "703145645.28", + "annual_headline_upper_nzd": "1161066301.20" + }, + { + "age_stratum": "55-64 years", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cb997b79065997f23e35457f" + }, + "recipient_count": 43107, + "available_individual_rate_categories": [ + { + "section": "If you don't have children", + "category": "Single, 18+", + "gross_weekly_nzd": "489.21" + }, + { + "section": "If you don't have children", + "category": "Couple (each)", + "gross_weekly_nzd": "411.78" + }, + { + "section": "If you have children", + "category": "Sole parent", + "gross_weekly_nzd": "679.95" + }, + { + "section": "If you have children", + "category": "Couple (each)", + "gross_weekly_nzd": "433.30" + }, + { + "section": "If you have children", + "category": "Couple with 1 partner not on benefit (total)", + "gross_weekly_nzd": "450.84" + } + ], + "annual_headline_lower_nzd": "923031223.92", + "annual_headline_upper_nzd": "1524151441.80" + } + ], + "headline_rate_total_nzd": null, + "category_weighted_after_abatement_total_nzd": null, + "published_expense_component": "supported_living_payment", + "published_actual_expense_nzd": "2668450000.00", + "exposure_sensitivity": [ + { + "full_year_exposure": "1/2", + "headline_lower_nzd": "1172369778.84", + "headline_upper_nzd": "1935870686.10", + "lower_minus_published_nzd": "-1496080221.16", + "upper_minus_published_nzd": "-732579313.90" + }, + { + "full_year_exposure": "3/4", + "headline_lower_nzd": "1758554668.26", + "headline_upper_nzd": "2903806029.15", + "lower_minus_published_nzd": "-909895331.74", + "upper_minus_published_nzd": "235356029.15" + }, + { + "full_year_exposure": "1", + "headline_lower_nzd": "2344739557.68", + "headline_upper_nzd": "3871741372.20", + "lower_minus_published_nzd": "-323710442.32", + "upper_minus_published_nzd": "1203291372.20" + } + ] + }, + { + "programme": "nz_super", + "recipient_count": 974001, + "strata": [ + { + "age_stratum": "all", + "recipient_selector": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:215d8e4916b479cd62438c56" + }, + "recipient_count": 974001, + "available_individual_rate_categories": [ + { + "section": "Standard rates", + "category": "Single, living alone", + "gross_weekly_nzd": "647.37" + }, + { + "section": "Standard rates", + "category": "Single, sharing", + "gross_weekly_nzd": "595.57" + }, + { + "section": "Standard rates", + "category": "Only one of you qualifies", + "gross_weekly_nzd": "492.14" + }, + { + "section": "Standard rates", + "category": "Both you and your partner qualify (each)", + "gross_weekly_nzd": "492.14" + }, + { + "section": "Standard rates", + "category": "Only one of you qualifies and you include your partner in your payments (each) – grandparented since November 2020", + "gross_weekly_nzd": "466.58" + }, + { + "section": "Non-standard rates", + "category": "Couple, with non-qualified spouse included before 1 October 1991 (each)", + "gross_weekly_nzd": "492.14" + }, + { + "section": "Non-standard rates", + "category": "Hospital rate (always taxed at 'M')", + "gross_weekly_nzd": "65.16" + } + ], + "annual_headline_lower_nzd": "3300227068.32", + "annual_headline_upper_nzd": "32788029423.24" + } + ], + "headline_rate_total_nzd": null, + "category_weighted_after_abatement_total_nzd": null, + "published_expense_component": "new_zealand_superannuation", + "published_actual_expense_nzd": "23191199000.00", + "exposure_sensitivity": [ + { + "full_year_exposure": "1/2", + "headline_lower_nzd": "1650113534.16", + "headline_upper_nzd": "16394014711.62", + "lower_minus_published_nzd": "-21541085465.84", + "upper_minus_published_nzd": "-6797184288.38" + }, + { + "full_year_exposure": "3/4", + "headline_lower_nzd": "2475170301.24", + "headline_upper_nzd": "24591022067.43", + "lower_minus_published_nzd": "-20716028698.76", + "upper_minus_published_nzd": "1399823067.43" + }, + { + "full_year_exposure": "1", + "headline_lower_nzd": "3300227068.32", + "headline_upper_nzd": "32788029423.24", + "lower_minus_published_nzd": "-19890971931.68", + "upper_minus_published_nzd": "9596830423.24" + } + ] + } + ], + "published_expenses": [ + { + "component": "jobseeker_support_and_emergency_benefit", + "aggregate_fact_key": "ledger.aggregate_fact.v2:ee2fbceca03ea6cf897aeb87", + "published_actual_expense_nzd": "4640562000.00", + "comparison_status": "headline_envelope_only" + }, + { + "component": "new_zealand_superannuation", + "aggregate_fact_key": "ledger.aggregate_fact.v2:0bbf770a6b0baa84853d9c18", + "published_actual_expense_nzd": "23191199000.00", + "comparison_status": "headline_envelope_only" + }, + { + "component": "orphans_unsupported_childs_benefit", + "aggregate_fact_key": "ledger.aggregate_fact.v2:c6846c99892eccdf29a4a695", + "published_actual_expense_nzd": "402311000.00", + "comparison_status": "unmodelled_programme_no_comparison" + }, + { + "component": "sole_parent_support", + "aggregate_fact_key": "ledger.aggregate_fact.v2:48d697bf0900434af3924605", + "published_actual_expense_nzd": "2255092000.00", + "comparison_status": "headline_envelope_only" + }, + { + "component": "student_allowances", + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ee2e4e9979352ac3989a5b7", + "published_actual_expense_nzd": "573646000.00", + "comparison_status": "unmodelled_programme_no_comparison" + }, + { + "component": "supported_living_payment", + "aggregate_fact_key": "ledger.aggregate_fact.v2:da9daf8ba1407b2e8a76dce6", + "published_actual_expense_nzd": "2668450000.00", + "comparison_status": "headline_envelope_only" + } + ], + "closure_requirements": [ + "The hub needs person-level or published joint payment-category counts to replace the headline envelopes with category-weighted totals.", + "The hub needs the pinned engine, person and partner income inputs, paid gross amounts after abatement, and measured annual exposure to compute paid programme totals; G8-r2c owns the declared annual-transfer exposure sensitivity.", + "The hub needs a reviewed common expenditure period, rate vintage and recipient universe, including Emergency Benefit and non-working-age differences, before it can interpret the remaining published-total gap." + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/precal_references.json b/packages/microcosm-build/src/microcosm/build/nz/precal_references.json index 9b43f01282..e1a5b5f34d 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/precal_references.json +++ b/packages/microcosm-build/src/microcosm/build/nz/precal_references.json @@ -34,14 +34,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -55,7 +55,7 @@ }, "target_label": "TY2026-27 wage/salary band $1 - $1,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_8", @@ -85,14 +85,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -106,7 +106,7 @@ }, "target_label": "TY2026-27 wage/salary band $1,001 - $2,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_9", @@ -136,14 +136,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -157,7 +157,7 @@ }, "target_label": "TY2026-27 wage/salary band $2,001 - $3,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_10", @@ -187,14 +187,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -208,7 +208,7 @@ }, "target_label": "TY2026-27 wage/salary band $3,001 - $4,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_11", @@ -238,14 +238,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -259,7 +259,7 @@ }, "target_label": "TY2026-27 wage/salary band $4,001 - $5,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_12", @@ -289,14 +289,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -310,7 +310,7 @@ }, "target_label": "TY2026-27 wage/salary band $5,001 - $6,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_13", @@ -340,14 +340,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -361,7 +361,7 @@ }, "target_label": "TY2026-27 wage/salary band $6,001 - $7,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_14", @@ -391,14 +391,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -412,7 +412,7 @@ }, "target_label": "TY2026-27 wage/salary band $7,001 - $8,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_15", @@ -442,14 +442,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -463,7 +463,7 @@ }, "target_label": "TY2026-27 wage/salary band $8,001 - $9,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_16", @@ -493,14 +493,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -514,7 +514,7 @@ }, "target_label": "TY2026-27 wage/salary band $9,001 - $10,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_17", @@ -544,14 +544,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -565,7 +565,7 @@ }, "target_label": "TY2026-27 wage/salary band $10,001 - $11,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_18", @@ -595,14 +595,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -616,7 +616,7 @@ }, "target_label": "TY2026-27 wage/salary band $11,001 - $12,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_19", @@ -646,14 +646,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -667,7 +667,7 @@ }, "target_label": "TY2026-27 wage/salary band $12,001 - $13,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_20", @@ -697,14 +697,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -718,7 +718,7 @@ }, "target_label": "TY2026-27 wage/salary band $13,001 - $14,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_21", @@ -748,14 +748,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -769,7 +769,7 @@ }, "target_label": "TY2026-27 wage/salary band $14,001 - $15,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_22", @@ -799,14 +799,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -820,7 +820,7 @@ }, "target_label": "TY2026-27 wage/salary band $15,001 - $16,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_23", @@ -850,14 +850,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -871,7 +871,7 @@ }, "target_label": "TY2026-27 wage/salary band $16,001 - $17,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_24", @@ -901,14 +901,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -922,7 +922,7 @@ }, "target_label": "TY2026-27 wage/salary band $17,001 - $18,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_25", @@ -952,14 +952,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -973,7 +973,7 @@ }, "target_label": "TY2026-27 wage/salary band $18,001 - $19,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_26", @@ -1003,14 +1003,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1024,7 +1024,7 @@ }, "target_label": "TY2026-27 wage/salary band $19,001 - $20,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_27", @@ -1054,14 +1054,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1075,7 +1075,7 @@ }, "target_label": "TY2026-27 wage/salary band $20,000 - $21,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_28", @@ -1105,14 +1105,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1126,7 +1126,7 @@ }, "target_label": "TY2026-27 wage/salary band $21,001 - $22,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_29", @@ -1156,14 +1156,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1177,7 +1177,7 @@ }, "target_label": "TY2026-27 wage/salary band $22,001 - $23,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_30", @@ -1207,14 +1207,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1228,7 +1228,7 @@ }, "target_label": "TY2026-27 wage/salary band $23,001 - $24,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_31", @@ -1258,14 +1258,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1279,7 +1279,7 @@ }, "target_label": "TY2026-27 wage/salary band $24,001 - $25,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_32", @@ -1309,14 +1309,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1330,7 +1330,7 @@ }, "target_label": "TY2026-27 wage/salary band $25,001 - $26,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_33", @@ -1360,14 +1360,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1381,7 +1381,7 @@ }, "target_label": "TY2026-27 wage/salary band $26,001 - $27,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_34", @@ -1411,14 +1411,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1432,7 +1432,7 @@ }, "target_label": "TY2026-27 wage/salary band $27,001 - $28,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_35", @@ -1462,14 +1462,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1483,7 +1483,7 @@ }, "target_label": "TY2026-27 wage/salary band $28,001 - $29,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_36", @@ -1513,14 +1513,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1534,7 +1534,7 @@ }, "target_label": "TY2026-27 wage/salary band $29,001 - $30,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_37", @@ -1564,14 +1564,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1585,7 +1585,7 @@ }, "target_label": "TY2026-27 wage/salary band $30,001 - $31,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_38", @@ -1615,14 +1615,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1636,7 +1636,7 @@ }, "target_label": "TY2026-27 wage/salary band $31,001 - $32,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_39", @@ -1666,14 +1666,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1687,7 +1687,7 @@ }, "target_label": "TY2026-27 wage/salary band $32,001 - $33,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_40", @@ -1717,14 +1717,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1738,7 +1738,7 @@ }, "target_label": "TY2026-27 wage/salary band $33,001 - $34,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_41", @@ -1768,14 +1768,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1789,7 +1789,7 @@ }, "target_label": "TY2026-27 wage/salary band $34,001 - $35,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_42", @@ -1819,14 +1819,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1840,7 +1840,7 @@ }, "target_label": "TY2026-27 wage/salary band $35,001 - $36,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_43", @@ -1870,14 +1870,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1891,7 +1891,7 @@ }, "target_label": "TY2026-27 wage/salary band $36,001 - $37,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_44", @@ -1921,14 +1921,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1942,7 +1942,7 @@ }, "target_label": "TY2026-27 wage/salary band $37,001 - $38,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_45", @@ -1972,14 +1972,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -1993,7 +1993,7 @@ }, "target_label": "TY2026-27 wage/salary band $38,001 - $39,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_46", @@ -2023,14 +2023,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2044,7 +2044,7 @@ }, "target_label": "TY2026-27 wage/salary band $39,001 - $40,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_47", @@ -2074,14 +2074,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2095,7 +2095,7 @@ }, "target_label": "TY2026-27 wage/salary band $40,001 - $41,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_48", @@ -2125,14 +2125,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2146,7 +2146,7 @@ }, "target_label": "TY2026-27 wage/salary band $41,001 - $42,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_49", @@ -2176,14 +2176,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2197,7 +2197,7 @@ }, "target_label": "TY2026-27 wage/salary band $42,001 - $43,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_50", @@ -2227,14 +2227,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2248,7 +2248,7 @@ }, "target_label": "TY2026-27 wage/salary band $43,001 - $44,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_51", @@ -2278,14 +2278,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2299,7 +2299,7 @@ }, "target_label": "TY2026-27 wage/salary band $44,001 - $45,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_52", @@ -2329,14 +2329,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2350,7 +2350,7 @@ }, "target_label": "TY2026-27 wage/salary band $45,001 - $46,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_53", @@ -2380,14 +2380,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2401,7 +2401,7 @@ }, "target_label": "TY2026-27 wage/salary band $46,001 - $47,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_54", @@ -2431,14 +2431,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2452,7 +2452,7 @@ }, "target_label": "TY2026-27 wage/salary band $47,001 - $48,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_55", @@ -2482,14 +2482,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2503,7 +2503,7 @@ }, "target_label": "TY2026-27 wage/salary band $48,001 - $49,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_56", @@ -2533,14 +2533,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2554,7 +2554,7 @@ }, "target_label": "TY2026-27 wage/salary band $49,001 - $50,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_57", @@ -2584,14 +2584,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2605,7 +2605,7 @@ }, "target_label": "TY2026-27 wage/salary band $50,000 - $51,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_58", @@ -2635,14 +2635,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2656,7 +2656,7 @@ }, "target_label": "TY2026-27 wage/salary band $51,001 - $52,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_59", @@ -2686,14 +2686,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2707,7 +2707,7 @@ }, "target_label": "TY2026-27 wage/salary band $52,001 - $53,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_60", @@ -2737,14 +2737,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2758,7 +2758,7 @@ }, "target_label": "TY2026-27 wage/salary band $53,001 - $54,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_61", @@ -2788,14 +2788,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2809,7 +2809,7 @@ }, "target_label": "TY2026-27 wage/salary band $54,001 - $55,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_62", @@ -2839,14 +2839,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2860,7 +2860,7 @@ }, "target_label": "TY2026-27 wage/salary band $55,001 - $56,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_63", @@ -2890,14 +2890,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2911,7 +2911,7 @@ }, "target_label": "TY2026-27 wage/salary band $56,001 - $57,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_64", @@ -2941,14 +2941,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -2962,7 +2962,7 @@ }, "target_label": "TY2026-27 wage/salary band $57,001 - $58,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_65", @@ -2992,14 +2992,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3013,7 +3013,7 @@ }, "target_label": "TY2026-27 wage/salary band $58,001 - $59,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_66", @@ -3043,14 +3043,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3064,7 +3064,7 @@ }, "target_label": "TY2026-27 wage/salary band $59,001 - $60,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_67", @@ -3094,14 +3094,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3115,7 +3115,7 @@ }, "target_label": "TY2026-27 wage/salary band $60,001 - $61,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_68", @@ -3145,14 +3145,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3166,7 +3166,7 @@ }, "target_label": "TY2026-27 wage/salary band $61,001 - $62,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_69", @@ -3196,14 +3196,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3217,7 +3217,7 @@ }, "target_label": "TY2026-27 wage/salary band $62,001 - $63,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_70", @@ -3247,14 +3247,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3268,7 +3268,7 @@ }, "target_label": "TY2026-27 wage/salary band $63,001 - $64,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_71", @@ -3298,14 +3298,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3319,7 +3319,7 @@ }, "target_label": "TY2026-27 wage/salary band $64,001 - $65,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_72", @@ -3349,14 +3349,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3370,7 +3370,7 @@ }, "target_label": "TY2026-27 wage/salary band $65,001 - $66,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_73", @@ -3400,14 +3400,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3421,7 +3421,7 @@ }, "target_label": "TY2026-27 wage/salary band $66,001 - $67,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_74", @@ -3451,14 +3451,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3472,7 +3472,7 @@ }, "target_label": "TY2026-27 wage/salary band $67,001 - $68,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_75", @@ -3502,14 +3502,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3523,7 +3523,7 @@ }, "target_label": "TY2026-27 wage/salary band $68,001 - $69,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_76", @@ -3553,14 +3553,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3574,7 +3574,7 @@ }, "target_label": "TY2026-27 wage/salary band $69,001 - $70,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_77", @@ -3604,14 +3604,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3625,7 +3625,7 @@ }, "target_label": "TY2026-27 wage/salary band $70,001 - $71,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_78", @@ -3655,14 +3655,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3676,7 +3676,7 @@ }, "target_label": "TY2026-27 wage/salary band $71,001 - $72,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_79", @@ -3706,14 +3706,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3727,7 +3727,7 @@ }, "target_label": "TY2026-27 wage/salary band $72,001 - $73,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_80", @@ -3757,14 +3757,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3778,7 +3778,7 @@ }, "target_label": "TY2026-27 wage/salary band $73,001 - $74,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_81", @@ -3808,14 +3808,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3829,7 +3829,7 @@ }, "target_label": "TY2026-27 wage/salary band $74,001 - $75,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_82", @@ -3859,14 +3859,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3880,7 +3880,7 @@ }, "target_label": "TY2026-27 wage/salary band $75,001 - $76,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_83", @@ -3910,14 +3910,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3931,7 +3931,7 @@ }, "target_label": "TY2026-27 wage/salary band $76,001 - $77,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_84", @@ -3961,14 +3961,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -3982,7 +3982,7 @@ }, "target_label": "TY2026-27 wage/salary band $77,001 - $78,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_85", @@ -4012,14 +4012,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4033,7 +4033,7 @@ }, "target_label": "TY2026-27 wage/salary band $78,001 - $79,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_86", @@ -4063,14 +4063,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4084,7 +4084,7 @@ }, "target_label": "TY2026-27 wage/salary band $79,001 - $80,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_87", @@ -4114,14 +4114,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4135,7 +4135,7 @@ }, "target_label": "TY2026-27 wage/salary band $80,000 - $81,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_88", @@ -4165,14 +4165,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4186,7 +4186,7 @@ }, "target_label": "TY2026-27 wage/salary band $81,001 - $82,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_89", @@ -4216,14 +4216,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4237,7 +4237,7 @@ }, "target_label": "TY2026-27 wage/salary band $82,001 - $83,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_90", @@ -4267,14 +4267,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4288,7 +4288,7 @@ }, "target_label": "TY2026-27 wage/salary band $83,001 - $84,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_91", @@ -4318,14 +4318,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4339,7 +4339,7 @@ }, "target_label": "TY2026-27 wage/salary band $84,001 - $85,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_92", @@ -4369,14 +4369,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4390,7 +4390,7 @@ }, "target_label": "TY2026-27 wage/salary band $85,001 - $86,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_93", @@ -4420,14 +4420,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4441,7 +4441,7 @@ }, "target_label": "TY2026-27 wage/salary band $86,001 - $87,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_94", @@ -4471,14 +4471,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4492,7 +4492,7 @@ }, "target_label": "TY2026-27 wage/salary band $87,001 - $88,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_95", @@ -4522,14 +4522,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4543,7 +4543,7 @@ }, "target_label": "TY2026-27 wage/salary band $88,001 - $89,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_96", @@ -4573,14 +4573,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4594,7 +4594,7 @@ }, "target_label": "TY2026-27 wage/salary band $89,001 - $90,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_97", @@ -4624,14 +4624,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4645,7 +4645,7 @@ }, "target_label": "TY2026-27 wage/salary band $90,001 - $91,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_98", @@ -4675,14 +4675,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4696,7 +4696,7 @@ }, "target_label": "TY2026-27 wage/salary band $91,001 - $92,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_99", @@ -4726,14 +4726,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4747,7 +4747,7 @@ }, "target_label": "TY2026-27 wage/salary band $92,001 - $93,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_100", @@ -4777,14 +4777,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4798,7 +4798,7 @@ }, "target_label": "TY2026-27 wage/salary band $93,001 - $94,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_101", @@ -4828,14 +4828,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4849,7 +4849,7 @@ }, "target_label": "TY2026-27 wage/salary band $94,001 - $95,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_102", @@ -4879,14 +4879,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4900,7 +4900,7 @@ }, "target_label": "TY2026-27 wage/salary band $95,001 - $96,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_103", @@ -4930,14 +4930,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -4951,7 +4951,7 @@ }, "target_label": "TY2026-27 wage/salary band $96,001 - $97,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_104", @@ -4981,14 +4981,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5002,7 +5002,7 @@ }, "target_label": "TY2026-27 wage/salary band $97,001 - $98,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_105", @@ -5032,14 +5032,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5053,7 +5053,7 @@ }, "target_label": "TY2026-27 wage/salary band $98,001 - $99,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_106", @@ -5083,14 +5083,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5104,7 +5104,7 @@ }, "target_label": "TY2026-27 wage/salary band $99,001 - $100,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_107", @@ -5134,14 +5134,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5155,7 +5155,7 @@ }, "target_label": "TY2026-27 wage/salary band $100,001 - $101,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_108", @@ -5185,14 +5185,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5206,7 +5206,7 @@ }, "target_label": "TY2026-27 wage/salary band $101,001 - $102,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_109", @@ -5236,14 +5236,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5257,7 +5257,7 @@ }, "target_label": "TY2026-27 wage/salary band $102,001 - $103,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_110", @@ -5287,14 +5287,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5308,7 +5308,7 @@ }, "target_label": "TY2026-27 wage/salary band $103,001 - $104,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_111", @@ -5338,14 +5338,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5359,7 +5359,7 @@ }, "target_label": "TY2026-27 wage/salary band $104,001 - $105,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_112", @@ -5389,14 +5389,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5410,7 +5410,7 @@ }, "target_label": "TY2026-27 wage/salary band $105,001 - $106,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_113", @@ -5440,14 +5440,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5461,7 +5461,7 @@ }, "target_label": "TY2026-27 wage/salary band $106,001 - $107,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_114", @@ -5491,14 +5491,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5512,7 +5512,7 @@ }, "target_label": "TY2026-27 wage/salary band $107,001 - $108,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_115", @@ -5542,14 +5542,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5563,7 +5563,7 @@ }, "target_label": "TY2026-27 wage/salary band $108,001 - $109,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_116", @@ -5593,14 +5593,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5614,7 +5614,7 @@ }, "target_label": "TY2026-27 wage/salary band $109,001 - $110,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_117", @@ -5644,14 +5644,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5665,7 +5665,7 @@ }, "target_label": "TY2026-27 wage/salary band $110,001 - $111,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_118", @@ -5695,14 +5695,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5716,7 +5716,7 @@ }, "target_label": "TY2026-27 wage/salary band $111,001 - $112,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_119", @@ -5746,14 +5746,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5767,7 +5767,7 @@ }, "target_label": "TY2026-27 wage/salary band $112,001 - $113,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_120", @@ -5797,14 +5797,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5818,7 +5818,7 @@ }, "target_label": "TY2026-27 wage/salary band $113,001 - $114,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_121", @@ -5848,14 +5848,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5869,7 +5869,7 @@ }, "target_label": "TY2026-27 wage/salary band $114,001 - $115,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_122", @@ -5899,14 +5899,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5920,7 +5920,7 @@ }, "target_label": "TY2026-27 wage/salary band $115,001 - $116,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_123", @@ -5950,14 +5950,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -5971,7 +5971,7 @@ }, "target_label": "TY2026-27 wage/salary band $116,001 - $117,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_124", @@ -6001,14 +6001,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6022,7 +6022,7 @@ }, "target_label": "TY2026-27 wage/salary band $117,001 - $118,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_125", @@ -6052,14 +6052,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6073,7 +6073,7 @@ }, "target_label": "TY2026-27 wage/salary band $118,001 - $119,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_126", @@ -6103,14 +6103,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6124,7 +6124,7 @@ }, "target_label": "TY2026-27 wage/salary band $119,001 - $120,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_127", @@ -6154,14 +6154,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6175,7 +6175,7 @@ }, "target_label": "TY2026-27 wage/salary band $120,001 - $121,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_128", @@ -6205,14 +6205,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6226,7 +6226,7 @@ }, "target_label": "TY2026-27 wage/salary band $121,001 - $122,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_129", @@ -6256,14 +6256,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6277,7 +6277,7 @@ }, "target_label": "TY2026-27 wage/salary band $122,001 - $123,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_130", @@ -6307,14 +6307,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6328,7 +6328,7 @@ }, "target_label": "TY2026-27 wage/salary band $123,001 - $124,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_131", @@ -6358,14 +6358,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6379,7 +6379,7 @@ }, "target_label": "TY2026-27 wage/salary band $124,001 - $125,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_132", @@ -6409,14 +6409,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6430,7 +6430,7 @@ }, "target_label": "TY2026-27 wage/salary band $125,001 - $126,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_133", @@ -6460,14 +6460,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6481,7 +6481,7 @@ }, "target_label": "TY2026-27 wage/salary band $126,001 - $127,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_134", @@ -6511,14 +6511,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6532,7 +6532,7 @@ }, "target_label": "TY2026-27 wage/salary band $127,001 - $128,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_135", @@ -6562,14 +6562,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6583,7 +6583,7 @@ }, "target_label": "TY2026-27 wage/salary band $128,001 - $129,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_136", @@ -6613,14 +6613,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6634,7 +6634,7 @@ }, "target_label": "TY2026-27 wage/salary band $129,001 - $130,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_137", @@ -6664,14 +6664,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6685,7 +6685,7 @@ }, "target_label": "TY2026-27 wage/salary band $130,001 - $131,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_138", @@ -6715,14 +6715,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6736,7 +6736,7 @@ }, "target_label": "TY2026-27 wage/salary band $131,001 - $132,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_139", @@ -6766,14 +6766,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6787,7 +6787,7 @@ }, "target_label": "TY2026-27 wage/salary band $132,001 - $133,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_140", @@ -6817,14 +6817,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6838,7 +6838,7 @@ }, "target_label": "TY2026-27 wage/salary band $133,001 - $134,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_141", @@ -6868,14 +6868,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6889,7 +6889,7 @@ }, "target_label": "TY2026-27 wage/salary band $134,001 - $135,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_142", @@ -6919,14 +6919,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6940,7 +6940,7 @@ }, "target_label": "TY2026-27 wage/salary band $135,001 - $136,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_143", @@ -6970,14 +6970,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -6991,7 +6991,7 @@ }, "target_label": "TY2026-27 wage/salary band $136,001 - $137,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_144", @@ -7021,14 +7021,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7042,7 +7042,7 @@ }, "target_label": "TY2026-27 wage/salary band $137,001 - $138,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_145", @@ -7072,14 +7072,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7093,7 +7093,7 @@ }, "target_label": "TY2026-27 wage/salary band $138,001 - $139,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_146", @@ -7123,14 +7123,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7144,7 +7144,7 @@ }, "target_label": "TY2026-27 wage/salary band $139,001 - $140,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_147", @@ -7174,14 +7174,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7195,7 +7195,7 @@ }, "target_label": "TY2026-27 wage/salary band $140,001 - $141,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_148", @@ -7225,14 +7225,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7246,7 +7246,7 @@ }, "target_label": "TY2026-27 wage/salary band $141,001 - $142,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_149", @@ -7276,14 +7276,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7297,7 +7297,7 @@ }, "target_label": "TY2026-27 wage/salary band $142,001 - $143,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_150", @@ -7327,14 +7327,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7348,7 +7348,7 @@ }, "target_label": "TY2026-27 wage/salary band $143,001 - $144,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_151", @@ -7378,14 +7378,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7399,7 +7399,7 @@ }, "target_label": "TY2026-27 wage/salary band $144,001 - $145,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_152", @@ -7429,14 +7429,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7450,7 +7450,7 @@ }, "target_label": "TY2026-27 wage/salary band $145,001 - $146,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_153", @@ -7480,14 +7480,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7501,7 +7501,7 @@ }, "target_label": "TY2026-27 wage/salary band $146,001 - $147,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_154", @@ -7531,14 +7531,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7552,7 +7552,7 @@ }, "target_label": "TY2026-27 wage/salary band $147,001 - $148,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_155", @@ -7582,14 +7582,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7603,7 +7603,7 @@ }, "target_label": "TY2026-27 wage/salary band $148,001 - $149,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_156", @@ -7633,14 +7633,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7654,7 +7654,7 @@ }, "target_label": "TY2026-27 wage/salary band $149,001 - $150,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_157", @@ -7684,14 +7684,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7705,7 +7705,7 @@ }, "target_label": "TY2026-27 wage/salary band $150,001 - $151,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_158", @@ -7735,14 +7735,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7756,7 +7756,7 @@ }, "target_label": "TY2026-27 wage/salary band $151,001 - $152,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_159", @@ -7786,14 +7786,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7807,7 +7807,7 @@ }, "target_label": "TY2026-27 wage/salary band $152,001 - $153,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_160", @@ -7837,14 +7837,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7858,7 +7858,7 @@ }, "target_label": "TY2026-27 wage/salary band $153,001 - $154,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_161", @@ -7888,14 +7888,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7909,7 +7909,7 @@ }, "target_label": "TY2026-27 wage/salary band $154,001 - $155,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_162", @@ -7939,14 +7939,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -7960,7 +7960,7 @@ }, "target_label": "TY2026-27 wage/salary band $155,001 - $156,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_163", @@ -7990,14 +7990,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8011,7 +8011,7 @@ }, "target_label": "TY2026-27 wage/salary band $156,001 - $157,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_164", @@ -8041,14 +8041,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8062,7 +8062,7 @@ }, "target_label": "TY2026-27 wage/salary band $157,001 - $158,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_165", @@ -8092,14 +8092,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8113,7 +8113,7 @@ }, "target_label": "TY2026-27 wage/salary band $158,001 - $159,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_166", @@ -8143,14 +8143,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8164,7 +8164,7 @@ }, "target_label": "TY2026-27 wage/salary band $159,001 - $160,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_167", @@ -8194,14 +8194,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8215,7 +8215,7 @@ }, "target_label": "TY2026-27 wage/salary band $160,001 - $161,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_168", @@ -8245,14 +8245,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8266,7 +8266,7 @@ }, "target_label": "TY2026-27 wage/salary band $161,001 - $162,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_169", @@ -8296,14 +8296,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8317,7 +8317,7 @@ }, "target_label": "TY2026-27 wage/salary band $162,001 - $163,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_170", @@ -8347,14 +8347,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8368,7 +8368,7 @@ }, "target_label": "TY2026-27 wage/salary band $163,001 - $164,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_171", @@ -8398,14 +8398,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8419,7 +8419,7 @@ }, "target_label": "TY2026-27 wage/salary band $164,001 - $165,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_172", @@ -8449,14 +8449,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8470,7 +8470,7 @@ }, "target_label": "TY2026-27 wage/salary band $165,001 - $166,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_173", @@ -8500,14 +8500,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8521,7 +8521,7 @@ }, "target_label": "TY2026-27 wage/salary band $166,001 - $167,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_174", @@ -8551,14 +8551,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8572,7 +8572,7 @@ }, "target_label": "TY2026-27 wage/salary band $167,001 - $168,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_175", @@ -8602,14 +8602,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8623,7 +8623,7 @@ }, "target_label": "TY2026-27 wage/salary band $168,001 - $169,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_176", @@ -8653,14 +8653,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8674,7 +8674,7 @@ }, "target_label": "TY2026-27 wage/salary band $169,001 - $170,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_177", @@ -8704,14 +8704,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8725,7 +8725,7 @@ }, "target_label": "TY2026-27 wage/salary band $170,001 - $171,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_178", @@ -8755,14 +8755,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8776,7 +8776,7 @@ }, "target_label": "TY2026-27 wage/salary band $171,001 - $172,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_179", @@ -8806,14 +8806,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8827,7 +8827,7 @@ }, "target_label": "TY2026-27 wage/salary band $172,001 - $173,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_180", @@ -8857,14 +8857,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8878,7 +8878,7 @@ }, "target_label": "TY2026-27 wage/salary band $173,001 - $174,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_181", @@ -8908,14 +8908,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8929,7 +8929,7 @@ }, "target_label": "TY2026-27 wage/salary band $174,001 - $175,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_182", @@ -8959,14 +8959,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -8980,7 +8980,7 @@ }, "target_label": "TY2026-27 wage/salary band $175,001 - $176,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_183", @@ -9010,14 +9010,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9031,7 +9031,7 @@ }, "target_label": "TY2026-27 wage/salary band $176,001 - $177,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_184", @@ -9061,14 +9061,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9082,7 +9082,7 @@ }, "target_label": "TY2026-27 wage/salary band $177,001 - $178,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_185", @@ -9112,14 +9112,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9133,7 +9133,7 @@ }, "target_label": "TY2026-27 wage/salary band $178,001 - $179,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_186", @@ -9163,14 +9163,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9184,7 +9184,7 @@ }, "target_label": "TY2026-27 wage/salary band $179,001 - $180,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_187", @@ -9214,14 +9214,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9235,7 +9235,7 @@ }, "target_label": "TY2026-27 wage/salary band $180,001 - $181,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_188", @@ -9265,14 +9265,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9286,7 +9286,7 @@ }, "target_label": "TY2026-27 wage/salary band $181,001 - $182,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_189", @@ -9316,14 +9316,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9337,7 +9337,7 @@ }, "target_label": "TY2026-27 wage/salary band $182,001 - $183,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_190", @@ -9367,14 +9367,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9388,7 +9388,7 @@ }, "target_label": "TY2026-27 wage/salary band $183,001 - $184,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_191", @@ -9418,14 +9418,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9439,7 +9439,7 @@ }, "target_label": "TY2026-27 wage/salary band $184,001 - $185,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_192", @@ -9469,14 +9469,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9490,7 +9490,7 @@ }, "target_label": "TY2026-27 wage/salary band $185,001 - $186,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_193", @@ -9520,14 +9520,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9541,7 +9541,7 @@ }, "target_label": "TY2026-27 wage/salary band $186,001 - $187,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_194", @@ -9571,14 +9571,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9592,7 +9592,7 @@ }, "target_label": "TY2026-27 wage/salary band $187,001 - $188,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_195", @@ -9622,14 +9622,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9643,7 +9643,7 @@ }, "target_label": "TY2026-27 wage/salary band $188,001 - $189,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_196", @@ -9673,14 +9673,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9694,7 +9694,7 @@ }, "target_label": "TY2026-27 wage/salary band $189,001 - $190,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_197", @@ -9724,14 +9724,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9745,7 +9745,7 @@ }, "target_label": "TY2026-27 wage/salary band $190,001 - $191,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_198", @@ -9775,14 +9775,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9796,7 +9796,7 @@ }, "target_label": "TY2026-27 wage/salary band $191,001 - $192,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_199", @@ -9826,14 +9826,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9847,7 +9847,7 @@ }, "target_label": "TY2026-27 wage/salary band $192,001 - $193,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_200", @@ -9877,14 +9877,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9898,7 +9898,7 @@ }, "target_label": "TY2026-27 wage/salary band $193,001 - $194,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_201", @@ -9928,14 +9928,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -9949,7 +9949,7 @@ }, "target_label": "TY2026-27 wage/salary band $194,001 - $195,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_202", @@ -9979,14 +9979,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10000,7 +10000,7 @@ }, "target_label": "TY2026-27 wage/salary band $195,001 - $196,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_203", @@ -10030,14 +10030,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10051,7 +10051,7 @@ }, "target_label": "TY2026-27 wage/salary band $196,001 - $197,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_204", @@ -10081,14 +10081,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10102,7 +10102,7 @@ }, "target_label": "TY2026-27 wage/salary band $197,001 - $198,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_205", @@ -10132,14 +10132,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10153,7 +10153,7 @@ }, "target_label": "TY2026-27 wage/salary band $198,001 - $199,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_206", @@ -10183,14 +10183,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10204,7 +10204,7 @@ }, "target_label": "TY2026-27 wage/salary band $199,001 - $200,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_207", @@ -10234,14 +10234,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10255,7 +10255,7 @@ }, "target_label": "TY2026-27 wage/salary band $200,001 - $205,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_208", @@ -10285,14 +10285,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10306,7 +10306,7 @@ }, "target_label": "TY2026-27 wage/salary band $205,001 - $210,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_209", @@ -10336,14 +10336,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10357,7 +10357,7 @@ }, "target_label": "TY2026-27 wage/salary band $210,001 - $215,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_210", @@ -10387,14 +10387,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10408,7 +10408,7 @@ }, "target_label": "TY2026-27 wage/salary band $215,001 - $220,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_211", @@ -10438,14 +10438,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10459,7 +10459,7 @@ }, "target_label": "TY2026-27 wage/salary band $220,001 - $225,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_212", @@ -10489,14 +10489,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10510,7 +10510,7 @@ }, "target_label": "TY2026-27 wage/salary band $225,001 - $230,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_213", @@ -10540,14 +10540,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10561,7 +10561,7 @@ }, "target_label": "TY2026-27 wage/salary band $230,001 - $235,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_214", @@ -10591,14 +10591,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10612,7 +10612,7 @@ }, "target_label": "TY2026-27 wage/salary band $235,001 - $240,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_215", @@ -10642,14 +10642,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10663,7 +10663,7 @@ }, "target_label": "TY2026-27 wage/salary band $240,001 - $245,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_216", @@ -10693,14 +10693,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10714,7 +10714,7 @@ }, "target_label": "TY2026-27 wage/salary band $245,001 - $250,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_217", @@ -10744,14 +10744,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10765,7 +10765,7 @@ }, "target_label": "TY2026-27 wage/salary band $250,001 - $255,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_218", @@ -10795,14 +10795,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10816,7 +10816,7 @@ }, "target_label": "TY2026-27 wage/salary band $255,001 - $260,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_219", @@ -10846,14 +10846,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10867,7 +10867,7 @@ }, "target_label": "TY2026-27 wage/salary band $260,001 - $265,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_220", @@ -10897,14 +10897,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10918,7 +10918,7 @@ }, "target_label": "TY2026-27 wage/salary band $265,001 - $270,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_221", @@ -10948,14 +10948,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -10969,7 +10969,7 @@ }, "target_label": "TY2026-27 wage/salary band $270,001 - $275,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_222", @@ -10999,14 +10999,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11020,7 +11020,7 @@ }, "target_label": "TY2026-27 wage/salary band $275,001 - $280,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_223", @@ -11050,14 +11050,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11071,7 +11071,7 @@ }, "target_label": "TY2026-27 wage/salary band $280,001 - $285,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_224", @@ -11101,14 +11101,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11122,7 +11122,7 @@ }, "target_label": "TY2026-27 wage/salary band $285,001 - $290,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_225", @@ -11152,14 +11152,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11173,7 +11173,7 @@ }, "target_label": "TY2026-27 wage/salary band $290,001 - $295,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_226", @@ -11203,14 +11203,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11224,7 +11224,7 @@ }, "target_label": "TY2026-27 wage/salary band $295,001 - $300,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_227", @@ -11254,14 +11254,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11275,7 +11275,7 @@ }, "target_label": "TY2026-27 wage/salary band $300,001 - $350,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_228", @@ -11305,14 +11305,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11326,7 +11326,7 @@ }, "target_label": "TY2026-27 wage/salary band $350,001 - $400,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_229", @@ -11356,14 +11356,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11377,7 +11377,7 @@ }, "target_label": "TY2026-27 wage/salary band $400,001 - $450,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_230", @@ -11407,14 +11407,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11428,7 +11428,7 @@ }, "target_label": "TY2026-27 wage/salary band $450,001 - $500,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_231", @@ -11458,14 +11458,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11479,7 +11479,7 @@ }, "target_label": "TY2026-27 wage/salary band $500,001 - $550,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_232", @@ -11509,14 +11509,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11530,7 +11530,7 @@ }, "target_label": "TY2026-27 wage/salary band $550,001 - $600,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_233", @@ -11560,14 +11560,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11581,7 +11581,7 @@ }, "target_label": "TY2026-27 wage/salary band $600,001 - $650,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_234", @@ -11611,14 +11611,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11632,7 +11632,7 @@ }, "target_label": "TY2026-27 wage/salary band $650,001 - $700,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_235", @@ -11662,14 +11662,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11683,7 +11683,7 @@ }, "target_label": "TY2026-27 wage/salary band $700,001 - $750,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_236", @@ -11713,14 +11713,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11734,7 +11734,7 @@ }, "target_label": "TY2026-27 wage/salary band $750,001 - $800,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_237", @@ -11764,14 +11764,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11785,7 +11785,7 @@ }, "target_label": "TY2026-27 wage/salary band $800,001 - $850,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_238", @@ -11815,14 +11815,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11836,7 +11836,7 @@ }, "target_label": "TY2026-27 wage/salary band $850,001 - $900,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_239", @@ -11866,14 +11866,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11887,7 +11887,7 @@ }, "target_label": "TY2026-27 wage/salary band $900,001 - $950,000 (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_240", @@ -11917,14 +11917,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11938,7 +11938,7 @@ }, "target_label": "TY2026-27 wage/salary band $950,001 - $1 million (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "ird_wage_salary_people_by_band__row_241", @@ -11968,14 +11968,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "ird_wage_salary_people_by_band", - "activation_status": "requires_g8r2_source_period_wage_bridge_and_intervals", + "activation_status": "requires_g8r2c_wage_quantile_producer", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Inland Revenue", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC4", - "parking_reason": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "parking_reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, "hierarchy": { "provider": { @@ -11989,7 +11989,7 @@ }, "target_label": "TY2026-27 wage/salary band Over $1 million (parked)" }, - "notes": "G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable." + "notes": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." }, { "name": "mbie_bond_rents_by_territorial_authority", @@ -12012,9 +12012,9 @@ "method_card_row": "MC8", "precal_use": "rent_quantile_map_bands", "contract_target_id": "mbie_bond_rents_by_territorial_authority", - "parking_reason": "MBIE medians, quartiles and bond counts do not supply rent-band frequencies by territorial authority, bedrooms and dwelling type." + "parking_reason": "G8-d1 supplies a Census rent-band replacement and must resolve C1 rent ageing; that replacement does not activate this MBIE P2 row. MBIE activation needs rent-band frequencies that medians, quartiles and bond counts cannot supply; G8-y owns the closing step." }, - "notes": "MBIE medians, quartiles and bond counts do not supply rent-band frequencies by territorial authority, bedrooms and dwelling type.", + "notes": "G8-d1 supplies a Census rent-band replacement and must resolve C1 rent ageing; that replacement does not activate this MBIE P2 row. MBIE activation needs rent-band frequencies that medians, quartiles and bond counts cannot supply; G8-y owns the closing step.", "filter": "rent_band_indicator" }, { @@ -12038,9 +12038,9 @@ "method_card_row": "MC10", "precal_use": "liquid_assets_quantile_map_bands", "contract_target_id": "stats_nz_household_financial_net_worth_distribution", - "parking_reason": "Nonzero-holder summaries do not supply an all-household liquid-financial-asset histogram." + "parking_reason": "P3 activation needs an all-household liquid-financial-asset histogram; nonzero-holder summaries cannot supply it. G8-x may run d1982's separate diagnostic donor-stock exception without claiming NZ calibration; that exception does not activate P3. G8-y owns the closing step." }, - "notes": "Nonzero-holder summaries do not supply an all-household liquid-financial-asset histogram.", + "notes": "P3 activation needs an all-household liquid-financial-asset histogram; nonzero-holder summaries cannot supply it. G8-x may run d1982's separate diagnostic donor-stock exception without claiming NZ calibration; that exception does not activate P3. G8-y owns the closing step.", "filter": "financial_asset_band_indicator" }, { @@ -15090,14 +15090,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15112,8 +15111,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_jobseeker_support_recipients__age_25_39", @@ -15147,14 +15145,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15169,8 +15166,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_jobseeker_support_recipients__age_40_54", @@ -15204,14 +15200,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15226,8 +15221,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_jobseeker_support_recipients__age_55_64", @@ -15261,14 +15255,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15283,8 +15276,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_sole_parent_support_recipients__age_18_24", @@ -15318,14 +15310,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15340,8 +15331,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_sole_parent_support_recipients__age_25_39", @@ -15375,14 +15365,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15397,8 +15386,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_sole_parent_support_recipients__age_40_54", @@ -15432,14 +15420,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15454,8 +15441,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_sole_parent_support_recipients__age_55_64", @@ -15489,14 +15475,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15511,8 +15496,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_supported_living_payment_recipients__age_18_24", @@ -15546,14 +15530,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15568,8 +15551,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_supported_living_payment_recipients__age_25_39", @@ -15603,14 +15585,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15625,8 +15606,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_supported_living_payment_recipients__age_40_54", @@ -15660,14 +15640,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15682,8 +15661,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_supported_living_payment_recipients__age_55_64", @@ -15717,14 +15695,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "pre_calibration", "reference_set": "precal", "method_card_row": "MC6", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -15739,8 +15716,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_nz_super_recipients", @@ -15772,7 +15748,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_nz_super_recipients", - "activation_status": "requires_receipt_binding", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", @@ -15780,7 +15756,6 @@ "reference_set": "precal", "method_card_row": "MC6", "legacy_contract_target_id": "msd_nz_super_veterans_pension_recipients", - "parking_reason": "NZ Super receipt binding and prepared receipt flag are not implemented.", "measurement_basis": "June 2026 recipient snapshot stock; NZS and VP remain distinct" }, "hierarchy": { @@ -15794,8 +15769,7 @@ "provider_id": "msd" }, "target_label": "New Zealand 2026-06 month count msd nzs vp recipient count for person (msd nzs vp benefit type=nzs, msd nzs vp recipient total=all) [msd New Zealand Superannuation and Veteran's Pension - June 2026 quarterly-benefit-fact-sheets-nzs-and-vp-tables-june-2026.xlsx june_2026_quarter]" - }, - "notes": "NZ Super receipt binding and prepared receipt flag are not implemented." + } }, { "name": "msd_veterans_pension_recipients", @@ -15835,7 +15809,7 @@ "reference_set": "precal", "method_card_row": "MC6", "legacy_contract_target_id": "msd_nz_super_veterans_pension_recipients", - "parking_reason": "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false.", + "parking_reason": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step.", "measurement_basis": "June 2026 recipient snapshot stock; NZS and VP remain distinct" }, "hierarchy": { @@ -15850,7 +15824,7 @@ }, "target_label": "New Zealand 2026-06 month count msd nzs vp recipient count for person (msd nzs vp benefit type=vp, msd nzs vp recipient total=all) [msd New Zealand Superannuation and Veteran's Pension - June 2026 quarterly-benefit-fact-sheets-nzs-and-vp-tables-june-2026.xlsx june_2026_quarter]" }, - "notes": "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false." + "notes": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." } ], "target_profile": { diff --git a/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json b/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json new file mode 100644 index 0000000000..c151fd35f7 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json @@ -0,0 +1,152 @@ +{ + "version": 1, + "country": "nz", + "description": "The receipt kernel assigns June 2026 snapshot flags from the active precalibration counts, determined entitlement judgments and positive weekly payments. The calibration target rows constrain the same assigned flags separately.", + "receipts": { + "contract_version": 2, + "seed_column": "take_up_seed", + "default_assignment_profile": "central", + "assignment_knob": "beneficiary_assignment", + "assignment_profiles": { + "central": { + "draw_key_suffix": "" + }, + "variant": { + "draw_key_suffix": "variant" + } + }, + "programs": [ + { + "program": "nz_super", + "output": "receives_nz_super", + "judgment_columns": [ + "entitled_to_new_zealand_superannuation" + ], + "judgment_reduction": "any", + "payment_column": "nz_super_weekly_amount_before_tax", + "target": "msd_nz_super_recipients", + "entitlement_entity": "person", + "payee": "person", + "draw_unit": "person", + "projection": "person" + }, + { + "program": "supported_living_payment", + "output": "receives_supported_living_payment", + "judgment_columns": [ + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ], + "judgment_reduction": "any", + "payment_column": "supported_living_payment_net_weekly_payment", + "strata": [ + { + "target": "msd_supported_living_payment_recipients__age_18_24", + "filter": "age_18_24_indicator" + }, + { + "target": "msd_supported_living_payment_recipients__age_25_39", + "filter": "age_25_39_indicator" + }, + { + "target": "msd_supported_living_payment_recipients__age_40_54", + "filter": "age_40_54_indicator" + }, + { + "target": "msd_supported_living_payment_recipients__age_55_64", + "filter": "age_55_64_indicator" + } + ], + "outside_strata": "not_assigned", + "entitlement_entity": "person", + "payee": "person", + "draw_unit": "person", + "projection": "person" + }, + { + "program": "sole_parent_support", + "output": "receives_sole_parent_support", + "judgment_columns": [ + "entitled_to_sole_parent_support" + ], + "judgment_reduction": "any", + "payment_column": "sole_parent_support_net_weekly_payment", + "strata": [ + { + "target": "msd_sole_parent_support_recipients__age_18_24", + "filter": "age_18_24_indicator" + }, + { + "target": "msd_sole_parent_support_recipients__age_25_39", + "filter": "age_25_39_indicator" + }, + { + "target": "msd_sole_parent_support_recipients__age_40_54", + "filter": "age_40_54_indicator" + }, + { + "target": "msd_sole_parent_support_recipients__age_55_64", + "filter": "age_55_64_indicator" + } + ], + "outside_strata": "not_assigned", + "entitlement_entity": "person", + "payee": "person", + "draw_unit": "person", + "projection": "person" + }, + { + "program": "jobseeker_support", + "output": "receives_jobseeker_support", + "judgment_columns": [ + "entitled_to_jobseeker_support" + ], + "judgment_reduction": "any", + "payment_column": "jobseeker_support_net_weekly_payment", + "strata": [ + { + "target": "msd_jobseeker_support_recipients__age_18_24", + "filter": "age_18_24_indicator" + }, + { + "target": "msd_jobseeker_support_recipients__age_25_39", + "filter": "age_25_39_indicator" + }, + { + "target": "msd_jobseeker_support_recipients__age_40_54", + "filter": "age_40_54_indicator" + }, + { + "target": "msd_jobseeker_support_recipients__age_55_64", + "filter": "age_55_64_indicator" + } + ], + "outside_strata": "not_assigned", + "entitlement_entity": "person", + "payee": "person", + "draw_unit": "person", + "projection": "person" + } + ], + "exclusion_groups": [ + [ + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + ], + "unmodelled_programs": [ + "other_main_benefits", + "combined_youth_and_young_parent", + "veterans_pension" + ] + }, + "disclosures": [ + "The hub provisionally orders assignment as NZ Super, Supported Living Payment, Sole Parent Support and Jobseeker Support. Max will rule on overlapping eligibility priority after the engine pin permits the overlap measurement; this declaration does not settle that priority.", + "The kernel leaves eligible people outside ages 18 to 64 not_assigned for the three working-age programs. Their published non-working-age counts remain disclosure rather than targets. NZ Super uses one unstratified total.", + "V3 starts from the raw nz.open branch and uses its resolved beneficiary_assignment profile. The variant suffix selects a separate deterministic draw stream for all four programs while preserving their targets and eligibility definitions.", + "The flags represent assigned point-in-time receipt, not observed receipt or annual exposure. money_normalization.json declares annual-transfer exposure separately.", + "The hub refuses Veterans Pension as unsupported because v0 lacks a veteran-facts producer; the kernel never invents its receipt flag. The hub also leaves other main benefits and the combined youth and young parent category unmodelled." + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/reference_inventory.json b/packages/microcosm-build/src/microcosm/build/nz/reference_inventory.json index 0c9055bdbc..7c9fa9b794 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/reference_inventory.json +++ b/packages/microcosm-build/src/microcosm/build/nz/reference_inventory.json @@ -33,12 +33,12 @@ "msd_veterans_pension_recipients": 1 }, "by_activation_status": { - "active": 64, - "requires_reference_profile_resolution": 170, + "active": 77, + "requires_household_structure_release_evidence": 136, "requires_census_family_nucleus_standard": 51, + "requires_reference_profile_resolution": 32, + "requires_region_99_release_evidence": 2, "requires_prerequisites": 474, - "requires_stratified_receipt_assignment": 12, - "requires_receipt_binding": 1, "requires_unsupported_veterans_pension": 1 } }, @@ -54,14 +54,38 @@ "msd_veterans_pension_recipients": 1 }, "by_activation_status": { - "requires_g8r2_source_period_wage_bridge_and_intervals": 235, + "requires_g8r2c_wage_quantile_producer": 235, "requires_rent_band_frequencies": 1, "requires_all_household_liquid_asset_histogram": 1, - "active": 67, - "requires_stratified_receipt_assignment": 12, - "requires_receipt_binding": 1, + "active": 80, "requires_unsupported_veterans_pension": 1 } + }, + "holdout_references.json": { + "total": 6, + "by_contract": { + "msd_accommodation_supplement_recipients_national": 1, + "msd_annual_report_accommodation_assistance_expenditure": 1, + "treasury_an24_01_accommodation_supplement_fiscal_total": 1, + "ird_wff_recipient_families": 1, + "ird_iwtc_recipient_families": 1, + "ird_wff_recipient_families_by_family_income_band": 1 + }, + "by_activation_status": { + "active": 2, + "requires_harvested_fact_reference": 1, + "requires_receipt_assignment_wff_bindings_and_2026_basis": 2, + "requires_harvested_cell_references_wff_bindings_and_2026_basis": 1 + } + }, + "mass_references.json": { + "total": 1, + "by_contract": { + "national_erp": 1 + }, + "by_activation_status": { + "active": 1 + } } }, "regions": [ @@ -1024,7 +1048,7 @@ "published_national_leaf_sum": 1294503.0, "deficit": 0.0, "handling": "Preserve published leaves and totals as diagnostics. Apply the declared d1932 signed reconciliation to each regional family total before one ERP bridge; this is a disclosed modelling adjustment, not an observed category.", - "activation": "parked: G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "activation": "parked: G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "regional_type_sums": { "1": 537489, "2": 543477, @@ -21237,7 +21261,7 @@ }, { "id": "national_erp", - "reason": "Bridge operand or diagnostic only; national and regional ERP totals are independently published." + "reason": "CREATE uses the national June 2025 ERP as mass; bridge operands and diagnostics retain independent national and regional source totals. Never fit this total alongside regional age leaves." }, { "id": "sex_specific_regional_erp", @@ -21257,7 +21281,7 @@ }, { "id": "other_main_benefits", - "reason": "Unsupported aggregate of other programs; outside the three declared receipt programs." + "reason": "Unsupported aggregate of other programs; outside the three declared working-age receipt programs and NZ Super." }, { "id": "all_main_benefits", diff --git a/packages/microcosm-build/src/microcosm/build/nz/reference_profiles.json b/packages/microcosm-build/src/microcosm/build/nz/reference_profiles.json index 1ac0ded0ed..1aee4e9047 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/reference_profiles.json +++ b/packages/microcosm-build/src/microcosm/build/nz/reference_profiles.json @@ -70740,7 +70740,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -70878,7 +70878,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71016,7 +71016,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71154,7 +71154,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71292,7 +71292,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71430,7 +71430,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71568,7 +71568,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71706,7 +71706,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71844,7 +71844,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -71982,7 +71982,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72120,7 +72120,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72258,7 +72258,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72396,7 +72396,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72534,7 +72534,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72672,7 +72672,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72810,7 +72810,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -72948,7 +72948,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73086,7 +73086,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73224,7 +73224,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73362,7 +73362,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73500,7 +73500,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73638,7 +73638,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73776,7 +73776,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -73914,7 +73914,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74052,7 +74052,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74190,7 +74190,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74328,7 +74328,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74466,7 +74466,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74604,7 +74604,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74742,7 +74742,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -74880,7 +74880,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75018,7 +75018,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75156,7 +75156,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75294,7 +75294,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75432,7 +75432,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75570,7 +75570,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75708,7 +75708,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75846,7 +75846,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -75984,7 +75984,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76122,7 +76122,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76260,7 +76260,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76398,7 +76398,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76536,7 +76536,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76674,7 +76674,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76812,7 +76812,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -76950,7 +76950,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -77088,7 +77088,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -77226,7 +77226,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (central)" }, { @@ -77364,7 +77364,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (central)" }, { @@ -77502,7 +77502,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (central)" }, { @@ -77640,7 +77640,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "central" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (central)" } ] @@ -77785,7 +77785,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -77926,7 +77926,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78067,7 +78067,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Northland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78208,7 +78208,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78349,7 +78349,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78490,7 +78490,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Auckland Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78631,7 +78631,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78772,7 +78772,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -78913,7 +78913,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Waikato Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79054,7 +79054,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79195,7 +79195,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79336,7 +79336,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Bay of Plenty Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79477,7 +79477,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79618,7 +79618,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79759,7 +79759,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Gisborne Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -79900,7 +79900,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80041,7 +80041,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80182,7 +80182,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Hawke's Bay Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80323,7 +80323,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80464,7 +80464,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80605,7 +80605,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Taranaki Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80746,7 +80746,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -80887,7 +80887,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81028,7 +81028,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Manawatū-Whanganui Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81169,7 +81169,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81310,7 +81310,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81451,7 +81451,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Wellington Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81592,7 +81592,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81733,7 +81733,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -81874,7 +81874,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "West Coast Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82015,7 +82015,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82156,7 +82156,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82297,7 +82297,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Canterbury Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82438,7 +82438,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82579,7 +82579,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82720,7 +82720,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Otago Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -82861,7 +82861,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83002,7 +83002,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83143,7 +83143,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Southland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83284,7 +83284,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83425,7 +83425,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83566,7 +83566,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Tasman Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83707,7 +83707,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83848,7 +83848,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -83989,7 +83989,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Nelson Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -84130,7 +84130,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -84271,7 +84271,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -84412,7 +84412,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Marlborough Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (family_discrepancy_positive_to_type3)" }, { @@ -84553,7 +84553,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (family_discrepancy_positive_to_type3)" }, { @@ -84694,7 +84694,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (family_discrepancy_positive_to_type3)" }, { @@ -84835,7 +84835,7 @@ "allocation_ruling": "d1932", "family_discrepancy": "family_discrepancy_positive_to_type3" }, - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities. Census family-type counts in each region are scaled to that region's published family total. The published type counts and family totals are independently rounded to base 3, so their sums need not agree; the observed regional gaps are at most 3 families, and the scaling is a modelling adjustment for that rounding noise, not an observed category (Max ruling d1932). Region 99 has +3 families (2.0% of its published family total; 2.04% of its stated type leaves), admitted through the absolute bound.", "target_label": "Area Outside Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy) (family_discrepancy_positive_to_type3)" } ] diff --git a/packages/microcosm-build/src/microcosm/build/nz/reference_selection.json b/packages/microcosm-build/src/microcosm/build/nz/reference_selection.json new file mode 100644 index 0000000000..467af8ebb2 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/reference_selection.json @@ -0,0 +1,4550 @@ +{ + "schema_version": 1, + "resources": { + "target_references": { + "exempt": [ + { + "name": "stats_nz_census_households_by_size_region__r01__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r01__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r02__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r03__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r04__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r05__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r06__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r07__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r08__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r09__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r12__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r13__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r14__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r15__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r16__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r17__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r18__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n1", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n2", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n3", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n4", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n5", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n6", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n7", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_households_by_size_region__r99__n8", + "activation_status": "requires_household_structure_release_evidence", + "reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." + }, + { + "name": "stats_nz_census_families_by_type_region__r01__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r01__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r01__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r02__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r02__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r02__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r03__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r03__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r03__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r04__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r04__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r04__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r05__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r05__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r05__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r06__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r06__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r06__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r07__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r07__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r07__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r08__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r08__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r08__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r09__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r09__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r09__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r12__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r12__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r12__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r13__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r13__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r13__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r14__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r14__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r14__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r15__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r15__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r15__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r16__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r16__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r16__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r17__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r17__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r17__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r18__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r18__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r18__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r99__t1", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r99__t2", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_families_by_type_region__r99__t3", + "activation_status": "requires_census_family_nucleus_standard", + "reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." + }, + { + "name": "stats_nz_census_households_by_tenure_region__r99__owned", + "activation_status": "requires_region_99_release_evidence", + "reason": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series." + }, + { + "name": "stats_nz_census_households_by_tenure_region__r99__not_owned", + "activation_status": "requires_region_99_release_evidence", + "reason": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series." + }, + { + "name": "ird_taxable_income_people_by_band__row_8", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_9", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_10", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_11", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_12", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_13", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_14", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_15", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_16", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_17", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_18", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_19", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_20", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_21", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_22", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_23", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_24", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_25", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_26", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_27", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_28", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_29", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_30", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_31", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_32", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_33", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_34", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_35", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_36", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_37", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_38", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_39", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_40", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_41", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_42", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_43", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_44", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_45", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_46", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_47", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_48", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_49", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_50", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_51", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_52", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_53", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_54", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_55", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_56", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_57", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_58", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_59", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_60", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_61", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_62", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_63", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_64", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_65", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_66", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_67", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_68", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_69", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_70", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_71", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_72", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_73", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_74", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_75", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_76", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_77", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_78", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_79", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_80", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_81", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_82", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_83", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_84", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_85", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_86", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_87", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_88", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_89", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_90", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_91", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_92", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_93", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_94", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_95", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_96", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_97", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_98", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_99", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_100", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_101", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_102", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_103", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_104", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_105", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_106", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_107", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_108", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_109", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_110", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_111", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_112", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_113", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_114", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_115", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_116", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_117", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_118", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_119", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_120", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_121", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_122", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_123", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_124", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_125", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_126", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_127", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_128", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_129", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_130", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_131", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_132", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_133", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_134", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_135", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_136", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_137", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_138", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_139", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_140", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_141", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_142", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_143", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_144", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_145", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_146", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_147", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_148", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_149", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_150", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_151", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_152", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_153", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_154", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_155", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_156", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_157", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_158", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_159", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_160", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_161", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_162", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_163", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_164", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_165", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_166", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_167", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_168", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_169", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_170", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_171", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_172", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_173", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_174", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_175", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_176", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_177", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_178", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_179", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_180", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_181", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_182", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_183", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_184", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_185", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_186", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_187", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_188", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_189", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_190", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_191", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_192", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_193", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_194", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_195", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_196", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_197", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_198", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_199", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_200", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_201", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_202", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_203", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_204", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_205", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_206", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_207", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_208", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_209", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_210", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_211", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_212", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_213", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_214", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_215", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_216", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_217", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_218", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_219", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_220", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_221", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_222", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_223", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_224", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_225", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_226", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_227", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_228", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_229", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_230", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_231", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_232", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_233", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_234", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_235", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_236", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_237", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_238", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_239", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_240", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_241", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_242", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_243", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_people_by_band__row_244", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_8", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_9", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_10", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_11", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_12", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_13", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_14", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_15", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_16", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_17", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_18", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_19", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_20", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_21", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_22", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_23", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_24", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_25", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_26", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_27", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_28", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_29", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_30", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_31", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_32", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_33", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_34", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_35", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_36", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_37", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_38", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_39", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_40", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_41", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_42", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_43", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_44", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_45", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_46", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_47", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_48", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_49", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_50", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_51", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_52", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_53", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_54", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_55", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_56", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_57", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_58", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_59", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_60", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_61", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_62", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_63", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_64", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_65", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_66", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_67", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_68", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_69", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_70", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_71", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_72", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_73", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_74", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_75", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_76", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_77", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_78", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_79", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_80", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_81", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_82", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_83", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_84", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_85", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_86", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_87", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_88", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_89", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_90", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_91", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_92", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_93", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_94", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_95", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_96", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_97", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_98", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_99", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_100", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_101", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_102", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_103", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_104", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_105", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_106", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_107", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_108", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_109", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_110", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_111", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_112", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_113", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_114", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_115", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_116", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_117", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_118", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_119", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_120", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_121", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_122", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_123", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_124", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_125", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_126", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_127", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_128", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_129", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_130", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_131", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_132", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_133", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_134", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_135", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_136", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_137", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_138", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_139", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_140", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_141", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_142", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_143", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_144", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_145", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_146", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_147", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_148", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_149", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_150", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_151", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_152", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_153", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_154", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_155", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_156", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_157", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_158", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_159", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_160", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_161", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_162", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_163", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_164", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_165", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_166", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_167", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_168", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_169", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_170", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_171", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_172", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_173", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_174", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_175", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_176", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_177", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_178", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_179", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_180", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_181", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_182", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_183", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_184", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_185", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_186", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_187", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_188", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_189", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_190", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_191", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_192", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_193", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_194", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_195", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_196", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_197", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_198", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_199", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_200", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_201", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_202", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_203", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_204", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_205", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_206", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_207", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_208", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_209", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_210", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_211", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_212", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_213", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_214", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_215", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_216", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_217", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_218", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_219", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_220", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_221", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_222", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_223", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_224", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_225", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_226", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_227", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_228", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_229", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_230", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_231", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_232", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_233", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_234", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_235", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_236", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_237", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_238", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_239", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_240", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_241", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_242", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_243", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "ird_taxable_income_total_by_band__row_244", + "activation_status": "requires_prerequisites", + "reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." + }, + { + "name": "msd_veterans_pension_recipients", + "activation_status": "requires_unsupported_veterans_pension", + "reason": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." + } + ] + }, + "precal_references": { + "exempt": [ + { + "name": "ird_wage_salary_people_by_band__row_7", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_8", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_9", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_10", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_11", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_12", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_13", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_14", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_15", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_16", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_17", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_18", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_19", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_20", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_21", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_22", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_23", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_24", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_25", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_26", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_27", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_28", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_29", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_30", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_31", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_32", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_33", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_34", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_35", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_36", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_37", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_38", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_39", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_40", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_41", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_42", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_43", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_44", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_45", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_46", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_47", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_48", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_49", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_50", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_51", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_52", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_53", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_54", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_55", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_56", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_57", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_58", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_59", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_60", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_61", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_62", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_63", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_64", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_65", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_66", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_67", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_68", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_69", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_70", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_71", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_72", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_73", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_74", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_75", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_76", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_77", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_78", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_79", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_80", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_81", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_82", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_83", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_84", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_85", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_86", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_87", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_88", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_89", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_90", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_91", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_92", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_93", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_94", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_95", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_96", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_97", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_98", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_99", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_100", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_101", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_102", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_103", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_104", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_105", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_106", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_107", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_108", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_109", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_110", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_111", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_112", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_113", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_114", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_115", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_116", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_117", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_118", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_119", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_120", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_121", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_122", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_123", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_124", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_125", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_126", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_127", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_128", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_129", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_130", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_131", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_132", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_133", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_134", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_135", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_136", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_137", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_138", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_139", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_140", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_141", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_142", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_143", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_144", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_145", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_146", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_147", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_148", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_149", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_150", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_151", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_152", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_153", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_154", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_155", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_156", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_157", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_158", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_159", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_160", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_161", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_162", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_163", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_164", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_165", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_166", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_167", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_168", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_169", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_170", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_171", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_172", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_173", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_174", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_175", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_176", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_177", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_178", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_179", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_180", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_181", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_182", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_183", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_184", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_185", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_186", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_187", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_188", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_189", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_190", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_191", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_192", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_193", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_194", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_195", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_196", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_197", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_198", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_199", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_200", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_201", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_202", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_203", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_204", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_205", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_206", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_207", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_208", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_209", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_210", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_211", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_212", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_213", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_214", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_215", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_216", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_217", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_218", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_219", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_220", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_221", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_222", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_223", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_224", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_225", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_226", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_227", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_228", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_229", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_230", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_231", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_232", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_233", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_234", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_235", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_236", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_237", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_238", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_239", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_240", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "ird_wage_salary_people_by_band__row_241", + "activation_status": "requires_g8r2c_wage_quantile_producer", + "reason": "G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings." + }, + { + "name": "mbie_bond_rents_by_territorial_authority", + "activation_status": "requires_rent_band_frequencies", + "reason": "G8-d1 supplies a Census rent-band replacement and must resolve C1 rent ageing; that replacement does not activate this MBIE P2 row. MBIE activation needs rent-band frequencies that medians, quartiles and bond counts cannot supply; G8-y owns the closing step." + }, + { + "name": "stats_nz_household_financial_net_worth_distribution", + "activation_status": "requires_all_household_liquid_asset_histogram", + "reason": "P3 activation needs an all-household liquid-financial-asset histogram; nonzero-holder summaries cannot supply it. G8-x may run d1982's separate diagnostic donor-stock exception without claiming NZ calibration; that exception does not activate P3. G8-y owns the closing step." + }, + { + "name": "msd_veterans_pension_recipients", + "activation_status": "requires_unsupported_veterans_pension", + "reason": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." + } + ] + }, + "holdout_references": { + "exempt": [ + { + "name": "treasury_an24_01_accommodation_supplement_fiscal_total", + "activation_status": "requires_harvested_fact_reference", + "reason": "G8-w3b keeps H3 outside its comparison requests. Activation needs a pinned fact and reviewed scope for the existing Treasury row; G8-y owns the closing step." + }, + { + "name": "ird_wff_recipient_families", + "activation_status": "requires_receipt_assignment_wff_bindings_and_2026_basis", + "reason": "WFF activation needs module bindings, receipt and claim state, and a tax-year-to-model-period bridge. G8-w3b keeps these tripwires exempt; G8-y owns the closing step." + }, + { + "name": "ird_iwtc_recipient_families", + "activation_status": "requires_receipt_assignment_wff_bindings_and_2026_basis", + "reason": "WFF activation needs module bindings, receipt and claim state, and a tax-year-to-model-period bridge. G8-w3b keeps these tripwires exempt; G8-y owns the closing step." + }, + { + "name": "ird_wff_recipient_families_by_family_income_band", + "activation_status": "requires_harvested_cell_references_wff_bindings_and_2026_basis", + "reason": "The income-band comparator needs harvested and pinned cell references. WFF activation needs module bindings, receipt and claim state, and a tax-year-to-model-period bridge. G8-w3b keeps these tripwires exempt; G8-y owns the closing step." + } + ] + }, + "mass_references": { + "exempt": [] + } + } +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json index d476797ada..62de0fa6b3 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json +++ b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json @@ -2,7 +2,7 @@ "version": 1, "country": "nz", "description": "Benefit-unit reporting classifiers with their A1 and A2 method basis archived in docs/nz-reporting-classifiers-method.md. Executable declarations are selected individually; provenance and activation gaps remain explicit spec data.", - "status": "A1 provisional pending confirmation of the publication income basis; activation blocked by missing before-tax paid main-benefit amounts and Veterans Pension receipt/amount inputs", + "status": "A1 remains provisional until Max confirms the publication income basis. The classifier uses the declared paid gross columns; H4 excludes unsupported Veterans Pension from v0 reporting.", "income_decile": { "entity": "family", "person_entity": "person", @@ -66,7 +66,7 @@ }, { "entity": "person", - "column": null, + "column": "jobseeker_support_gross_weekly_payment", "kind": "benefit", "tax_basis": "before_tax", "annualisation_factor": 52, @@ -74,7 +74,7 @@ }, { "entity": "person", - "column": null, + "column": "sole_parent_support_gross_weekly_payment", "kind": "benefit", "tax_basis": "before_tax", "annualisation_factor": 52, @@ -82,7 +82,7 @@ }, { "entity": "person", - "column": null, + "column": "supported_living_payment_gross_weekly_payment", "kind": "benefit", "tax_basis": "before_tax", "annualisation_factor": 52, @@ -95,14 +95,6 @@ "tax_basis": "before_tax", "annualisation_factor": 52, "receipt_column": "receives_nz_super" - }, - { - "entity": "person", - "column": null, - "kind": "benefit", - "tax_basis": "before_tax", - "annualisation_factor": 52, - "receipt_column": "receives_veterans_pension" } ], "excluded_columns": [ @@ -145,8 +137,7 @@ "superannuitant": { "entity": "person", "columns": [ - "receives_nz_super", - "receives_veterans_pension" + "receives_nz_super" ], "reduction": "any" }, @@ -173,7 +164,6 @@ "S1", "S2", "S3", - "S4", "S5", "V1", "V2", @@ -201,57 +191,12 @@ "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" } }, - "blocked_inputs": [ - { - "receipt_column": "receives_jobseeker_support", - "required": "before-tax weekly paid engine amount after the income test, multiplied by assigned receipt; null column refuses activation", - "unavailable_bound_outputs": [ - "jobseeker_support_net_weekly_payment", - "jobseeker_support_gross_weekly_rate", - "jobseeker_support_weekly_income_test_reduction" - ], - "citation": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - } - }, - { - "receipt_column": "receives_sole_parent_support", - "required": "before-tax weekly paid engine amount after the income test, multiplied by assigned receipt; null column refuses activation", - "unavailable_bound_outputs": [ - "sole_parent_support_net_weekly_payment" - ], - "citation": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - } - }, - { - "receipt_column": "receives_supported_living_payment", - "required": "before-tax weekly paid engine amount after the income test, multiplied by assigned receipt; null column refuses activation", - "unavailable_bound_outputs": [ - "supported_living_payment_net_weekly_payment" - ], - "citation": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - } - }, - { - "receipt_column": "receives_veterans_pension", - "required": "before-tax weekly paid engine amount after the income test, multiplied by assigned receipt; null column refuses activation", - "unavailable_bound_outputs": [], - "citation": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - } - } - ], + "blocked_inputs": [], "unsupported_receipt_inputs": [ { "column": "receives_veterans_pension", "evidence": "axiom_input_closure.json receipt_flags omits this flag; main_benefit_receiving_veterans_pension defaults false because Veterans Pension is not modelled in v0", - "required_behavior": "Missing flag is refused; a missing flag never implies false.", + "required_behavior": "The hub reports Veterans Pension as unsupported under H4 and excludes its component and predicate column. The kernel must refuse any declaration that requests an unavailable flag; a missing flag never implies false.", "citation": { "item": "A2", "source": "docs/nz-reporting-classifiers-method.md#a2-receipt-group" @@ -274,6 +219,10 @@ "item": "A1", "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" } + }, + { + "note": "The hub leaves Veterans Pension unsupported under H4: the June 2026 feed reports 4,674 recipients, and v0 supplies no veteran facts or receipt producer. Reporting omits its benefit income and predicate rather than inventing a false receipt flag.", + "evidence": "reference_inventory.json; receipt_contract.json#/receipts/unmodelled_programs" } ], "mixed_unit_audit": { @@ -300,10 +249,6 @@ { "scenario": "S3", "cell": "beneficiary_superannuitant_other/superannuitant" - }, - { - "scenario": "S4", - "cell": "beneficiary_superannuitant_other/superannuitant" } ], "structural_zero_citation": { @@ -587,30 +532,6 @@ "item": "A1", "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" }, - "/income_decile/components/11/entity": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, - "/income_decile/components/11/column": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, - "/income_decile/components/11/kind": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, - "/income_decile/components/11/tax_basis": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, - "/income_decile/components/11/annualisation_factor": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, - "/income_decile/components/11/receipt_column": { - "item": "A1", - "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" - }, "/income_decile/excluded_columns/0/entity": { "item": "A1", "source": "docs/nz-reporting-classifiers-method.md#a1-income-decile-provisional" @@ -691,10 +612,6 @@ "item": "A2", "source": "docs/nz-reporting-classifiers-method.md#a2-receipt-group" }, - "/receipt_group/predicates/superannuitant/columns/1": { - "item": "A2", - "source": "docs/nz-reporting-classifiers-method.md#a2-receipt-group" - }, "/receipt_group/predicates/superannuitant/reduction": { "item": "A2", "source": "docs/nz-reporting-classifiers-method.md#a2-receipt-group" @@ -734,7 +651,7 @@ }, "as_non_beneficiary_audit": { "nz_super": "The existing accommodation_supplement_non_beneficiary state binding negates any_true over assigned member receipt flags, including NZ Super. A unit with any assigned NZ Super receipt is therefore not a non-beneficiary.", - "veterans_pension": "The same binding omits the unsupported Veterans Pension flag, so it must be extended when that receipt input is activated. A missing Veterans Pension flag continues to block reporting rather than classify its recipients as other.", + "veterans_pension": "The AS state binding and reporting predicate both omit unsupported Veterans Pension. The hub must extend both together when a reviewed receipt producer supports that program; v0 reports the omission explicitly.", "evidence": "axiom_input_closure.json#/entries[input=accommodation_supplement_non_beneficiary]", "citation": { "item": "A2", diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index 792bb14e53..0c9d418dbb 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -2,8 +2,8 @@ "version": 1, "country": "nz", "method_card_row": "MC3", - "description": "The declared Accommodation Supplement scenario set (method card amendment MC3a): entitlement-tier scenarios S0-S5 branch from the shared AS version after calibration; calibration-tier variants V1-V4 branch before calibration and re-run it. Each non-central scenario changes exactly one knob from the central defaults. Bands are the minimum, S0 and the maximum of each gap table across every scenario, and each band bound names the scenario that set it.", - "status": "awaiting D1 (MC3a, MC8-MC12); S4's factor awaits Chronicle evidence", + "description": "The hub declares Accommodation Supplement entitlement scenarios S0, S1, S2, S3 and S5 after calibration, and calibration variants V1 to V4 from the raw nz.open branch. Each non-central scenario changes one central knob. Bands report the minimum, S0 and maximum gap across the declared scenarios and identify each bound-setting scenario.", + "status": "The hub adopts the declared scenario set under H7; C1 rent ageing and D2 publication approval remain open.", "tiers": { "entitlement": { "branch_point": "nz.as" @@ -35,7 +35,7 @@ "as_area", "as_area_alt" ], - "rent_stock_factor": "a positive number; null only while status says it awaits evidence", + "rent_stock_factor": "a positive number; the central value 1 holds Census rent levels fixed while the hub resolves C1 rent ageing", "superannuitant_treatment": [ "exclude_and_count", "reg17_superannuitant_base_rate" @@ -105,16 +105,6 @@ }, "description": "the alternative territorial authority to Accommodation Supplement area crosswalk (as_area_crosswalk.json alternative)" }, - { - "id": "S4", - "tier": "entitlement", - "method_card_row": "MC8", - "knobs": { - "rent_stock_factor": null - }, - "description": "stock adjustment to MBIE lodged-bond rents", - "status": "awaiting Chronicle evidence on whether MBIE bond rents describe newly lodged bonds or the active stock; G8 writes the factor, or removes S4 if the rents are active stock" - }, { "id": "S5", "tier": "entitlement", @@ -149,7 +139,7 @@ "knobs": { "beneficiary_assignment": "variant" }, - "description": "beneficiary assignment variant for the main-benefit and NZ Super receipt layer" + "description": "V3 starts from the raw nz.open branch and uses the resolved beneficiary_assignment variant profile in receipt_contract.json to draw a separate deterministic receipt stream for NZ Super, SLP, SPS and JS with the same targets and eligibility definitions." }, { "id": "V4", @@ -176,7 +166,7 @@ }, "reporting_cells": { "entity": "family", - "measure": "accommodation_supplement", + "measure": "accommodation_supplement_rounded_weekly_payment", "period": "2026-27", "annualisation_factor": 52, "tables": [ @@ -229,5 +219,5 @@ "references": "holdout_references.json, holdout_use accommodation_supplement_dollar_comparator" } }, - "keying_note": "Charter C2 (adding a scenario re-keys only the bands and package nodes) holds only if each scenario's graph nodes carry that scenario's own resolved knobs and a digest of its own entry, not this file's SHA-256." + "keying_note": "Charter C2 (adding a scenario re-keys only the bands and package nodes) holds only if each scenario's graph nodes carry that scenario's own resolved knobs and a digest of its own entry, not this file's SHA-256. The hub removes the MBIE bond-stock sensitivity under H7 because central rent uses Census bands. The hub still must resolve C1 ageing from Census 2023 rent levels to 2026-27; the central rent_stock_factor of 1 declares no ageing and does not settle C1." } diff --git a/packages/microcosm-build/src/microcosm/build/nz/target_references.json b/packages/microcosm-build/src/microcosm/build/nz/target_references.json index 340f637c6d..88be866f15 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/nz/target_references.json @@ -3301,7 +3301,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3309,7 +3309,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3335,7 +3335,7 @@ "target_label": "Northland Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3402,7 +3402,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3410,7 +3410,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3436,7 +3436,7 @@ "target_label": "Northland Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3503,7 +3503,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3511,7 +3511,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3537,7 +3537,7 @@ "target_label": "Northland Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3604,7 +3604,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3612,7 +3612,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3638,7 +3638,7 @@ "target_label": "Northland Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3705,7 +3705,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3713,7 +3713,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3739,7 +3739,7 @@ "target_label": "Northland Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3806,7 +3806,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3814,7 +3814,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3840,7 +3840,7 @@ "target_label": "Northland Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -3907,7 +3907,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -3915,7 +3915,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -3941,7 +3941,7 @@ "target_label": "Northland Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4008,7 +4008,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4016,7 +4016,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4042,7 +4042,7 @@ "target_label": "Northland Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_01_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4109,7 +4109,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4117,7 +4117,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4143,7 +4143,7 @@ "target_label": "Auckland Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4210,7 +4210,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4218,7 +4218,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4244,7 +4244,7 @@ "target_label": "Auckland Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4311,7 +4311,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4319,7 +4319,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4345,7 +4345,7 @@ "target_label": "Auckland Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4412,7 +4412,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4420,7 +4420,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4446,7 +4446,7 @@ "target_label": "Auckland Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4513,7 +4513,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4521,7 +4521,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4547,7 +4547,7 @@ "target_label": "Auckland Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4614,7 +4614,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4622,7 +4622,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4648,7 +4648,7 @@ "target_label": "Auckland Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4715,7 +4715,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4723,7 +4723,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4749,7 +4749,7 @@ "target_label": "Auckland Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4816,7 +4816,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4824,7 +4824,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4850,7 +4850,7 @@ "target_label": "Auckland Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_02_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -4917,7 +4917,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -4925,7 +4925,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -4951,7 +4951,7 @@ "target_label": "Waikato Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5018,7 +5018,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5026,7 +5026,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5052,7 +5052,7 @@ "target_label": "Waikato Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5119,7 +5119,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5127,7 +5127,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5153,7 +5153,7 @@ "target_label": "Waikato Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5220,7 +5220,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5228,7 +5228,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5254,7 +5254,7 @@ "target_label": "Waikato Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5321,7 +5321,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5329,7 +5329,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5355,7 +5355,7 @@ "target_label": "Waikato Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5422,7 +5422,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5430,7 +5430,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5456,7 +5456,7 @@ "target_label": "Waikato Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5523,7 +5523,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5531,7 +5531,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5557,7 +5557,7 @@ "target_label": "Waikato Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5624,7 +5624,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5632,7 +5632,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5658,7 +5658,7 @@ "target_label": "Waikato Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_03_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5725,7 +5725,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5733,7 +5733,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5759,7 +5759,7 @@ "target_label": "Bay of Plenty Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5826,7 +5826,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5834,7 +5834,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5860,7 +5860,7 @@ "target_label": "Bay of Plenty Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -5927,7 +5927,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -5935,7 +5935,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -5961,7 +5961,7 @@ "target_label": "Bay of Plenty Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6028,7 +6028,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6036,7 +6036,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6062,7 +6062,7 @@ "target_label": "Bay of Plenty Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6129,7 +6129,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6137,7 +6137,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6163,7 +6163,7 @@ "target_label": "Bay of Plenty Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6230,7 +6230,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6238,7 +6238,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6264,7 +6264,7 @@ "target_label": "Bay of Plenty Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6331,7 +6331,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6339,7 +6339,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6365,7 +6365,7 @@ "target_label": "Bay of Plenty Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6432,7 +6432,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6440,7 +6440,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6466,7 +6466,7 @@ "target_label": "Bay of Plenty Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_04_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6533,7 +6533,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6541,7 +6541,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6567,7 +6567,7 @@ "target_label": "Gisborne Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6634,7 +6634,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6642,7 +6642,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6668,7 +6668,7 @@ "target_label": "Gisborne Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6735,7 +6735,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6743,7 +6743,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6769,7 +6769,7 @@ "target_label": "Gisborne Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6836,7 +6836,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6844,7 +6844,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6870,7 +6870,7 @@ "target_label": "Gisborne Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -6937,7 +6937,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -6945,7 +6945,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -6971,7 +6971,7 @@ "target_label": "Gisborne Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7038,7 +7038,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7046,7 +7046,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7072,7 +7072,7 @@ "target_label": "Gisborne Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7139,7 +7139,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7147,7 +7147,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7173,7 +7173,7 @@ "target_label": "Gisborne Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7240,7 +7240,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7248,7 +7248,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7274,7 +7274,7 @@ "target_label": "Gisborne Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_05_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7341,7 +7341,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7349,7 +7349,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7375,7 +7375,7 @@ "target_label": "Hawke's Bay Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7442,7 +7442,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7450,7 +7450,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7476,7 +7476,7 @@ "target_label": "Hawke's Bay Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7543,7 +7543,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7551,7 +7551,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7577,7 +7577,7 @@ "target_label": "Hawke's Bay Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7644,7 +7644,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7652,7 +7652,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7678,7 +7678,7 @@ "target_label": "Hawke's Bay Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7745,7 +7745,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7753,7 +7753,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7779,7 +7779,7 @@ "target_label": "Hawke's Bay Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7846,7 +7846,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7854,7 +7854,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7880,7 +7880,7 @@ "target_label": "Hawke's Bay Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -7947,7 +7947,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -7955,7 +7955,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -7981,7 +7981,7 @@ "target_label": "Hawke's Bay Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8048,7 +8048,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8056,7 +8056,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8082,7 +8082,7 @@ "target_label": "Hawke's Bay Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_06_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8149,7 +8149,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8157,7 +8157,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8183,7 +8183,7 @@ "target_label": "Taranaki Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8250,7 +8250,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8258,7 +8258,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8284,7 +8284,7 @@ "target_label": "Taranaki Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8351,7 +8351,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8359,7 +8359,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8385,7 +8385,7 @@ "target_label": "Taranaki Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8452,7 +8452,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8460,7 +8460,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8486,7 +8486,7 @@ "target_label": "Taranaki Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8553,7 +8553,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8561,7 +8561,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8587,7 +8587,7 @@ "target_label": "Taranaki Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8654,7 +8654,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8662,7 +8662,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8688,7 +8688,7 @@ "target_label": "Taranaki Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8755,7 +8755,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8763,7 +8763,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8789,7 +8789,7 @@ "target_label": "Taranaki Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8856,7 +8856,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8864,7 +8864,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8890,7 +8890,7 @@ "target_label": "Taranaki Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_07_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -8957,7 +8957,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -8965,7 +8965,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -8991,7 +8991,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9058,7 +9058,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9066,7 +9066,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9092,7 +9092,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9159,7 +9159,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9167,7 +9167,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9193,7 +9193,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9260,7 +9260,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9268,7 +9268,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9294,7 +9294,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9361,7 +9361,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9369,7 +9369,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9395,7 +9395,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9462,7 +9462,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9470,7 +9470,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9496,7 +9496,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9563,7 +9563,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9571,7 +9571,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9597,7 +9597,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9664,7 +9664,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9672,7 +9672,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9698,7 +9698,7 @@ "target_label": "Manawatū-Whanganui Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_08_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9765,7 +9765,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9773,7 +9773,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9799,7 +9799,7 @@ "target_label": "Wellington Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9866,7 +9866,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9874,7 +9874,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -9900,7 +9900,7 @@ "target_label": "Wellington Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -9967,7 +9967,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -9975,7 +9975,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10001,7 +10001,7 @@ "target_label": "Wellington Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10068,7 +10068,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10076,7 +10076,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10102,7 +10102,7 @@ "target_label": "Wellington Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10169,7 +10169,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10177,7 +10177,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10203,7 +10203,7 @@ "target_label": "Wellington Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10270,7 +10270,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10278,7 +10278,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10304,7 +10304,7 @@ "target_label": "Wellington Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10371,7 +10371,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10379,7 +10379,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10405,7 +10405,7 @@ "target_label": "Wellington Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10472,7 +10472,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10480,7 +10480,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10506,7 +10506,7 @@ "target_label": "Wellington Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_09_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10573,7 +10573,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10581,7 +10581,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10607,7 +10607,7 @@ "target_label": "West Coast Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10674,7 +10674,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10682,7 +10682,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10708,7 +10708,7 @@ "target_label": "West Coast Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10775,7 +10775,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10783,7 +10783,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10809,7 +10809,7 @@ "target_label": "West Coast Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10876,7 +10876,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10884,7 +10884,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -10910,7 +10910,7 @@ "target_label": "West Coast Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -10977,7 +10977,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -10985,7 +10985,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11011,7 +11011,7 @@ "target_label": "West Coast Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11078,7 +11078,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11086,7 +11086,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11112,7 +11112,7 @@ "target_label": "West Coast Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11179,7 +11179,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11187,7 +11187,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11213,7 +11213,7 @@ "target_label": "West Coast Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11280,7 +11280,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11288,7 +11288,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11314,7 +11314,7 @@ "target_label": "West Coast Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_12_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11381,7 +11381,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11389,7 +11389,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11415,7 +11415,7 @@ "target_label": "Canterbury Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11482,7 +11482,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11490,7 +11490,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11516,7 +11516,7 @@ "target_label": "Canterbury Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11583,7 +11583,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11591,7 +11591,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11617,7 +11617,7 @@ "target_label": "Canterbury Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11684,7 +11684,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11692,7 +11692,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11718,7 +11718,7 @@ "target_label": "Canterbury Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11785,7 +11785,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11793,7 +11793,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11819,7 +11819,7 @@ "target_label": "Canterbury Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11886,7 +11886,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11894,7 +11894,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -11920,7 +11920,7 @@ "target_label": "Canterbury Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -11987,7 +11987,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -11995,7 +11995,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12021,7 +12021,7 @@ "target_label": "Canterbury Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12088,7 +12088,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12096,7 +12096,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12122,7 +12122,7 @@ "target_label": "Canterbury Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_13_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12189,7 +12189,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12197,7 +12197,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12223,7 +12223,7 @@ "target_label": "Otago Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12290,7 +12290,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12298,7 +12298,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12324,7 +12324,7 @@ "target_label": "Otago Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12391,7 +12391,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12399,7 +12399,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12425,7 +12425,7 @@ "target_label": "Otago Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12492,7 +12492,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12500,7 +12500,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12526,7 +12526,7 @@ "target_label": "Otago Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12593,7 +12593,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12601,7 +12601,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12627,7 +12627,7 @@ "target_label": "Otago Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12694,7 +12694,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12702,7 +12702,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12728,7 +12728,7 @@ "target_label": "Otago Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12795,7 +12795,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12803,7 +12803,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12829,7 +12829,7 @@ "target_label": "Otago Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12896,7 +12896,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -12904,7 +12904,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -12930,7 +12930,7 @@ "target_label": "Otago Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_14_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -12997,7 +12997,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13005,7 +13005,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13031,7 +13031,7 @@ "target_label": "Southland Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13098,7 +13098,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13106,7 +13106,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13132,7 +13132,7 @@ "target_label": "Southland Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13199,7 +13199,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13207,7 +13207,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13233,7 +13233,7 @@ "target_label": "Southland Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13300,7 +13300,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13308,7 +13308,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13334,7 +13334,7 @@ "target_label": "Southland Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13401,7 +13401,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13409,7 +13409,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13435,7 +13435,7 @@ "target_label": "Southland Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13502,7 +13502,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13510,7 +13510,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13536,7 +13536,7 @@ "target_label": "Southland Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13603,7 +13603,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13611,7 +13611,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13637,7 +13637,7 @@ "target_label": "Southland Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13704,7 +13704,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13712,7 +13712,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13738,7 +13738,7 @@ "target_label": "Southland Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_15_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13805,7 +13805,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13813,7 +13813,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13839,7 +13839,7 @@ "target_label": "Tasman Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -13906,7 +13906,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -13914,7 +13914,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -13940,7 +13940,7 @@ "target_label": "Tasman Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14007,7 +14007,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14015,7 +14015,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14041,7 +14041,7 @@ "target_label": "Tasman Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14108,7 +14108,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14116,7 +14116,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14142,7 +14142,7 @@ "target_label": "Tasman Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14209,7 +14209,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14217,7 +14217,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14243,7 +14243,7 @@ "target_label": "Tasman Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14310,7 +14310,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14318,7 +14318,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14344,7 +14344,7 @@ "target_label": "Tasman Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14411,7 +14411,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14419,7 +14419,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14445,7 +14445,7 @@ "target_label": "Tasman Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14512,7 +14512,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14520,7 +14520,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14546,7 +14546,7 @@ "target_label": "Tasman Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_16_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14613,7 +14613,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14621,7 +14621,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14647,7 +14647,7 @@ "target_label": "Nelson Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14714,7 +14714,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14722,7 +14722,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14748,7 +14748,7 @@ "target_label": "Nelson Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14815,7 +14815,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14823,7 +14823,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14849,7 +14849,7 @@ "target_label": "Nelson Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -14916,7 +14916,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -14924,7 +14924,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -14950,7 +14950,7 @@ "target_label": "Nelson Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15017,7 +15017,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15025,7 +15025,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15051,7 +15051,7 @@ "target_label": "Nelson Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15118,7 +15118,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15126,7 +15126,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15152,7 +15152,7 @@ "target_label": "Nelson Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15219,7 +15219,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15227,7 +15227,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15253,7 +15253,7 @@ "target_label": "Nelson Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15320,7 +15320,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15328,7 +15328,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15354,7 +15354,7 @@ "target_label": "Nelson Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_17_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15421,7 +15421,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15429,7 +15429,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15455,7 +15455,7 @@ "target_label": "Marlborough Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15522,7 +15522,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15530,7 +15530,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15556,7 +15556,7 @@ "target_label": "Marlborough Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15623,7 +15623,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15631,7 +15631,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15657,7 +15657,7 @@ "target_label": "Marlborough Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15724,7 +15724,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15732,7 +15732,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15758,7 +15758,7 @@ "target_label": "Marlborough Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15825,7 +15825,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15833,7 +15833,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15859,7 +15859,7 @@ "target_label": "Marlborough Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -15926,7 +15926,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -15934,7 +15934,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -15960,7 +15960,7 @@ "target_label": "Marlborough Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16027,7 +16027,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16035,7 +16035,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16061,7 +16061,7 @@ "target_label": "Marlborough Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16128,7 +16128,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16136,7 +16136,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16162,7 +16162,7 @@ "target_label": "Marlborough Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation" }, "filter": "household_region_18_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16229,7 +16229,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16237,7 +16237,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16264,7 +16264,7 @@ "target_label": "Area Outside Region Census household size 1, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_1_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16331,7 +16331,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16339,7 +16339,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16366,7 +16366,7 @@ "target_label": "Area Outside Region Census household size 2, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_2_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16433,7 +16433,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16441,7 +16441,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16468,7 +16468,7 @@ "target_label": "Area Outside Region Census household size 3, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_3_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16535,7 +16535,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16543,7 +16543,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16570,7 +16570,7 @@ "target_label": "Area Outside Region Census household size 4, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_4_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16637,7 +16637,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16645,7 +16645,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16672,7 +16672,7 @@ "target_label": "Area Outside Region Census household size 5, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_5_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16739,7 +16739,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16747,7 +16747,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16774,7 +16774,7 @@ "target_label": "Area Outside Region Census household size 6, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_6_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16841,7 +16841,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16849,7 +16849,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16876,7 +16876,7 @@ "target_label": "Area Outside Region Census household size 7, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_7_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -16943,7 +16943,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_size_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_household_structure_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", @@ -16951,7 +16951,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_households_by_composition", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -16978,7 +16978,7 @@ "target_label": "Area Outside Region Census household size 8, ERP-density bridge to June 2025; d1886 profile-resolved allocation (national-growth proxy)" }, "filter": "household_region_99_size_8_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17053,7 +17053,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17082,7 +17082,7 @@ "target_label": "Northland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_01_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17157,7 +17157,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17186,7 +17186,7 @@ "target_label": "Northland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_01_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17261,7 +17261,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17290,7 +17290,7 @@ "target_label": "Northland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_01_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17365,7 +17365,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17394,7 +17394,7 @@ "target_label": "Auckland Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_02_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17469,7 +17469,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17498,7 +17498,7 @@ "target_label": "Auckland Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_02_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17573,7 +17573,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17602,7 +17602,7 @@ "target_label": "Auckland Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_02_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17677,7 +17677,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17706,7 +17706,7 @@ "target_label": "Waikato Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_03_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17781,7 +17781,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17810,7 +17810,7 @@ "target_label": "Waikato Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_03_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17885,7 +17885,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -17914,7 +17914,7 @@ "target_label": "Waikato Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_03_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -17989,7 +17989,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18018,7 +18018,7 @@ "target_label": "Bay of Plenty Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_04_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18093,7 +18093,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18122,7 +18122,7 @@ "target_label": "Bay of Plenty Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_04_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18197,7 +18197,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18226,7 +18226,7 @@ "target_label": "Bay of Plenty Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_04_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18301,7 +18301,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18330,7 +18330,7 @@ "target_label": "Gisborne Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_05_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18405,7 +18405,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18434,7 +18434,7 @@ "target_label": "Gisborne Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_05_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18509,7 +18509,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18538,7 +18538,7 @@ "target_label": "Gisborne Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_05_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18613,7 +18613,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18642,7 +18642,7 @@ "target_label": "Hawke's Bay Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_06_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18717,7 +18717,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18746,7 +18746,7 @@ "target_label": "Hawke's Bay Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_06_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18821,7 +18821,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18850,7 +18850,7 @@ "target_label": "Hawke's Bay Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_06_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -18925,7 +18925,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -18954,7 +18954,7 @@ "target_label": "Taranaki Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_07_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19029,7 +19029,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19058,7 +19058,7 @@ "target_label": "Taranaki Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_07_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19133,7 +19133,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19162,7 +19162,7 @@ "target_label": "Taranaki Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_07_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19237,7 +19237,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19266,7 +19266,7 @@ "target_label": "Manawatū-Whanganui Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_08_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19341,7 +19341,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19370,7 +19370,7 @@ "target_label": "Manawatū-Whanganui Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_08_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19445,7 +19445,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19474,7 +19474,7 @@ "target_label": "Manawatū-Whanganui Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_08_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19549,7 +19549,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19578,7 +19578,7 @@ "target_label": "Wellington Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_09_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19653,7 +19653,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19682,7 +19682,7 @@ "target_label": "Wellington Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_09_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19757,7 +19757,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19786,7 +19786,7 @@ "target_label": "Wellington Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_09_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19861,7 +19861,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19890,7 +19890,7 @@ "target_label": "West Coast Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_12_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -19965,7 +19965,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -19994,7 +19994,7 @@ "target_label": "West Coast Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_12_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20069,7 +20069,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20098,7 +20098,7 @@ "target_label": "West Coast Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_12_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20173,7 +20173,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20202,7 +20202,7 @@ "target_label": "Canterbury Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_13_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20277,7 +20277,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20306,7 +20306,7 @@ "target_label": "Canterbury Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_13_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20381,7 +20381,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20410,7 +20410,7 @@ "target_label": "Canterbury Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_13_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20485,7 +20485,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20514,7 +20514,7 @@ "target_label": "Otago Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_14_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20589,7 +20589,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20618,7 +20618,7 @@ "target_label": "Otago Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_14_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20693,7 +20693,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20722,7 +20722,7 @@ "target_label": "Otago Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_14_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20797,7 +20797,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20826,7 +20826,7 @@ "target_label": "Southland Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_15_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -20901,7 +20901,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -20930,7 +20930,7 @@ "target_label": "Southland Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_15_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21005,7 +21005,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21034,7 +21034,7 @@ "target_label": "Southland Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_15_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21109,7 +21109,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21138,7 +21138,7 @@ "target_label": "Tasman Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_16_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21213,7 +21213,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21242,7 +21242,7 @@ "target_label": "Tasman Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_16_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21317,7 +21317,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21346,7 +21346,7 @@ "target_label": "Tasman Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_16_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21421,7 +21421,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21450,7 +21450,7 @@ "target_label": "Nelson Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_17_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21525,7 +21525,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21554,7 +21554,7 @@ "target_label": "Nelson Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_17_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21629,7 +21629,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21658,7 +21658,7 @@ "target_label": "Nelson Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_17_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21733,7 +21733,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21762,7 +21762,7 @@ "target_label": "Marlborough Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_18_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21837,7 +21837,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21866,7 +21866,7 @@ "target_label": "Marlborough Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_18_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -21941,7 +21941,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -21970,7 +21970,7 @@ "target_label": "Marlborough Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b" }, "filter": "region_18_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22045,7 +22045,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22075,7 +22075,7 @@ "target_label": "Area Outside Region Census family type 1, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy)" }, "filter": "region_99_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22150,7 +22150,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22180,7 +22180,7 @@ "target_label": "Area Outside Region Census family type 2, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy)" }, "filter": "region_99_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22255,7 +22255,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "stats_nz_census_families_by_type", - "parking_reason": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "parking_reason": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22285,7 +22285,7 @@ "target_label": "Area Outside Region Census family type 3, ERP-density bridge to June 2025; d1932 signed reconciliation; parked for G8-r3b (national-growth proxy)" }, "filter": "region_99_indicator", - "notes": "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities.", + "notes": "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22361,7 +22361,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22387,7 +22387,7 @@ "target_label": "Northland Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_01_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22462,7 +22462,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22488,7 +22488,7 @@ "target_label": "Northland Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_01_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22564,7 +22564,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22590,7 +22590,7 @@ "target_label": "Auckland households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_02_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22665,7 +22665,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22691,7 +22691,7 @@ "target_label": "Auckland households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_02_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22767,7 +22767,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22793,7 +22793,7 @@ "target_label": "Waikato Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_03_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22868,7 +22868,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22894,7 +22894,7 @@ "target_label": "Waikato Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_03_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -22970,7 +22970,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -22996,7 +22996,7 @@ "target_label": "Bay of Plenty Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_04_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23071,7 +23071,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23097,7 +23097,7 @@ "target_label": "Bay of Plenty Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_04_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23173,7 +23173,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23199,7 +23199,7 @@ "target_label": "Gisborne Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_05_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23274,7 +23274,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23300,7 +23300,7 @@ "target_label": "Gisborne Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_05_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23376,7 +23376,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23402,7 +23402,7 @@ "target_label": "Hawke's Bay Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_06_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23477,7 +23477,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23503,7 +23503,7 @@ "target_label": "Hawke's Bay Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_06_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23579,7 +23579,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23605,7 +23605,7 @@ "target_label": "Taranaki Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_07_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23680,7 +23680,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23706,7 +23706,7 @@ "target_label": "Taranaki Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_07_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23782,7 +23782,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23808,7 +23808,7 @@ "target_label": "Manawatū-Whanganui Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_08_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23883,7 +23883,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -23909,7 +23909,7 @@ "target_label": "Manawatū-Whanganui Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_08_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -23985,7 +23985,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24011,7 +24011,7 @@ "target_label": "Wellington Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_09_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24086,7 +24086,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24112,7 +24112,7 @@ "target_label": "Wellington Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_09_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24188,7 +24188,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24214,7 +24214,7 @@ "target_label": "West Coast Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_12_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24289,7 +24289,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24315,7 +24315,7 @@ "target_label": "West Coast Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_12_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24391,7 +24391,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24417,7 +24417,7 @@ "target_label": "Canterbury Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_13_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24492,7 +24492,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24518,7 +24518,7 @@ "target_label": "Canterbury Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_13_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24594,7 +24594,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24620,7 +24620,7 @@ "target_label": "Otago Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_14_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24695,7 +24695,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24721,7 +24721,7 @@ "target_label": "Otago Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_14_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24797,7 +24797,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24823,7 +24823,7 @@ "target_label": "Southland Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_15_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -24898,7 +24898,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -24924,7 +24924,7 @@ "target_label": "Southland Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_15_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25000,7 +25000,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25026,7 +25026,7 @@ "target_label": "Tasman Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_16_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25101,7 +25101,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25127,7 +25127,7 @@ "target_label": "Tasman Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_16_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25203,7 +25203,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25229,7 +25229,7 @@ "target_label": "Nelson Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_17_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25304,7 +25304,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25330,7 +25330,7 @@ "target_label": "Nelson Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_17_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25406,7 +25406,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25432,7 +25432,7 @@ "target_label": "Marlborough Region households: Owned including family trust, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_18_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25507,7 +25507,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25533,7 +25533,7 @@ "target_label": "Marlborough Region households: Not owned, June 2025 ERP-density bridge; d1886 profile-resolved allocation" }, "filter": "household_region_18_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25602,14 +25602,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_tenure_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_region_99_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25636,7 +25636,7 @@ "target_label": "Area Outside Region households: Owned including family trust, June 2025 ERP-density bridge (national-growth proxy); d1886 profile-resolved allocation" }, "filter": "household_region_99_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25704,14 +25704,14 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "stats_nz_census_households_by_tenure_region", - "activation_status": "requires_reference_profile_resolution", + "activation_status": "requires_region_99_release_evidence", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Stats NZ", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "parking_reason": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series.", "source_snapshot": "2023-03-07 Census", "growth_denominator_snapshot": "2023-06-30 ERP", "target_level_snapshot": "2025-06-30 ERP", @@ -25738,7 +25738,7 @@ "target_label": "Area Outside Region households: Not owned, June 2025 ERP-density bridge (national-growth proxy); d1886 profile-resolved allocation" }, "filter": "household_region_99_not_owned_indicator", - "notes": "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile.", + "notes": "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series.", "value_operation": "rolled_forward_by_ratio", "value_operands": [ { @@ -25812,7 +25812,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -25831,7 +25831,7 @@ "target_label": "TY2026-27 ird taxable income people by band nil (parked)" }, "filter": "taxable_income_band_row_8_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_9", @@ -25868,7 +25868,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -25887,7 +25887,7 @@ "target_label": "TY2026-27 ird taxable income people by band $0.01 - $100 (parked)" }, "filter": "taxable_income_band_row_9_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_10", @@ -25924,7 +25924,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -25943,7 +25943,7 @@ "target_label": "TY2026-27 ird taxable income people by band $101 - $1,000 (parked)" }, "filter": "taxable_income_band_row_10_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_11", @@ -25980,7 +25980,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -25999,7 +25999,7 @@ "target_label": "TY2026-27 ird taxable income people by band $1,001 - $2,000 (parked)" }, "filter": "taxable_income_band_row_11_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_12", @@ -26036,7 +26036,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26055,7 +26055,7 @@ "target_label": "TY2026-27 ird taxable income people by band $2,001 - $3,000 (parked)" }, "filter": "taxable_income_band_row_12_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_13", @@ -26092,7 +26092,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26111,7 +26111,7 @@ "target_label": "TY2026-27 ird taxable income people by band $3,001 - $4,000 (parked)" }, "filter": "taxable_income_band_row_13_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_14", @@ -26148,7 +26148,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26167,7 +26167,7 @@ "target_label": "TY2026-27 ird taxable income people by band $4,001 - $5,000 (parked)" }, "filter": "taxable_income_band_row_14_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_15", @@ -26204,7 +26204,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26223,7 +26223,7 @@ "target_label": "TY2026-27 ird taxable income people by band $5,001 - $6,000 (parked)" }, "filter": "taxable_income_band_row_15_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_16", @@ -26260,7 +26260,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26279,7 +26279,7 @@ "target_label": "TY2026-27 ird taxable income people by band $6,001 - $7,000 (parked)" }, "filter": "taxable_income_band_row_16_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_17", @@ -26316,7 +26316,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26335,7 +26335,7 @@ "target_label": "TY2026-27 ird taxable income people by band $7,001 - $8,000 (parked)" }, "filter": "taxable_income_band_row_17_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_18", @@ -26372,7 +26372,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26391,7 +26391,7 @@ "target_label": "TY2026-27 ird taxable income people by band $8,001 - $9,000 (parked)" }, "filter": "taxable_income_band_row_18_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_19", @@ -26428,7 +26428,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26447,7 +26447,7 @@ "target_label": "TY2026-27 ird taxable income people by band $9,001 - $10,000 (parked)" }, "filter": "taxable_income_band_row_19_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_20", @@ -26484,7 +26484,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26503,7 +26503,7 @@ "target_label": "TY2026-27 ird taxable income people by band $10,001 - $11,000 (parked)" }, "filter": "taxable_income_band_row_20_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_21", @@ -26540,7 +26540,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26559,7 +26559,7 @@ "target_label": "TY2026-27 ird taxable income people by band $11,001 - $12,000 (parked)" }, "filter": "taxable_income_band_row_21_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_22", @@ -26596,7 +26596,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26615,7 +26615,7 @@ "target_label": "TY2026-27 ird taxable income people by band $12,001 - $13,000 (parked)" }, "filter": "taxable_income_band_row_22_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_23", @@ -26652,7 +26652,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26671,7 +26671,7 @@ "target_label": "TY2026-27 ird taxable income people by band $13,001 - $14,000 (parked)" }, "filter": "taxable_income_band_row_23_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_24", @@ -26708,7 +26708,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26727,7 +26727,7 @@ "target_label": "TY2026-27 ird taxable income people by band $14,001 - $15,000 (parked)" }, "filter": "taxable_income_band_row_24_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_25", @@ -26764,7 +26764,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26783,7 +26783,7 @@ "target_label": "TY2026-27 ird taxable income people by band $15,001 - $16,000 (parked)" }, "filter": "taxable_income_band_row_25_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_26", @@ -26820,7 +26820,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26839,7 +26839,7 @@ "target_label": "TY2026-27 ird taxable income people by band $16,001 - $17,000 (parked)" }, "filter": "taxable_income_band_row_26_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_27", @@ -26876,7 +26876,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26895,7 +26895,7 @@ "target_label": "TY2026-27 ird taxable income people by band $17,001 - $18,000 (parked)" }, "filter": "taxable_income_band_row_27_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_28", @@ -26932,7 +26932,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -26951,7 +26951,7 @@ "target_label": "TY2026-27 ird taxable income people by band $18,001 - $19,000 (parked)" }, "filter": "taxable_income_band_row_28_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_29", @@ -26988,7 +26988,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27007,7 +27007,7 @@ "target_label": "TY2026-27 ird taxable income people by band $19,001 - $20,000 (parked)" }, "filter": "taxable_income_band_row_29_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_30", @@ -27044,7 +27044,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27063,7 +27063,7 @@ "target_label": "TY2026-27 ird taxable income people by band $20,000 - $21,000 (parked)" }, "filter": "taxable_income_band_row_30_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_31", @@ -27100,7 +27100,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27119,7 +27119,7 @@ "target_label": "TY2026-27 ird taxable income people by band $21,001 - $22,000 (parked)" }, "filter": "taxable_income_band_row_31_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_32", @@ -27156,7 +27156,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27175,7 +27175,7 @@ "target_label": "TY2026-27 ird taxable income people by band $22,001 - $23,000 (parked)" }, "filter": "taxable_income_band_row_32_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_33", @@ -27212,7 +27212,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27231,7 +27231,7 @@ "target_label": "TY2026-27 ird taxable income people by band $23,001 - $24,000 (parked)" }, "filter": "taxable_income_band_row_33_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_34", @@ -27268,7 +27268,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27287,7 +27287,7 @@ "target_label": "TY2026-27 ird taxable income people by band $24,001 - $25,000 (parked)" }, "filter": "taxable_income_band_row_34_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_35", @@ -27324,7 +27324,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27343,7 +27343,7 @@ "target_label": "TY2026-27 ird taxable income people by band $25,001 - $26,000 (parked)" }, "filter": "taxable_income_band_row_35_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_36", @@ -27380,7 +27380,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27399,7 +27399,7 @@ "target_label": "TY2026-27 ird taxable income people by band $26,001 - $27,000 (parked)" }, "filter": "taxable_income_band_row_36_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_37", @@ -27436,7 +27436,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27455,7 +27455,7 @@ "target_label": "TY2026-27 ird taxable income people by band $27,001 - $28,000 (parked)" }, "filter": "taxable_income_band_row_37_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_38", @@ -27492,7 +27492,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27511,7 +27511,7 @@ "target_label": "TY2026-27 ird taxable income people by band $28,001 - $29,000 (parked)" }, "filter": "taxable_income_band_row_38_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_39", @@ -27548,7 +27548,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27567,7 +27567,7 @@ "target_label": "TY2026-27 ird taxable income people by band $29,001 - $30,000 (parked)" }, "filter": "taxable_income_band_row_39_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_40", @@ -27604,7 +27604,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27623,7 +27623,7 @@ "target_label": "TY2026-27 ird taxable income people by band $30,001 - $31,000 (parked)" }, "filter": "taxable_income_band_row_40_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_41", @@ -27660,7 +27660,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27679,7 +27679,7 @@ "target_label": "TY2026-27 ird taxable income people by band $31,001 - $32,000 (parked)" }, "filter": "taxable_income_band_row_41_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_42", @@ -27716,7 +27716,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27735,7 +27735,7 @@ "target_label": "TY2026-27 ird taxable income people by band $32,001 - $33,000 (parked)" }, "filter": "taxable_income_band_row_42_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_43", @@ -27772,7 +27772,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27791,7 +27791,7 @@ "target_label": "TY2026-27 ird taxable income people by band $33,001 - $34,000 (parked)" }, "filter": "taxable_income_band_row_43_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_44", @@ -27828,7 +27828,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27847,7 +27847,7 @@ "target_label": "TY2026-27 ird taxable income people by band $34,001 - $35,000 (parked)" }, "filter": "taxable_income_band_row_44_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_45", @@ -27884,7 +27884,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27903,7 +27903,7 @@ "target_label": "TY2026-27 ird taxable income people by band $35,001 - $36,000 (parked)" }, "filter": "taxable_income_band_row_45_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_46", @@ -27940,7 +27940,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -27959,7 +27959,7 @@ "target_label": "TY2026-27 ird taxable income people by band $36,001 - $37,000 (parked)" }, "filter": "taxable_income_band_row_46_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_47", @@ -27996,7 +27996,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28015,7 +28015,7 @@ "target_label": "TY2026-27 ird taxable income people by band $37,001 - $38,000 (parked)" }, "filter": "taxable_income_band_row_47_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_48", @@ -28052,7 +28052,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28071,7 +28071,7 @@ "target_label": "TY2026-27 ird taxable income people by band $38,001 - $39,000 (parked)" }, "filter": "taxable_income_band_row_48_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_49", @@ -28108,7 +28108,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28127,7 +28127,7 @@ "target_label": "TY2026-27 ird taxable income people by band $39,001 - $40,000 (parked)" }, "filter": "taxable_income_band_row_49_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_50", @@ -28164,7 +28164,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28183,7 +28183,7 @@ "target_label": "TY2026-27 ird taxable income people by band $40,001 - $41,000 (parked)" }, "filter": "taxable_income_band_row_50_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_51", @@ -28220,7 +28220,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28239,7 +28239,7 @@ "target_label": "TY2026-27 ird taxable income people by band $41,001 - $42,000 (parked)" }, "filter": "taxable_income_band_row_51_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_52", @@ -28276,7 +28276,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28295,7 +28295,7 @@ "target_label": "TY2026-27 ird taxable income people by band $42,001 - $43,000 (parked)" }, "filter": "taxable_income_band_row_52_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_53", @@ -28332,7 +28332,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28351,7 +28351,7 @@ "target_label": "TY2026-27 ird taxable income people by band $43,001 - $44,000 (parked)" }, "filter": "taxable_income_band_row_53_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_54", @@ -28388,7 +28388,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28407,7 +28407,7 @@ "target_label": "TY2026-27 ird taxable income people by band $44,001 - $45,000 (parked)" }, "filter": "taxable_income_band_row_54_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_55", @@ -28444,7 +28444,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28463,7 +28463,7 @@ "target_label": "TY2026-27 ird taxable income people by band $45,001 - $46,000 (parked)" }, "filter": "taxable_income_band_row_55_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_56", @@ -28500,7 +28500,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28519,7 +28519,7 @@ "target_label": "TY2026-27 ird taxable income people by band $46,001 - $47,000 (parked)" }, "filter": "taxable_income_band_row_56_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_57", @@ -28556,7 +28556,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28575,7 +28575,7 @@ "target_label": "TY2026-27 ird taxable income people by band $47,001 - $48,000 (parked)" }, "filter": "taxable_income_band_row_57_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_58", @@ -28612,7 +28612,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28631,7 +28631,7 @@ "target_label": "TY2026-27 ird taxable income people by band $48,001 - $49,000 (parked)" }, "filter": "taxable_income_band_row_58_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_59", @@ -28668,7 +28668,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28687,7 +28687,7 @@ "target_label": "TY2026-27 ird taxable income people by band $49,001 - $50,000 (parked)" }, "filter": "taxable_income_band_row_59_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_60", @@ -28724,7 +28724,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28743,7 +28743,7 @@ "target_label": "TY2026-27 ird taxable income people by band $50,000 - $51,000 (parked)" }, "filter": "taxable_income_band_row_60_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_61", @@ -28780,7 +28780,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28799,7 +28799,7 @@ "target_label": "TY2026-27 ird taxable income people by band $51,001 - $52,000 (parked)" }, "filter": "taxable_income_band_row_61_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_62", @@ -28836,7 +28836,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28855,7 +28855,7 @@ "target_label": "TY2026-27 ird taxable income people by band $52,001 - $53,000 (parked)" }, "filter": "taxable_income_band_row_62_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_63", @@ -28892,7 +28892,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28911,7 +28911,7 @@ "target_label": "TY2026-27 ird taxable income people by band $53,001 - $54,000 (parked)" }, "filter": "taxable_income_band_row_63_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_64", @@ -28948,7 +28948,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -28967,7 +28967,7 @@ "target_label": "TY2026-27 ird taxable income people by band $54,001 - $55,000 (parked)" }, "filter": "taxable_income_band_row_64_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_65", @@ -29004,7 +29004,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29023,7 +29023,7 @@ "target_label": "TY2026-27 ird taxable income people by band $55,001 - $56,000 (parked)" }, "filter": "taxable_income_band_row_65_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_66", @@ -29060,7 +29060,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29079,7 +29079,7 @@ "target_label": "TY2026-27 ird taxable income people by band $56,001 - $57,000 (parked)" }, "filter": "taxable_income_band_row_66_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_67", @@ -29116,7 +29116,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29135,7 +29135,7 @@ "target_label": "TY2026-27 ird taxable income people by band $57,001 - $58,000 (parked)" }, "filter": "taxable_income_band_row_67_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_68", @@ -29172,7 +29172,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29191,7 +29191,7 @@ "target_label": "TY2026-27 ird taxable income people by band $58,001 - $59,000 (parked)" }, "filter": "taxable_income_band_row_68_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_69", @@ -29228,7 +29228,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29247,7 +29247,7 @@ "target_label": "TY2026-27 ird taxable income people by band $59,001 - $60,000 (parked)" }, "filter": "taxable_income_band_row_69_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_70", @@ -29284,7 +29284,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29303,7 +29303,7 @@ "target_label": "TY2026-27 ird taxable income people by band $60,001 - $61,000 (parked)" }, "filter": "taxable_income_band_row_70_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_71", @@ -29340,7 +29340,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29359,7 +29359,7 @@ "target_label": "TY2026-27 ird taxable income people by band $61,001 - $62,000 (parked)" }, "filter": "taxable_income_band_row_71_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_72", @@ -29396,7 +29396,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29415,7 +29415,7 @@ "target_label": "TY2026-27 ird taxable income people by band $62,001 - $63,000 (parked)" }, "filter": "taxable_income_band_row_72_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_73", @@ -29452,7 +29452,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29471,7 +29471,7 @@ "target_label": "TY2026-27 ird taxable income people by band $63,001 - $64,000 (parked)" }, "filter": "taxable_income_band_row_73_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_74", @@ -29508,7 +29508,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29527,7 +29527,7 @@ "target_label": "TY2026-27 ird taxable income people by band $64,001 - $65,000 (parked)" }, "filter": "taxable_income_band_row_74_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_75", @@ -29564,7 +29564,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29583,7 +29583,7 @@ "target_label": "TY2026-27 ird taxable income people by band $65,001 - $66,000 (parked)" }, "filter": "taxable_income_band_row_75_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_76", @@ -29620,7 +29620,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29639,7 +29639,7 @@ "target_label": "TY2026-27 ird taxable income people by band $66,001 - $67,000 (parked)" }, "filter": "taxable_income_band_row_76_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_77", @@ -29676,7 +29676,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29695,7 +29695,7 @@ "target_label": "TY2026-27 ird taxable income people by band $67,001 - $68,000 (parked)" }, "filter": "taxable_income_band_row_77_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_78", @@ -29732,7 +29732,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29751,7 +29751,7 @@ "target_label": "TY2026-27 ird taxable income people by band $68,001 - $69,000 (parked)" }, "filter": "taxable_income_band_row_78_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_79", @@ -29788,7 +29788,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29807,7 +29807,7 @@ "target_label": "TY2026-27 ird taxable income people by band $69,001 - $70,000 (parked)" }, "filter": "taxable_income_band_row_79_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_80", @@ -29844,7 +29844,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29863,7 +29863,7 @@ "target_label": "TY2026-27 ird taxable income people by band $70,001 - $71,000 (parked)" }, "filter": "taxable_income_band_row_80_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_81", @@ -29900,7 +29900,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29919,7 +29919,7 @@ "target_label": "TY2026-27 ird taxable income people by band $71,001 - $72,000 (parked)" }, "filter": "taxable_income_band_row_81_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_82", @@ -29956,7 +29956,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -29975,7 +29975,7 @@ "target_label": "TY2026-27 ird taxable income people by band $72,001 - $73,000 (parked)" }, "filter": "taxable_income_band_row_82_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_83", @@ -30012,7 +30012,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30031,7 +30031,7 @@ "target_label": "TY2026-27 ird taxable income people by band $73,001 - $74,000 (parked)" }, "filter": "taxable_income_band_row_83_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_84", @@ -30068,7 +30068,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30087,7 +30087,7 @@ "target_label": "TY2026-27 ird taxable income people by band $74,001 - $75,000 (parked)" }, "filter": "taxable_income_band_row_84_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_85", @@ -30124,7 +30124,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30143,7 +30143,7 @@ "target_label": "TY2026-27 ird taxable income people by band $75,001 - $76,000 (parked)" }, "filter": "taxable_income_band_row_85_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_86", @@ -30180,7 +30180,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30199,7 +30199,7 @@ "target_label": "TY2026-27 ird taxable income people by band $76,001 - $77,000 (parked)" }, "filter": "taxable_income_band_row_86_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_87", @@ -30236,7 +30236,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30255,7 +30255,7 @@ "target_label": "TY2026-27 ird taxable income people by band $77,001 - $78,000 (parked)" }, "filter": "taxable_income_band_row_87_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_88", @@ -30292,7 +30292,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30311,7 +30311,7 @@ "target_label": "TY2026-27 ird taxable income people by band $78,001 - $79,000 (parked)" }, "filter": "taxable_income_band_row_88_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_89", @@ -30348,7 +30348,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30367,7 +30367,7 @@ "target_label": "TY2026-27 ird taxable income people by band $79,001 - $80,000 (parked)" }, "filter": "taxable_income_band_row_89_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_90", @@ -30404,7 +30404,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30423,7 +30423,7 @@ "target_label": "TY2026-27 ird taxable income people by band $80,000 - $81,000 (parked)" }, "filter": "taxable_income_band_row_90_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_91", @@ -30460,7 +30460,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30479,7 +30479,7 @@ "target_label": "TY2026-27 ird taxable income people by band $81,001 - $82,000 (parked)" }, "filter": "taxable_income_band_row_91_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_92", @@ -30516,7 +30516,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30535,7 +30535,7 @@ "target_label": "TY2026-27 ird taxable income people by band $82,001 - $83,000 (parked)" }, "filter": "taxable_income_band_row_92_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_93", @@ -30572,7 +30572,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30591,7 +30591,7 @@ "target_label": "TY2026-27 ird taxable income people by band $83,001 - $84,000 (parked)" }, "filter": "taxable_income_band_row_93_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_94", @@ -30628,7 +30628,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30647,7 +30647,7 @@ "target_label": "TY2026-27 ird taxable income people by band $84,001 - $85,000 (parked)" }, "filter": "taxable_income_band_row_94_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_95", @@ -30684,7 +30684,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30703,7 +30703,7 @@ "target_label": "TY2026-27 ird taxable income people by band $85,001 - $86,000 (parked)" }, "filter": "taxable_income_band_row_95_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_96", @@ -30740,7 +30740,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30759,7 +30759,7 @@ "target_label": "TY2026-27 ird taxable income people by band $86,001 - $87,000 (parked)" }, "filter": "taxable_income_band_row_96_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_97", @@ -30796,7 +30796,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30815,7 +30815,7 @@ "target_label": "TY2026-27 ird taxable income people by band $87,001 - $88,000 (parked)" }, "filter": "taxable_income_band_row_97_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_98", @@ -30852,7 +30852,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30871,7 +30871,7 @@ "target_label": "TY2026-27 ird taxable income people by band $88,001 - $89,000 (parked)" }, "filter": "taxable_income_band_row_98_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_99", @@ -30908,7 +30908,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30927,7 +30927,7 @@ "target_label": "TY2026-27 ird taxable income people by band $89,001 - $90,000 (parked)" }, "filter": "taxable_income_band_row_99_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_100", @@ -30964,7 +30964,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -30983,7 +30983,7 @@ "target_label": "TY2026-27 ird taxable income people by band $90,001 - $91,000 (parked)" }, "filter": "taxable_income_band_row_100_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_101", @@ -31020,7 +31020,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31039,7 +31039,7 @@ "target_label": "TY2026-27 ird taxable income people by band $91,001 - $92,000 (parked)" }, "filter": "taxable_income_band_row_101_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_102", @@ -31076,7 +31076,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31095,7 +31095,7 @@ "target_label": "TY2026-27 ird taxable income people by band $92,001 - $93,000 (parked)" }, "filter": "taxable_income_band_row_102_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_103", @@ -31132,7 +31132,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31151,7 +31151,7 @@ "target_label": "TY2026-27 ird taxable income people by band $93,001 - $94,000 (parked)" }, "filter": "taxable_income_band_row_103_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_104", @@ -31188,7 +31188,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31207,7 +31207,7 @@ "target_label": "TY2026-27 ird taxable income people by band $94,001 - $95,000 (parked)" }, "filter": "taxable_income_band_row_104_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_105", @@ -31244,7 +31244,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31263,7 +31263,7 @@ "target_label": "TY2026-27 ird taxable income people by band $95,001 - $96,000 (parked)" }, "filter": "taxable_income_band_row_105_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_106", @@ -31300,7 +31300,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31319,7 +31319,7 @@ "target_label": "TY2026-27 ird taxable income people by band $96,001 - $97,000 (parked)" }, "filter": "taxable_income_band_row_106_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_107", @@ -31356,7 +31356,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31375,7 +31375,7 @@ "target_label": "TY2026-27 ird taxable income people by band $97,001 - $98,000 (parked)" }, "filter": "taxable_income_band_row_107_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_108", @@ -31412,7 +31412,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31431,7 +31431,7 @@ "target_label": "TY2026-27 ird taxable income people by band $98,001 - $99,000 (parked)" }, "filter": "taxable_income_band_row_108_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_109", @@ -31468,7 +31468,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31487,7 +31487,7 @@ "target_label": "TY2026-27 ird taxable income people by band $99,001 - $100,000 (parked)" }, "filter": "taxable_income_band_row_109_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_110", @@ -31524,7 +31524,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31543,7 +31543,7 @@ "target_label": "TY2026-27 ird taxable income people by band $100,001 - $101,000 (parked)" }, "filter": "taxable_income_band_row_110_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_111", @@ -31580,7 +31580,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31599,7 +31599,7 @@ "target_label": "TY2026-27 ird taxable income people by band $101,001 - $102,000 (parked)" }, "filter": "taxable_income_band_row_111_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_112", @@ -31636,7 +31636,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31655,7 +31655,7 @@ "target_label": "TY2026-27 ird taxable income people by band $102,001 - $103,000 (parked)" }, "filter": "taxable_income_band_row_112_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_113", @@ -31692,7 +31692,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31711,7 +31711,7 @@ "target_label": "TY2026-27 ird taxable income people by band $103,001 - $104,000 (parked)" }, "filter": "taxable_income_band_row_113_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_114", @@ -31748,7 +31748,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31767,7 +31767,7 @@ "target_label": "TY2026-27 ird taxable income people by band $104,001 - $105,000 (parked)" }, "filter": "taxable_income_band_row_114_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_115", @@ -31804,7 +31804,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31823,7 +31823,7 @@ "target_label": "TY2026-27 ird taxable income people by band $105,001 - $106,000 (parked)" }, "filter": "taxable_income_band_row_115_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_116", @@ -31860,7 +31860,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31879,7 +31879,7 @@ "target_label": "TY2026-27 ird taxable income people by band $106,001 - $107,000 (parked)" }, "filter": "taxable_income_band_row_116_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_117", @@ -31916,7 +31916,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31935,7 +31935,7 @@ "target_label": "TY2026-27 ird taxable income people by band $107,001 - $108,000 (parked)" }, "filter": "taxable_income_band_row_117_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_118", @@ -31972,7 +31972,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -31991,7 +31991,7 @@ "target_label": "TY2026-27 ird taxable income people by band $108,001 - $109,000 (parked)" }, "filter": "taxable_income_band_row_118_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_119", @@ -32028,7 +32028,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32047,7 +32047,7 @@ "target_label": "TY2026-27 ird taxable income people by band $109,001 - $110,000 (parked)" }, "filter": "taxable_income_band_row_119_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_120", @@ -32084,7 +32084,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32103,7 +32103,7 @@ "target_label": "TY2026-27 ird taxable income people by band $110,001 - $111,000 (parked)" }, "filter": "taxable_income_band_row_120_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_121", @@ -32140,7 +32140,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32159,7 +32159,7 @@ "target_label": "TY2026-27 ird taxable income people by band $111,001 - $112,000 (parked)" }, "filter": "taxable_income_band_row_121_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_122", @@ -32196,7 +32196,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32215,7 +32215,7 @@ "target_label": "TY2026-27 ird taxable income people by band $112,001 - $113,000 (parked)" }, "filter": "taxable_income_band_row_122_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_123", @@ -32252,7 +32252,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32271,7 +32271,7 @@ "target_label": "TY2026-27 ird taxable income people by band $113,001 - $114,000 (parked)" }, "filter": "taxable_income_band_row_123_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_124", @@ -32308,7 +32308,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32327,7 +32327,7 @@ "target_label": "TY2026-27 ird taxable income people by band $114,001 - $115,000 (parked)" }, "filter": "taxable_income_band_row_124_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_125", @@ -32364,7 +32364,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32383,7 +32383,7 @@ "target_label": "TY2026-27 ird taxable income people by band $115,001 - $116,000 (parked)" }, "filter": "taxable_income_band_row_125_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_126", @@ -32420,7 +32420,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32439,7 +32439,7 @@ "target_label": "TY2026-27 ird taxable income people by band $116,001 - $117,000 (parked)" }, "filter": "taxable_income_band_row_126_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_127", @@ -32476,7 +32476,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32495,7 +32495,7 @@ "target_label": "TY2026-27 ird taxable income people by band $117,001 - $118,000 (parked)" }, "filter": "taxable_income_band_row_127_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_128", @@ -32532,7 +32532,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32551,7 +32551,7 @@ "target_label": "TY2026-27 ird taxable income people by band $118,001 - $119,000 (parked)" }, "filter": "taxable_income_band_row_128_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_129", @@ -32588,7 +32588,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32607,7 +32607,7 @@ "target_label": "TY2026-27 ird taxable income people by band $119,001 - $120,000 (parked)" }, "filter": "taxable_income_band_row_129_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_130", @@ -32644,7 +32644,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32663,7 +32663,7 @@ "target_label": "TY2026-27 ird taxable income people by band $120,001 - $121,000 (parked)" }, "filter": "taxable_income_band_row_130_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_131", @@ -32700,7 +32700,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32719,7 +32719,7 @@ "target_label": "TY2026-27 ird taxable income people by band $121,001 - $122,000 (parked)" }, "filter": "taxable_income_band_row_131_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_132", @@ -32756,7 +32756,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32775,7 +32775,7 @@ "target_label": "TY2026-27 ird taxable income people by band $122,001 - $123,000 (parked)" }, "filter": "taxable_income_band_row_132_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_133", @@ -32812,7 +32812,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32831,7 +32831,7 @@ "target_label": "TY2026-27 ird taxable income people by band $123,001 - $124,000 (parked)" }, "filter": "taxable_income_band_row_133_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_134", @@ -32868,7 +32868,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32887,7 +32887,7 @@ "target_label": "TY2026-27 ird taxable income people by band $124,001 - $125,000 (parked)" }, "filter": "taxable_income_band_row_134_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_135", @@ -32924,7 +32924,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32943,7 +32943,7 @@ "target_label": "TY2026-27 ird taxable income people by band $125,001 - $126,000 (parked)" }, "filter": "taxable_income_band_row_135_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_136", @@ -32980,7 +32980,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -32999,7 +32999,7 @@ "target_label": "TY2026-27 ird taxable income people by band $126,001 - $127,000 (parked)" }, "filter": "taxable_income_band_row_136_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_137", @@ -33036,7 +33036,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33055,7 +33055,7 @@ "target_label": "TY2026-27 ird taxable income people by band $127,001 - $128,000 (parked)" }, "filter": "taxable_income_band_row_137_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_138", @@ -33092,7 +33092,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33111,7 +33111,7 @@ "target_label": "TY2026-27 ird taxable income people by band $128,001 - $129,000 (parked)" }, "filter": "taxable_income_band_row_138_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_139", @@ -33148,7 +33148,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33167,7 +33167,7 @@ "target_label": "TY2026-27 ird taxable income people by band $129,001 - $130,000 (parked)" }, "filter": "taxable_income_band_row_139_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_140", @@ -33204,7 +33204,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33223,7 +33223,7 @@ "target_label": "TY2026-27 ird taxable income people by band $130,001 - $131,000 (parked)" }, "filter": "taxable_income_band_row_140_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_141", @@ -33260,7 +33260,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33279,7 +33279,7 @@ "target_label": "TY2026-27 ird taxable income people by band $131,001 - $132,000 (parked)" }, "filter": "taxable_income_band_row_141_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_142", @@ -33316,7 +33316,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33335,7 +33335,7 @@ "target_label": "TY2026-27 ird taxable income people by band $132,001 - $133,000 (parked)" }, "filter": "taxable_income_band_row_142_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_143", @@ -33372,7 +33372,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33391,7 +33391,7 @@ "target_label": "TY2026-27 ird taxable income people by band $133,001 - $134,000 (parked)" }, "filter": "taxable_income_band_row_143_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_144", @@ -33428,7 +33428,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33447,7 +33447,7 @@ "target_label": "TY2026-27 ird taxable income people by band $134,001 - $135,000 (parked)" }, "filter": "taxable_income_band_row_144_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_145", @@ -33484,7 +33484,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33503,7 +33503,7 @@ "target_label": "TY2026-27 ird taxable income people by band $135,001 - $136,000 (parked)" }, "filter": "taxable_income_band_row_145_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_146", @@ -33540,7 +33540,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33559,7 +33559,7 @@ "target_label": "TY2026-27 ird taxable income people by band $136,001 - $137,000 (parked)" }, "filter": "taxable_income_band_row_146_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_147", @@ -33596,7 +33596,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33615,7 +33615,7 @@ "target_label": "TY2026-27 ird taxable income people by band $137,001 - $138,000 (parked)" }, "filter": "taxable_income_band_row_147_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_148", @@ -33652,7 +33652,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33671,7 +33671,7 @@ "target_label": "TY2026-27 ird taxable income people by band $138,001 - $139,000 (parked)" }, "filter": "taxable_income_band_row_148_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_149", @@ -33708,7 +33708,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33727,7 +33727,7 @@ "target_label": "TY2026-27 ird taxable income people by band $139,001 - $140,000 (parked)" }, "filter": "taxable_income_band_row_149_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_150", @@ -33764,7 +33764,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33783,7 +33783,7 @@ "target_label": "TY2026-27 ird taxable income people by band $140,001 - $141,000 (parked)" }, "filter": "taxable_income_band_row_150_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_151", @@ -33820,7 +33820,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33839,7 +33839,7 @@ "target_label": "TY2026-27 ird taxable income people by band $141,001 - $142,000 (parked)" }, "filter": "taxable_income_band_row_151_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_152", @@ -33876,7 +33876,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33895,7 +33895,7 @@ "target_label": "TY2026-27 ird taxable income people by band $142,001 - $143,000 (parked)" }, "filter": "taxable_income_band_row_152_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_153", @@ -33932,7 +33932,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -33951,7 +33951,7 @@ "target_label": "TY2026-27 ird taxable income people by band $143,001 - $144,000 (parked)" }, "filter": "taxable_income_band_row_153_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_154", @@ -33988,7 +33988,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34007,7 +34007,7 @@ "target_label": "TY2026-27 ird taxable income people by band $144,001 - $145,000 (parked)" }, "filter": "taxable_income_band_row_154_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_155", @@ -34044,7 +34044,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34063,7 +34063,7 @@ "target_label": "TY2026-27 ird taxable income people by band $145,001 - $146,000 (parked)" }, "filter": "taxable_income_band_row_155_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_156", @@ -34100,7 +34100,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34119,7 +34119,7 @@ "target_label": "TY2026-27 ird taxable income people by band $146,001 - $147,000 (parked)" }, "filter": "taxable_income_band_row_156_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_157", @@ -34156,7 +34156,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34175,7 +34175,7 @@ "target_label": "TY2026-27 ird taxable income people by band $147,001 - $148,000 (parked)" }, "filter": "taxable_income_band_row_157_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_158", @@ -34212,7 +34212,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34231,7 +34231,7 @@ "target_label": "TY2026-27 ird taxable income people by band $148,001 - $149,000 (parked)" }, "filter": "taxable_income_band_row_158_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_159", @@ -34268,7 +34268,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34287,7 +34287,7 @@ "target_label": "TY2026-27 ird taxable income people by band $149,001 - $150,000 (parked)" }, "filter": "taxable_income_band_row_159_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_160", @@ -34324,7 +34324,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34343,7 +34343,7 @@ "target_label": "TY2026-27 ird taxable income people by band $150,001 - $151,000 (parked)" }, "filter": "taxable_income_band_row_160_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_161", @@ -34380,7 +34380,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34399,7 +34399,7 @@ "target_label": "TY2026-27 ird taxable income people by band $151,001 - $152,000 (parked)" }, "filter": "taxable_income_band_row_161_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_162", @@ -34436,7 +34436,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34455,7 +34455,7 @@ "target_label": "TY2026-27 ird taxable income people by band $152,001 - $153,000 (parked)" }, "filter": "taxable_income_band_row_162_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_163", @@ -34492,7 +34492,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34511,7 +34511,7 @@ "target_label": "TY2026-27 ird taxable income people by band $153,001 - $154,000 (parked)" }, "filter": "taxable_income_band_row_163_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_164", @@ -34548,7 +34548,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34567,7 +34567,7 @@ "target_label": "TY2026-27 ird taxable income people by band $154,001 - $155,000 (parked)" }, "filter": "taxable_income_band_row_164_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_165", @@ -34604,7 +34604,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34623,7 +34623,7 @@ "target_label": "TY2026-27 ird taxable income people by band $155,001 - $156,000 (parked)" }, "filter": "taxable_income_band_row_165_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_166", @@ -34660,7 +34660,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34679,7 +34679,7 @@ "target_label": "TY2026-27 ird taxable income people by band $156,001 - $157,000 (parked)" }, "filter": "taxable_income_band_row_166_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_167", @@ -34716,7 +34716,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34735,7 +34735,7 @@ "target_label": "TY2026-27 ird taxable income people by band $157,001 - $158,000 (parked)" }, "filter": "taxable_income_band_row_167_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_168", @@ -34772,7 +34772,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34791,7 +34791,7 @@ "target_label": "TY2026-27 ird taxable income people by band $158,001 - $159,000 (parked)" }, "filter": "taxable_income_band_row_168_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_169", @@ -34828,7 +34828,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34847,7 +34847,7 @@ "target_label": "TY2026-27 ird taxable income people by band $159,001 - $160,000 (parked)" }, "filter": "taxable_income_band_row_169_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_170", @@ -34884,7 +34884,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34903,7 +34903,7 @@ "target_label": "TY2026-27 ird taxable income people by band $160,001 - $161,000 (parked)" }, "filter": "taxable_income_band_row_170_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_171", @@ -34940,7 +34940,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -34959,7 +34959,7 @@ "target_label": "TY2026-27 ird taxable income people by band $161,001 - $162,000 (parked)" }, "filter": "taxable_income_band_row_171_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_172", @@ -34996,7 +34996,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35015,7 +35015,7 @@ "target_label": "TY2026-27 ird taxable income people by band $162,001 - $163,000 (parked)" }, "filter": "taxable_income_band_row_172_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_173", @@ -35052,7 +35052,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35071,7 +35071,7 @@ "target_label": "TY2026-27 ird taxable income people by band $163,001 - $164,000 (parked)" }, "filter": "taxable_income_band_row_173_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_174", @@ -35108,7 +35108,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35127,7 +35127,7 @@ "target_label": "TY2026-27 ird taxable income people by band $164,001 - $165,000 (parked)" }, "filter": "taxable_income_band_row_174_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_175", @@ -35164,7 +35164,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35183,7 +35183,7 @@ "target_label": "TY2026-27 ird taxable income people by band $165,001 - $166,000 (parked)" }, "filter": "taxable_income_band_row_175_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_176", @@ -35220,7 +35220,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35239,7 +35239,7 @@ "target_label": "TY2026-27 ird taxable income people by band $166,001 - $167,000 (parked)" }, "filter": "taxable_income_band_row_176_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_177", @@ -35276,7 +35276,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35295,7 +35295,7 @@ "target_label": "TY2026-27 ird taxable income people by band $167,001 - $168,000 (parked)" }, "filter": "taxable_income_band_row_177_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_178", @@ -35332,7 +35332,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35351,7 +35351,7 @@ "target_label": "TY2026-27 ird taxable income people by band $168,001 - $169,000 (parked)" }, "filter": "taxable_income_band_row_178_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_179", @@ -35388,7 +35388,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35407,7 +35407,7 @@ "target_label": "TY2026-27 ird taxable income people by band $169,001 - $170,000 (parked)" }, "filter": "taxable_income_band_row_179_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_180", @@ -35444,7 +35444,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35463,7 +35463,7 @@ "target_label": "TY2026-27 ird taxable income people by band $170,001 - $171,000 (parked)" }, "filter": "taxable_income_band_row_180_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_181", @@ -35500,7 +35500,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35519,7 +35519,7 @@ "target_label": "TY2026-27 ird taxable income people by band $171,001 - $172,000 (parked)" }, "filter": "taxable_income_band_row_181_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_182", @@ -35556,7 +35556,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35575,7 +35575,7 @@ "target_label": "TY2026-27 ird taxable income people by band $172,001 - $173,000 (parked)" }, "filter": "taxable_income_band_row_182_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_183", @@ -35612,7 +35612,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35631,7 +35631,7 @@ "target_label": "TY2026-27 ird taxable income people by band $173,001 - $174,000 (parked)" }, "filter": "taxable_income_band_row_183_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_184", @@ -35668,7 +35668,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35687,7 +35687,7 @@ "target_label": "TY2026-27 ird taxable income people by band $174,001 - $175,000 (parked)" }, "filter": "taxable_income_band_row_184_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_185", @@ -35724,7 +35724,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35743,7 +35743,7 @@ "target_label": "TY2026-27 ird taxable income people by band $175,001 - $176,000 (parked)" }, "filter": "taxable_income_band_row_185_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_186", @@ -35780,7 +35780,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35799,7 +35799,7 @@ "target_label": "TY2026-27 ird taxable income people by band $176,001 - $177,000 (parked)" }, "filter": "taxable_income_band_row_186_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_187", @@ -35836,7 +35836,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35855,7 +35855,7 @@ "target_label": "TY2026-27 ird taxable income people by band $177,001 - $178,000 (parked)" }, "filter": "taxable_income_band_row_187_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_188", @@ -35892,7 +35892,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35911,7 +35911,7 @@ "target_label": "TY2026-27 ird taxable income people by band $178,001 - $179,000 (parked)" }, "filter": "taxable_income_band_row_188_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_189", @@ -35948,7 +35948,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -35967,7 +35967,7 @@ "target_label": "TY2026-27 ird taxable income people by band $179,001 - $180,000 (parked)" }, "filter": "taxable_income_band_row_189_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_190", @@ -36004,7 +36004,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36023,7 +36023,7 @@ "target_label": "TY2026-27 ird taxable income people by band $180,001 - $181,000 (parked)" }, "filter": "taxable_income_band_row_190_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_191", @@ -36060,7 +36060,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36079,7 +36079,7 @@ "target_label": "TY2026-27 ird taxable income people by band $181,001 - $182,000 (parked)" }, "filter": "taxable_income_band_row_191_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_192", @@ -36116,7 +36116,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36135,7 +36135,7 @@ "target_label": "TY2026-27 ird taxable income people by band $182,001 - $183,000 (parked)" }, "filter": "taxable_income_band_row_192_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_193", @@ -36172,7 +36172,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36191,7 +36191,7 @@ "target_label": "TY2026-27 ird taxable income people by band $183,001 - $184,000 (parked)" }, "filter": "taxable_income_band_row_193_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_194", @@ -36228,7 +36228,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36247,7 +36247,7 @@ "target_label": "TY2026-27 ird taxable income people by band $184,001 - $185,000 (parked)" }, "filter": "taxable_income_band_row_194_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_195", @@ -36284,7 +36284,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36303,7 +36303,7 @@ "target_label": "TY2026-27 ird taxable income people by band $185,001 - $186,000 (parked)" }, "filter": "taxable_income_band_row_195_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_196", @@ -36340,7 +36340,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36359,7 +36359,7 @@ "target_label": "TY2026-27 ird taxable income people by band $186,001 - $187,000 (parked)" }, "filter": "taxable_income_band_row_196_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_197", @@ -36396,7 +36396,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36415,7 +36415,7 @@ "target_label": "TY2026-27 ird taxable income people by band $187,001 - $188,000 (parked)" }, "filter": "taxable_income_band_row_197_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_198", @@ -36452,7 +36452,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36471,7 +36471,7 @@ "target_label": "TY2026-27 ird taxable income people by band $188,001 - $189,000 (parked)" }, "filter": "taxable_income_band_row_198_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_199", @@ -36508,7 +36508,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36527,7 +36527,7 @@ "target_label": "TY2026-27 ird taxable income people by band $189,001 - $190,000 (parked)" }, "filter": "taxable_income_band_row_199_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_200", @@ -36564,7 +36564,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36583,7 +36583,7 @@ "target_label": "TY2026-27 ird taxable income people by band $190,001 - $191,000 (parked)" }, "filter": "taxable_income_band_row_200_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_201", @@ -36620,7 +36620,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36639,7 +36639,7 @@ "target_label": "TY2026-27 ird taxable income people by band $191,001 - $192,000 (parked)" }, "filter": "taxable_income_band_row_201_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_202", @@ -36676,7 +36676,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36695,7 +36695,7 @@ "target_label": "TY2026-27 ird taxable income people by band $192,001 - $193,000 (parked)" }, "filter": "taxable_income_band_row_202_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_203", @@ -36732,7 +36732,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36751,7 +36751,7 @@ "target_label": "TY2026-27 ird taxable income people by band $193,001 - $194,000 (parked)" }, "filter": "taxable_income_band_row_203_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_204", @@ -36788,7 +36788,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36807,7 +36807,7 @@ "target_label": "TY2026-27 ird taxable income people by band $194,001 - $195,000 (parked)" }, "filter": "taxable_income_band_row_204_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_205", @@ -36844,7 +36844,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36863,7 +36863,7 @@ "target_label": "TY2026-27 ird taxable income people by band $195,001 - $196,000 (parked)" }, "filter": "taxable_income_band_row_205_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_206", @@ -36900,7 +36900,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36919,7 +36919,7 @@ "target_label": "TY2026-27 ird taxable income people by band $196,001 - $197,000 (parked)" }, "filter": "taxable_income_band_row_206_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_207", @@ -36956,7 +36956,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -36975,7 +36975,7 @@ "target_label": "TY2026-27 ird taxable income people by band $197,001 - $198,000 (parked)" }, "filter": "taxable_income_band_row_207_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_208", @@ -37012,7 +37012,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37031,7 +37031,7 @@ "target_label": "TY2026-27 ird taxable income people by band $198,001 - $199,000 (parked)" }, "filter": "taxable_income_band_row_208_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_209", @@ -37068,7 +37068,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37087,7 +37087,7 @@ "target_label": "TY2026-27 ird taxable income people by band $199,001 - $200,000 (parked)" }, "filter": "taxable_income_band_row_209_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_210", @@ -37124,7 +37124,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37143,7 +37143,7 @@ "target_label": "TY2026-27 ird taxable income people by band $200,001 - $205,000 (parked)" }, "filter": "taxable_income_band_row_210_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_211", @@ -37180,7 +37180,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37199,7 +37199,7 @@ "target_label": "TY2026-27 ird taxable income people by band $205,001 - $210,000 (parked)" }, "filter": "taxable_income_band_row_211_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_212", @@ -37236,7 +37236,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37255,7 +37255,7 @@ "target_label": "TY2026-27 ird taxable income people by band $210,001 - $215,000 (parked)" }, "filter": "taxable_income_band_row_212_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_213", @@ -37292,7 +37292,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37311,7 +37311,7 @@ "target_label": "TY2026-27 ird taxable income people by band $215,001 - $220,000 (parked)" }, "filter": "taxable_income_band_row_213_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_214", @@ -37348,7 +37348,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37367,7 +37367,7 @@ "target_label": "TY2026-27 ird taxable income people by band $220,001 - $225,000 (parked)" }, "filter": "taxable_income_band_row_214_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_215", @@ -37404,7 +37404,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37423,7 +37423,7 @@ "target_label": "TY2026-27 ird taxable income people by band $225,001 - $230,000 (parked)" }, "filter": "taxable_income_band_row_215_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_216", @@ -37460,7 +37460,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37479,7 +37479,7 @@ "target_label": "TY2026-27 ird taxable income people by band $230,001 - $235,000 (parked)" }, "filter": "taxable_income_band_row_216_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_217", @@ -37516,7 +37516,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37535,7 +37535,7 @@ "target_label": "TY2026-27 ird taxable income people by band $235,001 - $240,000 (parked)" }, "filter": "taxable_income_band_row_217_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_218", @@ -37572,7 +37572,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37591,7 +37591,7 @@ "target_label": "TY2026-27 ird taxable income people by band $240,001 - $245,000 (parked)" }, "filter": "taxable_income_band_row_218_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_219", @@ -37628,7 +37628,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37647,7 +37647,7 @@ "target_label": "TY2026-27 ird taxable income people by band $245,001 - $250,000 (parked)" }, "filter": "taxable_income_band_row_219_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_220", @@ -37684,7 +37684,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37703,7 +37703,7 @@ "target_label": "TY2026-27 ird taxable income people by band $250,001 - $255,000 (parked)" }, "filter": "taxable_income_band_row_220_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_221", @@ -37740,7 +37740,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37759,7 +37759,7 @@ "target_label": "TY2026-27 ird taxable income people by band $255,001 - $260,000 (parked)" }, "filter": "taxable_income_band_row_221_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_222", @@ -37796,7 +37796,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37815,7 +37815,7 @@ "target_label": "TY2026-27 ird taxable income people by band $260,001 - $265,000 (parked)" }, "filter": "taxable_income_band_row_222_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_223", @@ -37852,7 +37852,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37871,7 +37871,7 @@ "target_label": "TY2026-27 ird taxable income people by band $265,001 - $270,000 (parked)" }, "filter": "taxable_income_band_row_223_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_224", @@ -37908,7 +37908,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37927,7 +37927,7 @@ "target_label": "TY2026-27 ird taxable income people by band $270,001 - $275,000 (parked)" }, "filter": "taxable_income_band_row_224_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_225", @@ -37964,7 +37964,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -37983,7 +37983,7 @@ "target_label": "TY2026-27 ird taxable income people by band $275,001 - $280,000 (parked)" }, "filter": "taxable_income_band_row_225_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_226", @@ -38020,7 +38020,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38039,7 +38039,7 @@ "target_label": "TY2026-27 ird taxable income people by band $280,001 - $285,000 (parked)" }, "filter": "taxable_income_band_row_226_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_227", @@ -38076,7 +38076,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38095,7 +38095,7 @@ "target_label": "TY2026-27 ird taxable income people by band $285,001 - $290,000 (parked)" }, "filter": "taxable_income_band_row_227_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_228", @@ -38132,7 +38132,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38151,7 +38151,7 @@ "target_label": "TY2026-27 ird taxable income people by band $290,001 - $295,000 (parked)" }, "filter": "taxable_income_band_row_228_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_229", @@ -38188,7 +38188,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38207,7 +38207,7 @@ "target_label": "TY2026-27 ird taxable income people by band $295,001 - $300,000 (parked)" }, "filter": "taxable_income_band_row_229_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_230", @@ -38244,7 +38244,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38263,7 +38263,7 @@ "target_label": "TY2026-27 ird taxable income people by band $300,000 - $350,000 (parked)" }, "filter": "taxable_income_band_row_230_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_231", @@ -38300,7 +38300,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38319,7 +38319,7 @@ "target_label": "TY2026-27 ird taxable income people by band $350,001 - $400,000 (parked)" }, "filter": "taxable_income_band_row_231_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_232", @@ -38356,7 +38356,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38375,7 +38375,7 @@ "target_label": "TY2026-27 ird taxable income people by band $400,001 - $450,000 (parked)" }, "filter": "taxable_income_band_row_232_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_233", @@ -38412,7 +38412,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38431,7 +38431,7 @@ "target_label": "TY2026-27 ird taxable income people by band $450,001 - $500,000 (parked)" }, "filter": "taxable_income_band_row_233_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_234", @@ -38468,7 +38468,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38487,7 +38487,7 @@ "target_label": "TY2026-27 ird taxable income people by band $500,001 - $550,000 (parked)" }, "filter": "taxable_income_band_row_234_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_235", @@ -38524,7 +38524,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38543,7 +38543,7 @@ "target_label": "TY2026-27 ird taxable income people by band $550,001 - $600,000 (parked)" }, "filter": "taxable_income_band_row_235_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_236", @@ -38580,7 +38580,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38599,7 +38599,7 @@ "target_label": "TY2026-27 ird taxable income people by band $600,001 - $650,000 (parked)" }, "filter": "taxable_income_band_row_236_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_237", @@ -38636,7 +38636,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38655,7 +38655,7 @@ "target_label": "TY2026-27 ird taxable income people by band $650,001 - $700,000 (parked)" }, "filter": "taxable_income_band_row_237_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_238", @@ -38692,7 +38692,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38711,7 +38711,7 @@ "target_label": "TY2026-27 ird taxable income people by band $700,001 - $750,000 (parked)" }, "filter": "taxable_income_band_row_238_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_239", @@ -38748,7 +38748,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38767,7 +38767,7 @@ "target_label": "TY2026-27 ird taxable income people by band $750,001 - $800,000 (parked)" }, "filter": "taxable_income_band_row_239_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_240", @@ -38804,7 +38804,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38823,7 +38823,7 @@ "target_label": "TY2026-27 ird taxable income people by band $800,001 - $850,000 (parked)" }, "filter": "taxable_income_band_row_240_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_241", @@ -38860,7 +38860,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38879,7 +38879,7 @@ "target_label": "TY2026-27 ird taxable income people by band $850,001 - $900,000 (parked)" }, "filter": "taxable_income_band_row_241_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_242", @@ -38916,7 +38916,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38935,7 +38935,7 @@ "target_label": "TY2026-27 ird taxable income people by band $900,001 - $950,000 (parked)" }, "filter": "taxable_income_band_row_242_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_243", @@ -38972,7 +38972,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -38991,7 +38991,7 @@ "target_label": "TY2026-27 ird taxable income people by band $950,001 - $1,000,000 (parked)" }, "filter": "taxable_income_band_row_243_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_people_by_band__row_244", @@ -39028,7 +39028,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39047,7 +39047,7 @@ "target_label": "TY2026-27 ird taxable income people by band Over $1,000,000 (parked)" }, "filter": "taxable_income_band_row_244_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_8", @@ -39084,7 +39084,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39103,7 +39103,7 @@ "target_label": "TY2026-27 ird taxable income total by band nil (parked)" }, "filter": "taxable_income_band_row_8_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_9", @@ -39140,7 +39140,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39159,7 +39159,7 @@ "target_label": "TY2026-27 ird taxable income total by band $0.01 - $100 (parked)" }, "filter": "taxable_income_band_row_9_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_10", @@ -39196,7 +39196,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39215,7 +39215,7 @@ "target_label": "TY2026-27 ird taxable income total by band $101 - $1,000 (parked)" }, "filter": "taxable_income_band_row_10_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_11", @@ -39252,7 +39252,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39271,7 +39271,7 @@ "target_label": "TY2026-27 ird taxable income total by band $1,001 - $2,000 (parked)" }, "filter": "taxable_income_band_row_11_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_12", @@ -39308,7 +39308,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39327,7 +39327,7 @@ "target_label": "TY2026-27 ird taxable income total by band $2,001 - $3,000 (parked)" }, "filter": "taxable_income_band_row_12_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_13", @@ -39364,7 +39364,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39383,7 +39383,7 @@ "target_label": "TY2026-27 ird taxable income total by band $3,001 - $4,000 (parked)" }, "filter": "taxable_income_band_row_13_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_14", @@ -39420,7 +39420,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39439,7 +39439,7 @@ "target_label": "TY2026-27 ird taxable income total by band $4,001 - $5,000 (parked)" }, "filter": "taxable_income_band_row_14_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_15", @@ -39476,7 +39476,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39495,7 +39495,7 @@ "target_label": "TY2026-27 ird taxable income total by band $5,001 - $6,000 (parked)" }, "filter": "taxable_income_band_row_15_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_16", @@ -39532,7 +39532,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39551,7 +39551,7 @@ "target_label": "TY2026-27 ird taxable income total by band $6,001 - $7,000 (parked)" }, "filter": "taxable_income_band_row_16_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_17", @@ -39588,7 +39588,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39607,7 +39607,7 @@ "target_label": "TY2026-27 ird taxable income total by band $7,001 - $8,000 (parked)" }, "filter": "taxable_income_band_row_17_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_18", @@ -39644,7 +39644,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39663,7 +39663,7 @@ "target_label": "TY2026-27 ird taxable income total by band $8,001 - $9,000 (parked)" }, "filter": "taxable_income_band_row_18_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_19", @@ -39700,7 +39700,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39719,7 +39719,7 @@ "target_label": "TY2026-27 ird taxable income total by band $9,001 - $10,000 (parked)" }, "filter": "taxable_income_band_row_19_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_20", @@ -39756,7 +39756,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39775,7 +39775,7 @@ "target_label": "TY2026-27 ird taxable income total by band $10,001 - $11,000 (parked)" }, "filter": "taxable_income_band_row_20_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_21", @@ -39812,7 +39812,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39831,7 +39831,7 @@ "target_label": "TY2026-27 ird taxable income total by band $11,001 - $12,000 (parked)" }, "filter": "taxable_income_band_row_21_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_22", @@ -39868,7 +39868,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39887,7 +39887,7 @@ "target_label": "TY2026-27 ird taxable income total by band $12,001 - $13,000 (parked)" }, "filter": "taxable_income_band_row_22_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_23", @@ -39924,7 +39924,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39943,7 +39943,7 @@ "target_label": "TY2026-27 ird taxable income total by band $13,001 - $14,000 (parked)" }, "filter": "taxable_income_band_row_23_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_24", @@ -39980,7 +39980,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -39999,7 +39999,7 @@ "target_label": "TY2026-27 ird taxable income total by band $14,001 - $15,000 (parked)" }, "filter": "taxable_income_band_row_24_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_25", @@ -40036,7 +40036,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40055,7 +40055,7 @@ "target_label": "TY2026-27 ird taxable income total by band $15,001 - $16,000 (parked)" }, "filter": "taxable_income_band_row_25_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_26", @@ -40092,7 +40092,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40111,7 +40111,7 @@ "target_label": "TY2026-27 ird taxable income total by band $16,001 - $17,000 (parked)" }, "filter": "taxable_income_band_row_26_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_27", @@ -40148,7 +40148,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40167,7 +40167,7 @@ "target_label": "TY2026-27 ird taxable income total by band $17,001 - $18,000 (parked)" }, "filter": "taxable_income_band_row_27_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_28", @@ -40204,7 +40204,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40223,7 +40223,7 @@ "target_label": "TY2026-27 ird taxable income total by band $18,001 - $19,000 (parked)" }, "filter": "taxable_income_band_row_28_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_29", @@ -40260,7 +40260,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40279,7 +40279,7 @@ "target_label": "TY2026-27 ird taxable income total by band $19,001 - $20,000 (parked)" }, "filter": "taxable_income_band_row_29_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_30", @@ -40316,7 +40316,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40335,7 +40335,7 @@ "target_label": "TY2026-27 ird taxable income total by band $20,000 - $21,000 (parked)" }, "filter": "taxable_income_band_row_30_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_31", @@ -40372,7 +40372,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40391,7 +40391,7 @@ "target_label": "TY2026-27 ird taxable income total by band $21,001 - $22,000 (parked)" }, "filter": "taxable_income_band_row_31_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_32", @@ -40428,7 +40428,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40447,7 +40447,7 @@ "target_label": "TY2026-27 ird taxable income total by band $22,001 - $23,000 (parked)" }, "filter": "taxable_income_band_row_32_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_33", @@ -40484,7 +40484,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40503,7 +40503,7 @@ "target_label": "TY2026-27 ird taxable income total by band $23,001 - $24,000 (parked)" }, "filter": "taxable_income_band_row_33_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_34", @@ -40540,7 +40540,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40559,7 +40559,7 @@ "target_label": "TY2026-27 ird taxable income total by band $24,001 - $25,000 (parked)" }, "filter": "taxable_income_band_row_34_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_35", @@ -40596,7 +40596,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40615,7 +40615,7 @@ "target_label": "TY2026-27 ird taxable income total by band $25,001 - $26,000 (parked)" }, "filter": "taxable_income_band_row_35_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_36", @@ -40652,7 +40652,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40671,7 +40671,7 @@ "target_label": "TY2026-27 ird taxable income total by band $26,001 - $27,000 (parked)" }, "filter": "taxable_income_band_row_36_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_37", @@ -40708,7 +40708,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40727,7 +40727,7 @@ "target_label": "TY2026-27 ird taxable income total by band $27,001 - $28,000 (parked)" }, "filter": "taxable_income_band_row_37_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_38", @@ -40764,7 +40764,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40783,7 +40783,7 @@ "target_label": "TY2026-27 ird taxable income total by band $28,001 - $29,000 (parked)" }, "filter": "taxable_income_band_row_38_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_39", @@ -40820,7 +40820,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40839,7 +40839,7 @@ "target_label": "TY2026-27 ird taxable income total by band $29,001 - $30,000 (parked)" }, "filter": "taxable_income_band_row_39_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_40", @@ -40876,7 +40876,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40895,7 +40895,7 @@ "target_label": "TY2026-27 ird taxable income total by band $30,001 - $31,000 (parked)" }, "filter": "taxable_income_band_row_40_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_41", @@ -40932,7 +40932,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -40951,7 +40951,7 @@ "target_label": "TY2026-27 ird taxable income total by band $31,001 - $32,000 (parked)" }, "filter": "taxable_income_band_row_41_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_42", @@ -40988,7 +40988,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41007,7 +41007,7 @@ "target_label": "TY2026-27 ird taxable income total by band $32,001 - $33,000 (parked)" }, "filter": "taxable_income_band_row_42_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_43", @@ -41044,7 +41044,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41063,7 +41063,7 @@ "target_label": "TY2026-27 ird taxable income total by band $33,001 - $34,000 (parked)" }, "filter": "taxable_income_band_row_43_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_44", @@ -41100,7 +41100,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41119,7 +41119,7 @@ "target_label": "TY2026-27 ird taxable income total by band $34,001 - $35,000 (parked)" }, "filter": "taxable_income_band_row_44_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_45", @@ -41156,7 +41156,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41175,7 +41175,7 @@ "target_label": "TY2026-27 ird taxable income total by band $35,001 - $36,000 (parked)" }, "filter": "taxable_income_band_row_45_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_46", @@ -41212,7 +41212,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41231,7 +41231,7 @@ "target_label": "TY2026-27 ird taxable income total by band $36,001 - $37,000 (parked)" }, "filter": "taxable_income_band_row_46_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_47", @@ -41268,7 +41268,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41287,7 +41287,7 @@ "target_label": "TY2026-27 ird taxable income total by band $37,001 - $38,000 (parked)" }, "filter": "taxable_income_band_row_47_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_48", @@ -41324,7 +41324,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41343,7 +41343,7 @@ "target_label": "TY2026-27 ird taxable income total by band $38,001 - $39,000 (parked)" }, "filter": "taxable_income_band_row_48_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_49", @@ -41380,7 +41380,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41399,7 +41399,7 @@ "target_label": "TY2026-27 ird taxable income total by band $39,001 - $40,000 (parked)" }, "filter": "taxable_income_band_row_49_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_50", @@ -41436,7 +41436,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41455,7 +41455,7 @@ "target_label": "TY2026-27 ird taxable income total by band $40,001 - $41,000 (parked)" }, "filter": "taxable_income_band_row_50_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_51", @@ -41492,7 +41492,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41511,7 +41511,7 @@ "target_label": "TY2026-27 ird taxable income total by band $41,001 - $42,000 (parked)" }, "filter": "taxable_income_band_row_51_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_52", @@ -41548,7 +41548,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41567,7 +41567,7 @@ "target_label": "TY2026-27 ird taxable income total by band $42,001 - $43,000 (parked)" }, "filter": "taxable_income_band_row_52_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_53", @@ -41604,7 +41604,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41623,7 +41623,7 @@ "target_label": "TY2026-27 ird taxable income total by band $43,001 - $44,000 (parked)" }, "filter": "taxable_income_band_row_53_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_54", @@ -41660,7 +41660,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41679,7 +41679,7 @@ "target_label": "TY2026-27 ird taxable income total by band $44,001 - $45,000 (parked)" }, "filter": "taxable_income_band_row_54_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_55", @@ -41716,7 +41716,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41735,7 +41735,7 @@ "target_label": "TY2026-27 ird taxable income total by band $45,001 - $46,000 (parked)" }, "filter": "taxable_income_band_row_55_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_56", @@ -41772,7 +41772,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41791,7 +41791,7 @@ "target_label": "TY2026-27 ird taxable income total by band $46,001 - $47,000 (parked)" }, "filter": "taxable_income_band_row_56_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_57", @@ -41828,7 +41828,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41847,7 +41847,7 @@ "target_label": "TY2026-27 ird taxable income total by band $47,001 - $48,000 (parked)" }, "filter": "taxable_income_band_row_57_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_58", @@ -41884,7 +41884,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41903,7 +41903,7 @@ "target_label": "TY2026-27 ird taxable income total by band $48,001 - $49,000 (parked)" }, "filter": "taxable_income_band_row_58_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_59", @@ -41940,7 +41940,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -41959,7 +41959,7 @@ "target_label": "TY2026-27 ird taxable income total by band $49,001 - $50,000 (parked)" }, "filter": "taxable_income_band_row_59_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_60", @@ -41996,7 +41996,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42015,7 +42015,7 @@ "target_label": "TY2026-27 ird taxable income total by band $50,000 - $51,000 (parked)" }, "filter": "taxable_income_band_row_60_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_61", @@ -42052,7 +42052,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42071,7 +42071,7 @@ "target_label": "TY2026-27 ird taxable income total by band $51,001 - $52,000 (parked)" }, "filter": "taxable_income_band_row_61_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_62", @@ -42108,7 +42108,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42127,7 +42127,7 @@ "target_label": "TY2026-27 ird taxable income total by band $52,001 - $53,000 (parked)" }, "filter": "taxable_income_band_row_62_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_63", @@ -42164,7 +42164,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42183,7 +42183,7 @@ "target_label": "TY2026-27 ird taxable income total by band $53,001 - $54,000 (parked)" }, "filter": "taxable_income_band_row_63_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_64", @@ -42220,7 +42220,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42239,7 +42239,7 @@ "target_label": "TY2026-27 ird taxable income total by band $54,001 - $55,000 (parked)" }, "filter": "taxable_income_band_row_64_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_65", @@ -42276,7 +42276,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42295,7 +42295,7 @@ "target_label": "TY2026-27 ird taxable income total by band $55,001 - $56,000 (parked)" }, "filter": "taxable_income_band_row_65_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_66", @@ -42332,7 +42332,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42351,7 +42351,7 @@ "target_label": "TY2026-27 ird taxable income total by band $56,001 - $57,000 (parked)" }, "filter": "taxable_income_band_row_66_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_67", @@ -42388,7 +42388,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42407,7 +42407,7 @@ "target_label": "TY2026-27 ird taxable income total by band $57,001 - $58,000 (parked)" }, "filter": "taxable_income_band_row_67_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_68", @@ -42444,7 +42444,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42463,7 +42463,7 @@ "target_label": "TY2026-27 ird taxable income total by band $58,001 - $59,000 (parked)" }, "filter": "taxable_income_band_row_68_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_69", @@ -42500,7 +42500,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42519,7 +42519,7 @@ "target_label": "TY2026-27 ird taxable income total by band $59,001 - $60,000 (parked)" }, "filter": "taxable_income_band_row_69_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_70", @@ -42556,7 +42556,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42575,7 +42575,7 @@ "target_label": "TY2026-27 ird taxable income total by band $60,001 - $61,000 (parked)" }, "filter": "taxable_income_band_row_70_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_71", @@ -42612,7 +42612,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42631,7 +42631,7 @@ "target_label": "TY2026-27 ird taxable income total by band $61,001 - $62,000 (parked)" }, "filter": "taxable_income_band_row_71_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_72", @@ -42668,7 +42668,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42687,7 +42687,7 @@ "target_label": "TY2026-27 ird taxable income total by band $62,001 - $63,000 (parked)" }, "filter": "taxable_income_band_row_72_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_73", @@ -42724,7 +42724,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42743,7 +42743,7 @@ "target_label": "TY2026-27 ird taxable income total by band $63,001 - $64,000 (parked)" }, "filter": "taxable_income_band_row_73_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_74", @@ -42780,7 +42780,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42799,7 +42799,7 @@ "target_label": "TY2026-27 ird taxable income total by band $64,001 - $65,000 (parked)" }, "filter": "taxable_income_band_row_74_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_75", @@ -42836,7 +42836,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42855,7 +42855,7 @@ "target_label": "TY2026-27 ird taxable income total by band $65,001 - $66,000 (parked)" }, "filter": "taxable_income_band_row_75_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_76", @@ -42892,7 +42892,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42911,7 +42911,7 @@ "target_label": "TY2026-27 ird taxable income total by band $66,001 - $67,000 (parked)" }, "filter": "taxable_income_band_row_76_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_77", @@ -42948,7 +42948,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -42967,7 +42967,7 @@ "target_label": "TY2026-27 ird taxable income total by band $67,001 - $68,000 (parked)" }, "filter": "taxable_income_band_row_77_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_78", @@ -43004,7 +43004,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43023,7 +43023,7 @@ "target_label": "TY2026-27 ird taxable income total by band $68,001 - $69,000 (parked)" }, "filter": "taxable_income_band_row_78_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_79", @@ -43060,7 +43060,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43079,7 +43079,7 @@ "target_label": "TY2026-27 ird taxable income total by band $69,001 - $70,000 (parked)" }, "filter": "taxable_income_band_row_79_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_80", @@ -43116,7 +43116,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43135,7 +43135,7 @@ "target_label": "TY2026-27 ird taxable income total by band $70,001 - $71,000 (parked)" }, "filter": "taxable_income_band_row_80_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_81", @@ -43172,7 +43172,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43191,7 +43191,7 @@ "target_label": "TY2026-27 ird taxable income total by band $71,001 - $72,000 (parked)" }, "filter": "taxable_income_band_row_81_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_82", @@ -43228,7 +43228,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43247,7 +43247,7 @@ "target_label": "TY2026-27 ird taxable income total by band $72,001 - $73,000 (parked)" }, "filter": "taxable_income_band_row_82_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_83", @@ -43284,7 +43284,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43303,7 +43303,7 @@ "target_label": "TY2026-27 ird taxable income total by band $73,001 - $74,000 (parked)" }, "filter": "taxable_income_band_row_83_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_84", @@ -43340,7 +43340,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43359,7 +43359,7 @@ "target_label": "TY2026-27 ird taxable income total by band $74,001 - $75,000 (parked)" }, "filter": "taxable_income_band_row_84_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_85", @@ -43396,7 +43396,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43415,7 +43415,7 @@ "target_label": "TY2026-27 ird taxable income total by band $75,001 - $76,000 (parked)" }, "filter": "taxable_income_band_row_85_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_86", @@ -43452,7 +43452,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43471,7 +43471,7 @@ "target_label": "TY2026-27 ird taxable income total by band $76,001 - $77,000 (parked)" }, "filter": "taxable_income_band_row_86_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_87", @@ -43508,7 +43508,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43527,7 +43527,7 @@ "target_label": "TY2026-27 ird taxable income total by band $77,001 - $78,000 (parked)" }, "filter": "taxable_income_band_row_87_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_88", @@ -43564,7 +43564,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43583,7 +43583,7 @@ "target_label": "TY2026-27 ird taxable income total by band $78,001 - $79,000 (parked)" }, "filter": "taxable_income_band_row_88_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_89", @@ -43620,7 +43620,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43639,7 +43639,7 @@ "target_label": "TY2026-27 ird taxable income total by band $79,001 - $80,000 (parked)" }, "filter": "taxable_income_band_row_89_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_90", @@ -43676,7 +43676,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43695,7 +43695,7 @@ "target_label": "TY2026-27 ird taxable income total by band $80,000 - $81,000 (parked)" }, "filter": "taxable_income_band_row_90_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_91", @@ -43732,7 +43732,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43751,7 +43751,7 @@ "target_label": "TY2026-27 ird taxable income total by band $81,001 - $82,000 (parked)" }, "filter": "taxable_income_band_row_91_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_92", @@ -43788,7 +43788,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43807,7 +43807,7 @@ "target_label": "TY2026-27 ird taxable income total by band $82,001 - $83,000 (parked)" }, "filter": "taxable_income_band_row_92_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_93", @@ -43844,7 +43844,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43863,7 +43863,7 @@ "target_label": "TY2026-27 ird taxable income total by band $83,001 - $84,000 (parked)" }, "filter": "taxable_income_band_row_93_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_94", @@ -43900,7 +43900,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43919,7 +43919,7 @@ "target_label": "TY2026-27 ird taxable income total by band $84,001 - $85,000 (parked)" }, "filter": "taxable_income_band_row_94_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_95", @@ -43956,7 +43956,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -43975,7 +43975,7 @@ "target_label": "TY2026-27 ird taxable income total by band $85,001 - $86,000 (parked)" }, "filter": "taxable_income_band_row_95_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_96", @@ -44012,7 +44012,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44031,7 +44031,7 @@ "target_label": "TY2026-27 ird taxable income total by band $86,001 - $87,000 (parked)" }, "filter": "taxable_income_band_row_96_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_97", @@ -44068,7 +44068,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44087,7 +44087,7 @@ "target_label": "TY2026-27 ird taxable income total by band $87,001 - $88,000 (parked)" }, "filter": "taxable_income_band_row_97_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_98", @@ -44124,7 +44124,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44143,7 +44143,7 @@ "target_label": "TY2026-27 ird taxable income total by band $88,001 - $89,000 (parked)" }, "filter": "taxable_income_band_row_98_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_99", @@ -44180,7 +44180,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44199,7 +44199,7 @@ "target_label": "TY2026-27 ird taxable income total by band $89,001 - $90,000 (parked)" }, "filter": "taxable_income_band_row_99_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_100", @@ -44236,7 +44236,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44255,7 +44255,7 @@ "target_label": "TY2026-27 ird taxable income total by band $90,001 - $91,000 (parked)" }, "filter": "taxable_income_band_row_100_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_101", @@ -44292,7 +44292,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44311,7 +44311,7 @@ "target_label": "TY2026-27 ird taxable income total by band $91,001 - $92,000 (parked)" }, "filter": "taxable_income_band_row_101_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_102", @@ -44348,7 +44348,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44367,7 +44367,7 @@ "target_label": "TY2026-27 ird taxable income total by band $92,001 - $93,000 (parked)" }, "filter": "taxable_income_band_row_102_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_103", @@ -44404,7 +44404,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44423,7 +44423,7 @@ "target_label": "TY2026-27 ird taxable income total by band $93,001 - $94,000 (parked)" }, "filter": "taxable_income_band_row_103_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_104", @@ -44460,7 +44460,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44479,7 +44479,7 @@ "target_label": "TY2026-27 ird taxable income total by band $94,001 - $95,000 (parked)" }, "filter": "taxable_income_band_row_104_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_105", @@ -44516,7 +44516,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44535,7 +44535,7 @@ "target_label": "TY2026-27 ird taxable income total by band $95,001 - $96,000 (parked)" }, "filter": "taxable_income_band_row_105_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_106", @@ -44572,7 +44572,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44591,7 +44591,7 @@ "target_label": "TY2026-27 ird taxable income total by band $96,001 - $97,000 (parked)" }, "filter": "taxable_income_band_row_106_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_107", @@ -44628,7 +44628,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44647,7 +44647,7 @@ "target_label": "TY2026-27 ird taxable income total by band $97,001 - $98,000 (parked)" }, "filter": "taxable_income_band_row_107_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_108", @@ -44684,7 +44684,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44703,7 +44703,7 @@ "target_label": "TY2026-27 ird taxable income total by band $98,001 - $99,000 (parked)" }, "filter": "taxable_income_band_row_108_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_109", @@ -44740,7 +44740,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44759,7 +44759,7 @@ "target_label": "TY2026-27 ird taxable income total by band $99,001 - $100,000 (parked)" }, "filter": "taxable_income_band_row_109_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_110", @@ -44796,7 +44796,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44815,7 +44815,7 @@ "target_label": "TY2026-27 ird taxable income total by band $100,001 - $101,000 (parked)" }, "filter": "taxable_income_band_row_110_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_111", @@ -44852,7 +44852,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44871,7 +44871,7 @@ "target_label": "TY2026-27 ird taxable income total by band $101,001 - $102,000 (parked)" }, "filter": "taxable_income_band_row_111_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_112", @@ -44908,7 +44908,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44927,7 +44927,7 @@ "target_label": "TY2026-27 ird taxable income total by band $102,001 - $103,000 (parked)" }, "filter": "taxable_income_band_row_112_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_113", @@ -44964,7 +44964,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -44983,7 +44983,7 @@ "target_label": "TY2026-27 ird taxable income total by band $103,001 - $104,000 (parked)" }, "filter": "taxable_income_band_row_113_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_114", @@ -45020,7 +45020,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45039,7 +45039,7 @@ "target_label": "TY2026-27 ird taxable income total by band $104,001 - $105,000 (parked)" }, "filter": "taxable_income_band_row_114_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_115", @@ -45076,7 +45076,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45095,7 +45095,7 @@ "target_label": "TY2026-27 ird taxable income total by band $105,001 - $106,000 (parked)" }, "filter": "taxable_income_band_row_115_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_116", @@ -45132,7 +45132,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45151,7 +45151,7 @@ "target_label": "TY2026-27 ird taxable income total by band $106,001 - $107,000 (parked)" }, "filter": "taxable_income_band_row_116_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_117", @@ -45188,7 +45188,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45207,7 +45207,7 @@ "target_label": "TY2026-27 ird taxable income total by band $107,001 - $108,000 (parked)" }, "filter": "taxable_income_band_row_117_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_118", @@ -45244,7 +45244,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45263,7 +45263,7 @@ "target_label": "TY2026-27 ird taxable income total by band $108,001 - $109,000 (parked)" }, "filter": "taxable_income_band_row_118_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_119", @@ -45300,7 +45300,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45319,7 +45319,7 @@ "target_label": "TY2026-27 ird taxable income total by band $109,001 - $110,000 (parked)" }, "filter": "taxable_income_band_row_119_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_120", @@ -45356,7 +45356,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45375,7 +45375,7 @@ "target_label": "TY2026-27 ird taxable income total by band $110,001 - $111,000 (parked)" }, "filter": "taxable_income_band_row_120_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_121", @@ -45412,7 +45412,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45431,7 +45431,7 @@ "target_label": "TY2026-27 ird taxable income total by band $111,001 - $112,000 (parked)" }, "filter": "taxable_income_band_row_121_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_122", @@ -45468,7 +45468,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45487,7 +45487,7 @@ "target_label": "TY2026-27 ird taxable income total by band $112,001 - $113,000 (parked)" }, "filter": "taxable_income_band_row_122_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_123", @@ -45524,7 +45524,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45543,7 +45543,7 @@ "target_label": "TY2026-27 ird taxable income total by band $113,001 - $114,000 (parked)" }, "filter": "taxable_income_band_row_123_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_124", @@ -45580,7 +45580,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45599,7 +45599,7 @@ "target_label": "TY2026-27 ird taxable income total by band $114,001 - $115,000 (parked)" }, "filter": "taxable_income_band_row_124_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_125", @@ -45636,7 +45636,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45655,7 +45655,7 @@ "target_label": "TY2026-27 ird taxable income total by band $115,001 - $116,000 (parked)" }, "filter": "taxable_income_band_row_125_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_126", @@ -45692,7 +45692,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45711,7 +45711,7 @@ "target_label": "TY2026-27 ird taxable income total by band $116,001 - $117,000 (parked)" }, "filter": "taxable_income_band_row_126_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_127", @@ -45748,7 +45748,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45767,7 +45767,7 @@ "target_label": "TY2026-27 ird taxable income total by band $117,001 - $118,000 (parked)" }, "filter": "taxable_income_band_row_127_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_128", @@ -45804,7 +45804,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45823,7 +45823,7 @@ "target_label": "TY2026-27 ird taxable income total by band $118,001 - $119,000 (parked)" }, "filter": "taxable_income_band_row_128_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_129", @@ -45860,7 +45860,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45879,7 +45879,7 @@ "target_label": "TY2026-27 ird taxable income total by band $119,001 - $120,000 (parked)" }, "filter": "taxable_income_band_row_129_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_130", @@ -45916,7 +45916,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45935,7 +45935,7 @@ "target_label": "TY2026-27 ird taxable income total by band $120,001 - $121,000 (parked)" }, "filter": "taxable_income_band_row_130_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_131", @@ -45972,7 +45972,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -45991,7 +45991,7 @@ "target_label": "TY2026-27 ird taxable income total by band $121,001 - $122,000 (parked)" }, "filter": "taxable_income_band_row_131_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_132", @@ -46028,7 +46028,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46047,7 +46047,7 @@ "target_label": "TY2026-27 ird taxable income total by band $122,001 - $123,000 (parked)" }, "filter": "taxable_income_band_row_132_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_133", @@ -46084,7 +46084,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46103,7 +46103,7 @@ "target_label": "TY2026-27 ird taxable income total by band $123,001 - $124,000 (parked)" }, "filter": "taxable_income_band_row_133_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_134", @@ -46140,7 +46140,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46159,7 +46159,7 @@ "target_label": "TY2026-27 ird taxable income total by band $124,001 - $125,000 (parked)" }, "filter": "taxable_income_band_row_134_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_135", @@ -46196,7 +46196,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46215,7 +46215,7 @@ "target_label": "TY2026-27 ird taxable income total by band $125,001 - $126,000 (parked)" }, "filter": "taxable_income_band_row_135_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_136", @@ -46252,7 +46252,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46271,7 +46271,7 @@ "target_label": "TY2026-27 ird taxable income total by band $126,001 - $127,000 (parked)" }, "filter": "taxable_income_band_row_136_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_137", @@ -46308,7 +46308,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46327,7 +46327,7 @@ "target_label": "TY2026-27 ird taxable income total by band $127,001 - $128,000 (parked)" }, "filter": "taxable_income_band_row_137_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_138", @@ -46364,7 +46364,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46383,7 +46383,7 @@ "target_label": "TY2026-27 ird taxable income total by band $128,001 - $129,000 (parked)" }, "filter": "taxable_income_band_row_138_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_139", @@ -46420,7 +46420,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46439,7 +46439,7 @@ "target_label": "TY2026-27 ird taxable income total by band $129,001 - $130,000 (parked)" }, "filter": "taxable_income_band_row_139_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_140", @@ -46476,7 +46476,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46495,7 +46495,7 @@ "target_label": "TY2026-27 ird taxable income total by band $130,001 - $131,000 (parked)" }, "filter": "taxable_income_band_row_140_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_141", @@ -46532,7 +46532,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46551,7 +46551,7 @@ "target_label": "TY2026-27 ird taxable income total by band $131,001 - $132,000 (parked)" }, "filter": "taxable_income_band_row_141_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_142", @@ -46588,7 +46588,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46607,7 +46607,7 @@ "target_label": "TY2026-27 ird taxable income total by band $132,001 - $133,000 (parked)" }, "filter": "taxable_income_band_row_142_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_143", @@ -46644,7 +46644,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46663,7 +46663,7 @@ "target_label": "TY2026-27 ird taxable income total by band $133,001 - $134,000 (parked)" }, "filter": "taxable_income_band_row_143_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_144", @@ -46700,7 +46700,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46719,7 +46719,7 @@ "target_label": "TY2026-27 ird taxable income total by band $134,001 - $135,000 (parked)" }, "filter": "taxable_income_band_row_144_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_145", @@ -46756,7 +46756,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46775,7 +46775,7 @@ "target_label": "TY2026-27 ird taxable income total by band $135,001 - $136,000 (parked)" }, "filter": "taxable_income_band_row_145_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_146", @@ -46812,7 +46812,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46831,7 +46831,7 @@ "target_label": "TY2026-27 ird taxable income total by band $136,001 - $137,000 (parked)" }, "filter": "taxable_income_band_row_146_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_147", @@ -46868,7 +46868,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46887,7 +46887,7 @@ "target_label": "TY2026-27 ird taxable income total by band $137,001 - $138,000 (parked)" }, "filter": "taxable_income_band_row_147_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_148", @@ -46924,7 +46924,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46943,7 +46943,7 @@ "target_label": "TY2026-27 ird taxable income total by band $138,001 - $139,000 (parked)" }, "filter": "taxable_income_band_row_148_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_149", @@ -46980,7 +46980,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -46999,7 +46999,7 @@ "target_label": "TY2026-27 ird taxable income total by band $139,001 - $140,000 (parked)" }, "filter": "taxable_income_band_row_149_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_150", @@ -47036,7 +47036,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47055,7 +47055,7 @@ "target_label": "TY2026-27 ird taxable income total by band $140,001 - $141,000 (parked)" }, "filter": "taxable_income_band_row_150_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_151", @@ -47092,7 +47092,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47111,7 +47111,7 @@ "target_label": "TY2026-27 ird taxable income total by band $141,001 - $142,000 (parked)" }, "filter": "taxable_income_band_row_151_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_152", @@ -47148,7 +47148,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47167,7 +47167,7 @@ "target_label": "TY2026-27 ird taxable income total by band $142,001 - $143,000 (parked)" }, "filter": "taxable_income_band_row_152_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_153", @@ -47204,7 +47204,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47223,7 +47223,7 @@ "target_label": "TY2026-27 ird taxable income total by band $143,001 - $144,000 (parked)" }, "filter": "taxable_income_band_row_153_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_154", @@ -47260,7 +47260,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47279,7 +47279,7 @@ "target_label": "TY2026-27 ird taxable income total by band $144,001 - $145,000 (parked)" }, "filter": "taxable_income_band_row_154_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_155", @@ -47316,7 +47316,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47335,7 +47335,7 @@ "target_label": "TY2026-27 ird taxable income total by band $145,001 - $146,000 (parked)" }, "filter": "taxable_income_band_row_155_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_156", @@ -47372,7 +47372,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47391,7 +47391,7 @@ "target_label": "TY2026-27 ird taxable income total by band $146,001 - $147,000 (parked)" }, "filter": "taxable_income_band_row_156_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_157", @@ -47428,7 +47428,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47447,7 +47447,7 @@ "target_label": "TY2026-27 ird taxable income total by band $147,001 - $148,000 (parked)" }, "filter": "taxable_income_band_row_157_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_158", @@ -47484,7 +47484,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47503,7 +47503,7 @@ "target_label": "TY2026-27 ird taxable income total by band $148,001 - $149,000 (parked)" }, "filter": "taxable_income_band_row_158_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_159", @@ -47540,7 +47540,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47559,7 +47559,7 @@ "target_label": "TY2026-27 ird taxable income total by band $149,001 - $150,000 (parked)" }, "filter": "taxable_income_band_row_159_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_160", @@ -47596,7 +47596,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47615,7 +47615,7 @@ "target_label": "TY2026-27 ird taxable income total by band $150,001 - $151,000 (parked)" }, "filter": "taxable_income_band_row_160_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_161", @@ -47652,7 +47652,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47671,7 +47671,7 @@ "target_label": "TY2026-27 ird taxable income total by band $151,001 - $152,000 (parked)" }, "filter": "taxable_income_band_row_161_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_162", @@ -47708,7 +47708,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47727,7 +47727,7 @@ "target_label": "TY2026-27 ird taxable income total by band $152,001 - $153,000 (parked)" }, "filter": "taxable_income_band_row_162_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_163", @@ -47764,7 +47764,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47783,7 +47783,7 @@ "target_label": "TY2026-27 ird taxable income total by band $153,001 - $154,000 (parked)" }, "filter": "taxable_income_band_row_163_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_164", @@ -47820,7 +47820,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47839,7 +47839,7 @@ "target_label": "TY2026-27 ird taxable income total by band $154,001 - $155,000 (parked)" }, "filter": "taxable_income_band_row_164_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_165", @@ -47876,7 +47876,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47895,7 +47895,7 @@ "target_label": "TY2026-27 ird taxable income total by band $155,001 - $156,000 (parked)" }, "filter": "taxable_income_band_row_165_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_166", @@ -47932,7 +47932,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -47951,7 +47951,7 @@ "target_label": "TY2026-27 ird taxable income total by band $156,001 - $157,000 (parked)" }, "filter": "taxable_income_band_row_166_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_167", @@ -47988,7 +47988,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48007,7 +48007,7 @@ "target_label": "TY2026-27 ird taxable income total by band $157,001 - $158,000 (parked)" }, "filter": "taxable_income_band_row_167_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_168", @@ -48044,7 +48044,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48063,7 +48063,7 @@ "target_label": "TY2026-27 ird taxable income total by band $158,001 - $159,000 (parked)" }, "filter": "taxable_income_band_row_168_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_169", @@ -48100,7 +48100,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48119,7 +48119,7 @@ "target_label": "TY2026-27 ird taxable income total by band $159,001 - $160,000 (parked)" }, "filter": "taxable_income_band_row_169_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_170", @@ -48156,7 +48156,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48175,7 +48175,7 @@ "target_label": "TY2026-27 ird taxable income total by band $160,001 - $161,000 (parked)" }, "filter": "taxable_income_band_row_170_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_171", @@ -48212,7 +48212,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48231,7 +48231,7 @@ "target_label": "TY2026-27 ird taxable income total by band $161,001 - $162,000 (parked)" }, "filter": "taxable_income_band_row_171_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_172", @@ -48268,7 +48268,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48287,7 +48287,7 @@ "target_label": "TY2026-27 ird taxable income total by band $162,001 - $163,000 (parked)" }, "filter": "taxable_income_band_row_172_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_173", @@ -48324,7 +48324,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48343,7 +48343,7 @@ "target_label": "TY2026-27 ird taxable income total by band $163,001 - $164,000 (parked)" }, "filter": "taxable_income_band_row_173_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_174", @@ -48380,7 +48380,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48399,7 +48399,7 @@ "target_label": "TY2026-27 ird taxable income total by band $164,001 - $165,000 (parked)" }, "filter": "taxable_income_band_row_174_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_175", @@ -48436,7 +48436,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48455,7 +48455,7 @@ "target_label": "TY2026-27 ird taxable income total by band $165,001 - $166,000 (parked)" }, "filter": "taxable_income_band_row_175_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_176", @@ -48492,7 +48492,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48511,7 +48511,7 @@ "target_label": "TY2026-27 ird taxable income total by band $166,001 - $167,000 (parked)" }, "filter": "taxable_income_band_row_176_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_177", @@ -48548,7 +48548,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48567,7 +48567,7 @@ "target_label": "TY2026-27 ird taxable income total by band $167,001 - $168,000 (parked)" }, "filter": "taxable_income_band_row_177_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_178", @@ -48604,7 +48604,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48623,7 +48623,7 @@ "target_label": "TY2026-27 ird taxable income total by band $168,001 - $169,000 (parked)" }, "filter": "taxable_income_band_row_178_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_179", @@ -48660,7 +48660,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48679,7 +48679,7 @@ "target_label": "TY2026-27 ird taxable income total by band $169,001 - $170,000 (parked)" }, "filter": "taxable_income_band_row_179_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_180", @@ -48716,7 +48716,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48735,7 +48735,7 @@ "target_label": "TY2026-27 ird taxable income total by band $170,001 - $171,000 (parked)" }, "filter": "taxable_income_band_row_180_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_181", @@ -48772,7 +48772,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48791,7 +48791,7 @@ "target_label": "TY2026-27 ird taxable income total by band $171,001 - $172,000 (parked)" }, "filter": "taxable_income_band_row_181_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_182", @@ -48828,7 +48828,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48847,7 +48847,7 @@ "target_label": "TY2026-27 ird taxable income total by band $172,001 - $173,000 (parked)" }, "filter": "taxable_income_band_row_182_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_183", @@ -48884,7 +48884,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48903,7 +48903,7 @@ "target_label": "TY2026-27 ird taxable income total by band $173,001 - $174,000 (parked)" }, "filter": "taxable_income_band_row_183_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_184", @@ -48940,7 +48940,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -48959,7 +48959,7 @@ "target_label": "TY2026-27 ird taxable income total by band $174,001 - $175,000 (parked)" }, "filter": "taxable_income_band_row_184_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_185", @@ -48996,7 +48996,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49015,7 +49015,7 @@ "target_label": "TY2026-27 ird taxable income total by band $175,001 - $176,000 (parked)" }, "filter": "taxable_income_band_row_185_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_186", @@ -49052,7 +49052,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49071,7 +49071,7 @@ "target_label": "TY2026-27 ird taxable income total by band $176,001 - $177,000 (parked)" }, "filter": "taxable_income_band_row_186_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_187", @@ -49108,7 +49108,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49127,7 +49127,7 @@ "target_label": "TY2026-27 ird taxable income total by band $177,001 - $178,000 (parked)" }, "filter": "taxable_income_band_row_187_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_188", @@ -49164,7 +49164,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49183,7 +49183,7 @@ "target_label": "TY2026-27 ird taxable income total by band $178,001 - $179,000 (parked)" }, "filter": "taxable_income_band_row_188_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_189", @@ -49220,7 +49220,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49239,7 +49239,7 @@ "target_label": "TY2026-27 ird taxable income total by band $179,001 - $180,000 (parked)" }, "filter": "taxable_income_band_row_189_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_190", @@ -49276,7 +49276,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49295,7 +49295,7 @@ "target_label": "TY2026-27 ird taxable income total by band $180,001 - $181,000 (parked)" }, "filter": "taxable_income_band_row_190_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_191", @@ -49332,7 +49332,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49351,7 +49351,7 @@ "target_label": "TY2026-27 ird taxable income total by band $181,001 - $182,000 (parked)" }, "filter": "taxable_income_band_row_191_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_192", @@ -49388,7 +49388,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49407,7 +49407,7 @@ "target_label": "TY2026-27 ird taxable income total by band $182,001 - $183,000 (parked)" }, "filter": "taxable_income_band_row_192_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_193", @@ -49444,7 +49444,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49463,7 +49463,7 @@ "target_label": "TY2026-27 ird taxable income total by band $183,001 - $184,000 (parked)" }, "filter": "taxable_income_band_row_193_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_194", @@ -49500,7 +49500,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49519,7 +49519,7 @@ "target_label": "TY2026-27 ird taxable income total by band $184,001 - $185,000 (parked)" }, "filter": "taxable_income_band_row_194_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_195", @@ -49556,7 +49556,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49575,7 +49575,7 @@ "target_label": "TY2026-27 ird taxable income total by band $185,001 - $186,000 (parked)" }, "filter": "taxable_income_band_row_195_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_196", @@ -49612,7 +49612,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49631,7 +49631,7 @@ "target_label": "TY2026-27 ird taxable income total by band $186,001 - $187,000 (parked)" }, "filter": "taxable_income_band_row_196_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_197", @@ -49668,7 +49668,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49687,7 +49687,7 @@ "target_label": "TY2026-27 ird taxable income total by band $187,001 - $188,000 (parked)" }, "filter": "taxable_income_band_row_197_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_198", @@ -49724,7 +49724,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49743,7 +49743,7 @@ "target_label": "TY2026-27 ird taxable income total by band $188,001 - $189,000 (parked)" }, "filter": "taxable_income_band_row_198_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_199", @@ -49780,7 +49780,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49799,7 +49799,7 @@ "target_label": "TY2026-27 ird taxable income total by band $189,001 - $190,000 (parked)" }, "filter": "taxable_income_band_row_199_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_200", @@ -49836,7 +49836,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49855,7 +49855,7 @@ "target_label": "TY2026-27 ird taxable income total by band $190,001 - $191,000 (parked)" }, "filter": "taxable_income_band_row_200_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_201", @@ -49892,7 +49892,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49911,7 +49911,7 @@ "target_label": "TY2026-27 ird taxable income total by band $191,001 - $192,000 (parked)" }, "filter": "taxable_income_band_row_201_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_202", @@ -49948,7 +49948,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -49967,7 +49967,7 @@ "target_label": "TY2026-27 ird taxable income total by band $192,001 - $193,000 (parked)" }, "filter": "taxable_income_band_row_202_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_203", @@ -50004,7 +50004,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50023,7 +50023,7 @@ "target_label": "TY2026-27 ird taxable income total by band $193,001 - $194,000 (parked)" }, "filter": "taxable_income_band_row_203_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_204", @@ -50060,7 +50060,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50079,7 +50079,7 @@ "target_label": "TY2026-27 ird taxable income total by band $194,001 - $195,000 (parked)" }, "filter": "taxable_income_band_row_204_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_205", @@ -50116,7 +50116,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50135,7 +50135,7 @@ "target_label": "TY2026-27 ird taxable income total by band $195,001 - $196,000 (parked)" }, "filter": "taxable_income_band_row_205_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_206", @@ -50172,7 +50172,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50191,7 +50191,7 @@ "target_label": "TY2026-27 ird taxable income total by band $196,001 - $197,000 (parked)" }, "filter": "taxable_income_band_row_206_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_207", @@ -50228,7 +50228,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50247,7 +50247,7 @@ "target_label": "TY2026-27 ird taxable income total by band $197,001 - $198,000 (parked)" }, "filter": "taxable_income_band_row_207_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_208", @@ -50284,7 +50284,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50303,7 +50303,7 @@ "target_label": "TY2026-27 ird taxable income total by band $198,001 - $199,000 (parked)" }, "filter": "taxable_income_band_row_208_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_209", @@ -50340,7 +50340,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50359,7 +50359,7 @@ "target_label": "TY2026-27 ird taxable income total by band $199,001 - $200,000 (parked)" }, "filter": "taxable_income_band_row_209_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_210", @@ -50396,7 +50396,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50415,7 +50415,7 @@ "target_label": "TY2026-27 ird taxable income total by band $200,001 - $205,000 (parked)" }, "filter": "taxable_income_band_row_210_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_211", @@ -50452,7 +50452,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50471,7 +50471,7 @@ "target_label": "TY2026-27 ird taxable income total by band $205,001 - $210,000 (parked)" }, "filter": "taxable_income_band_row_211_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_212", @@ -50508,7 +50508,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50527,7 +50527,7 @@ "target_label": "TY2026-27 ird taxable income total by band $210,001 - $215,000 (parked)" }, "filter": "taxable_income_band_row_212_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_213", @@ -50564,7 +50564,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50583,7 +50583,7 @@ "target_label": "TY2026-27 ird taxable income total by band $215,001 - $220,000 (parked)" }, "filter": "taxable_income_band_row_213_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_214", @@ -50620,7 +50620,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50639,7 +50639,7 @@ "target_label": "TY2026-27 ird taxable income total by band $220,001 - $225,000 (parked)" }, "filter": "taxable_income_band_row_214_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_215", @@ -50676,7 +50676,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50695,7 +50695,7 @@ "target_label": "TY2026-27 ird taxable income total by band $225,001 - $230,000 (parked)" }, "filter": "taxable_income_band_row_215_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_216", @@ -50732,7 +50732,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50751,7 +50751,7 @@ "target_label": "TY2026-27 ird taxable income total by band $230,001 - $235,000 (parked)" }, "filter": "taxable_income_band_row_216_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_217", @@ -50788,7 +50788,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50807,7 +50807,7 @@ "target_label": "TY2026-27 ird taxable income total by band $235,001 - $240,000 (parked)" }, "filter": "taxable_income_band_row_217_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_218", @@ -50844,7 +50844,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50863,7 +50863,7 @@ "target_label": "TY2026-27 ird taxable income total by band $240,001 - $245,000 (parked)" }, "filter": "taxable_income_band_row_218_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_219", @@ -50900,7 +50900,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50919,7 +50919,7 @@ "target_label": "TY2026-27 ird taxable income total by band $245,001 - $250,000 (parked)" }, "filter": "taxable_income_band_row_219_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_220", @@ -50956,7 +50956,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -50975,7 +50975,7 @@ "target_label": "TY2026-27 ird taxable income total by band $250,001 - $255,000 (parked)" }, "filter": "taxable_income_band_row_220_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_221", @@ -51012,7 +51012,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51031,7 +51031,7 @@ "target_label": "TY2026-27 ird taxable income total by band $255,001 - $260,000 (parked)" }, "filter": "taxable_income_band_row_221_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_222", @@ -51068,7 +51068,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51087,7 +51087,7 @@ "target_label": "TY2026-27 ird taxable income total by band $260,001 - $265,000 (parked)" }, "filter": "taxable_income_band_row_222_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_223", @@ -51124,7 +51124,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51143,7 +51143,7 @@ "target_label": "TY2026-27 ird taxable income total by band $265,001 - $270,000 (parked)" }, "filter": "taxable_income_band_row_223_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_224", @@ -51180,7 +51180,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51199,7 +51199,7 @@ "target_label": "TY2026-27 ird taxable income total by band $270,001 - $275,000 (parked)" }, "filter": "taxable_income_band_row_224_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_225", @@ -51236,7 +51236,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51255,7 +51255,7 @@ "target_label": "TY2026-27 ird taxable income total by band $275,001 - $280,000 (parked)" }, "filter": "taxable_income_band_row_225_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_226", @@ -51292,7 +51292,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51311,7 +51311,7 @@ "target_label": "TY2026-27 ird taxable income total by band $280,001 - $285,000 (parked)" }, "filter": "taxable_income_band_row_226_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_227", @@ -51348,7 +51348,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51367,7 +51367,7 @@ "target_label": "TY2026-27 ird taxable income total by band $285,001 - $290,000 (parked)" }, "filter": "taxable_income_band_row_227_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_228", @@ -51404,7 +51404,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51423,7 +51423,7 @@ "target_label": "TY2026-27 ird taxable income total by band $290,001 - $295,000 (parked)" }, "filter": "taxable_income_band_row_228_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_229", @@ -51460,7 +51460,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51479,7 +51479,7 @@ "target_label": "TY2026-27 ird taxable income total by band $295,001 - $300,000 (parked)" }, "filter": "taxable_income_band_row_229_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_230", @@ -51516,7 +51516,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51535,7 +51535,7 @@ "target_label": "TY2026-27 ird taxable income total by band $300,000 - $350,000 (parked)" }, "filter": "taxable_income_band_row_230_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_231", @@ -51572,7 +51572,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51591,7 +51591,7 @@ "target_label": "TY2026-27 ird taxable income total by band $350,001 - $400,000 (parked)" }, "filter": "taxable_income_band_row_231_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_232", @@ -51628,7 +51628,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51647,7 +51647,7 @@ "target_label": "TY2026-27 ird taxable income total by band $400,001 - $450,000 (parked)" }, "filter": "taxable_income_band_row_232_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_233", @@ -51684,7 +51684,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51703,7 +51703,7 @@ "target_label": "TY2026-27 ird taxable income total by band $450,001 - $500,000 (parked)" }, "filter": "taxable_income_band_row_233_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_234", @@ -51740,7 +51740,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51759,7 +51759,7 @@ "target_label": "TY2026-27 ird taxable income total by band $500,001 - $550,000 (parked)" }, "filter": "taxable_income_band_row_234_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_235", @@ -51796,7 +51796,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51815,7 +51815,7 @@ "target_label": "TY2026-27 ird taxable income total by band $550,001 - $600,000 (parked)" }, "filter": "taxable_income_band_row_235_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_236", @@ -51852,7 +51852,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51871,7 +51871,7 @@ "target_label": "TY2026-27 ird taxable income total by band $600,001 - $650,000 (parked)" }, "filter": "taxable_income_band_row_236_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_237", @@ -51908,7 +51908,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51927,7 +51927,7 @@ "target_label": "TY2026-27 ird taxable income total by band $650,001 - $700,000 (parked)" }, "filter": "taxable_income_band_row_237_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_238", @@ -51964,7 +51964,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -51983,7 +51983,7 @@ "target_label": "TY2026-27 ird taxable income total by band $700,001 - $750,000 (parked)" }, "filter": "taxable_income_band_row_238_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_239", @@ -52020,7 +52020,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52039,7 +52039,7 @@ "target_label": "TY2026-27 ird taxable income total by band $750,001 - $800,000 (parked)" }, "filter": "taxable_income_band_row_239_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_240", @@ -52076,7 +52076,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52095,7 +52095,7 @@ "target_label": "TY2026-27 ird taxable income total by band $800,001 - $850,000 (parked)" }, "filter": "taxable_income_band_row_240_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_241", @@ -52132,7 +52132,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52151,7 +52151,7 @@ "target_label": "TY2026-27 ird taxable income total by band $850,001 - $900,000 (parked)" }, "filter": "taxable_income_band_row_241_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_242", @@ -52188,7 +52188,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52207,7 +52207,7 @@ "target_label": "TY2026-27 ird taxable income total by band $900,001 - $950,000 (parked)" }, "filter": "taxable_income_band_row_242_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_243", @@ -52244,7 +52244,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52263,7 +52263,7 @@ "target_label": "TY2026-27 ird taxable income total by band $950,001 - $1,000,000 (parked)" }, "filter": "taxable_income_band_row_243_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "ird_taxable_income_total_by_band__row_244", @@ -52300,7 +52300,7 @@ "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement.", + "parking_reason": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement.", "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:ird_taxable_income_ty2027_v1\"]", "required_reference_profile": "aging_index", "required_measurement_binding": "ird_taxable_income_ty2027_v1", @@ -52319,7 +52319,7 @@ "target_label": "TY2026-27 ird taxable income total by band Over $1,000,000 (parked)" }, "filter": "taxable_income_band_row_244_indicator", - "notes": "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." + "notes": "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." }, { "name": "msd_jobseeker_support_recipients__age_18_24", @@ -52353,14 +52353,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52375,8 +52374,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_jobseeker_support_recipients__age_25_39", @@ -52410,14 +52408,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52432,8 +52429,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_jobseeker_support_recipients__age_40_54", @@ -52467,14 +52463,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52489,8 +52484,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_jobseeker_support_recipients__age_55_64", @@ -52524,14 +52518,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52546,8 +52539,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=jobseeker support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_sole_parent_support_recipients__age_18_24", @@ -52581,14 +52573,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52603,8 +52594,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_sole_parent_support_recipients__age_25_39", @@ -52638,14 +52628,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52660,8 +52649,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_sole_parent_support_recipients__age_40_54", @@ -52695,14 +52683,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52717,8 +52704,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_sole_parent_support_recipients__age_55_64", @@ -52752,14 +52738,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52774,8 +52759,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=sole parent support) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_supported_living_payment_recipients__age_18_24", @@ -52809,14 +52793,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52831,8 +52814,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=18 24 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_18_24_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_18_24_indicator" }, { "name": "msd_supported_living_payment_recipients__age_25_39", @@ -52866,14 +52848,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52888,8 +52869,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=25 39 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_25_39_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_25_39_indicator" }, { "name": "msd_supported_living_payment_recipients__age_40_54", @@ -52923,14 +52903,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -52945,8 +52924,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=40 54 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_40_54_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_40_54_indicator" }, { "name": "msd_supported_living_payment_recipients__age_55_64", @@ -52980,14 +52958,13 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_main_benefit_recipients_by_program_age", - "activation_status": "requires_stratified_receipt_assignment", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", "target_role": "calibration", "reference_set": "calibration", "method_card_row": "MC5", - "parking_reason": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters.", "measurement_basis": "June 2026 recipient snapshot stock; not annual recipients or full entitlement" }, "hierarchy": { @@ -53002,8 +52979,7 @@ }, "target_label": "New Zealand 2026-06 month count msd main benefit recipients for person (msd main benefit age group source label=55 64 years, msd main benefit age status=working age, msd main benefit type=supported living payment) [msd Quarterly Benefit Fact Sheets - National Benefit Tables, June 2026 quarterly-benefit-fact-sheets-national-benefit-tables-june-2026.xlsx june_2026_quarter]" }, - "filter": "age_55_64_indicator", - "notes": "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." + "filter": "age_55_64_indicator" }, { "name": "msd_nz_super_recipients", @@ -53035,7 +53011,7 @@ "assertion_policy": "observed_only", "metadata": { "contract_target_id": "msd_nz_super_recipients", - "activation_status": "requires_receipt_binding", + "activation_status": "active", "criticality": "release_blocking", "measure_kind": "prepared_column", "publisher": "Ministry of Social Development", @@ -53043,7 +53019,6 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "msd_nz_super_veterans_pension_recipients", - "parking_reason": "NZ Super receipt binding and prepared receipt flag are not implemented.", "measurement_basis": "June 2026 recipient snapshot stock; NZS and VP remain distinct" }, "hierarchy": { @@ -53057,8 +53032,7 @@ "provider_id": "msd" }, "target_label": "New Zealand 2026-06 month count msd nzs vp recipient count for person (msd nzs vp benefit type=nzs, msd nzs vp recipient total=all) [msd New Zealand Superannuation and Veteran's Pension - June 2026 quarterly-benefit-fact-sheets-nzs-and-vp-tables-june-2026.xlsx june_2026_quarter]" - }, - "notes": "NZ Super receipt binding and prepared receipt flag are not implemented." + } }, { "name": "msd_veterans_pension_recipients", @@ -53098,7 +53072,7 @@ "reference_set": "calibration", "method_card_row": "MC5", "legacy_contract_target_id": "msd_nz_super_veterans_pension_recipients", - "parking_reason": "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false.", + "parking_reason": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step.", "measurement_basis": "June 2026 recipient snapshot stock; NZS and VP remain distinct" }, "hierarchy": { @@ -53113,7 +53087,7 @@ }, "target_label": "New Zealand 2026-06 month count msd nzs vp recipient count for person (msd nzs vp benefit type=vp, msd nzs vp recipient total=all) [msd New Zealand Superannuation and Veteran's Pension - June 2026 quarterly-benefit-fact-sheets-nzs-and-vp-tables-june-2026.xlsx june_2026_quarter]" }, - "notes": "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false." + "notes": "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." } ], "target_profile": { diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_msd_pre_activation_reconciliation.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_msd_pre_activation_reconciliation.py new file mode 100644 index 0000000000..3772f83762 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_msd_pre_activation_reconciliation.py @@ -0,0 +1,131 @@ +"""Replay the pre-activation MSD evidence without a donor or country engine.""" + +from __future__ import annotations + +import hashlib +import json +import os +from fractions import Fraction + +import pytest + +from microcosm.build.ledger_artifact import load_ledger_consumer_artifact +from test_support.paths import paths_for +from tools import generate_nz_msd_pre_activation_reconciliation as generator + +_SPEC = paths_for("microcosm-build").package / "src/microcosm/build/nz" + + +def _report(): + return json.loads((_SPEC / generator.OUTPUT).read_text()) + + +def test_committed_reconciliation_replays_exactly_from_disclosed_source_rows(): + report = _report() + rates_bytes = (_SPEC / generator.RATE_RESOURCE).read_bytes() + replay = generator.reconcile( + report["source_rows"], + json.loads(rates_bytes), + json.loads((_SPEC / "chronicle_feed.json").read_text()), + hashlib.sha256(rates_bytes).hexdigest(), + report["exhaustive_msd_dimension_audit"], + ) + assert replay == report + assert report["stage"] == "pre_activation" + assert report["status"] == "after_abatement_reconciliation_unavailable" + assert len(report["source_rows"]) == 19 + assert len(report["exhaustive_msd_dimension_audit"]) == 27 + source_keys = {row["aggregate_fact_key"] for row in report["source_rows"]} + for comparison in report["comparisons"]: + for stratum in comparison["strata"]: + assert set(stratum["recipient_selector"]) == {"aggregate_fact_key"} + assert stratum["recipient_selector"]["aggregate_fact_key"] in source_keys + assert "recipient_fact_key" not in stratum + + +def test_all_headline_categories_and_exposure_gaps_use_exact_arithmetic(): + """Exhaust every disclosed rate option, recipient cell and exposure point.""" + for comparison in _report()["comparisons"]: + lower = upper = Fraction(0) + for stratum in comparison["strata"]: + rates = [ + Fraction(row["gross_weekly_nzd"]) + for row in stratum["available_individual_rate_categories"] + ] + count = stratum["recipient_count"] + assert Fraction(stratum["annual_headline_lower_nzd"]) == ( + count * 52 * min(rates) + ) + assert Fraction(stratum["annual_headline_upper_nzd"]) == ( + count * 52 * max(rates) + ) + lower += count * 52 * min(rates) + upper += count * 52 * max(rates) + published = Fraction(comparison["published_actual_expense_nzd"]) + assert comparison["category_weighted_after_abatement_total_nzd"] is None + assert ( + comparison["headline_rate_total_nzd"] is None + if lower != upper + else Fraction(comparison["headline_rate_total_nzd"]) == lower + ) + assert [ + row["full_year_exposure"] for row in comparison["exposure_sensitivity"] + ] == list(generator.EXPOSURES) + for row in comparison["exposure_sensitivity"]: + exposure = Fraction(row["full_year_exposure"]) + assert Fraction(row["headline_lower_nzd"]) == lower * exposure + assert Fraction(row["headline_upper_nzd"]) == upper * exposure + assert Fraction(row["lower_minus_published_nzd"]) == ( + lower * exposure - published + ) + assert Fraction(row["upper_minus_published_nzd"]) == ( + upper * exposure - published + ) + + +def test_six_published_expense_keys_keep_their_universe_and_period_disclosures(): + report = _report() + assert { + row["component"]: row["aggregate_fact_key"] + for row in report["published_expenses"] + } == generator.EXPENSE_KEYS + assert [ + row["component"] + for row in report["published_expenses"] + if row["comparison_status"] == "unmodelled_programme_no_comparison" + ] == ["orphans_unsupported_childs_benefit", "student_allowances"] + for row in report["source_rows"]: + if row["record_set_id"] == generator.EXPENSE_RECORD_SET: + assert row["period_coverage"]["start_date"] == "2024-07-01" + assert row["period_coverage"]["end_date"] == "2025-06-30" + assert "no category shares" in report["method"]["headline"] + assert "without person-level data" in report["method"]["after_abatement"] + assert "Emergency Benefit" in report["method"]["period_and_universe"] + + +def test_reconciliation_refuses_missing_source_cells(): + report = _report() + with pytest.raises(ValueError, match="Expected 12 working-age cells"): + generator.reconcile( + report["source_rows"][:-1], + json.loads((_SPEC / generator.RATE_RESOURCE).read_text()), + report["feed_identity"], + report["rates_sha256"], + report["exhaustive_msd_dimension_audit"], + ) + + +def test_pinned_feed_regenerates_reconciliation_and_check_mode(tmp_path, monkeypatch): + artifact_path = os.environ.get("NZ_CHRONICLE_ARTIFACT") + if not artifact_path: + pytest.skip("NZ_CHRONICLE_ARTIFACT supplies the staged pinned feed audit") + artifact = load_ledger_consumer_artifact(artifact_path) + assert generator.generate(artifact) == _report() + monkeypatch.setattr(generator, "load_ledger_consumer_artifact", lambda _: artifact) + output = tmp_path / generator.OUTPUT + generator.main(["--artifact", artifact_path, "--out", str(output)]) + assert output.read_bytes() == (_SPEC / generator.OUTPUT).read_bytes() + generator.main(["--artifact", artifact_path, "--out", str(output), "--check"]) + output.write_text("{}\n") + with pytest.raises(SystemExit, match="Stale MSD pre-activation reconciliation"): + generator.main(["--artifact", artifact_path, "--out", str(output), "--check"]) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py index 02908e1510..ed62648880 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py @@ -288,8 +288,7 @@ def test_resolution_is_not_activation_and_no_active_row_requests_the_proxy(): wages = [row for row in precal if row["name"].startswith("ird_wage_salary_")] assert len(wages) == 235 assert all( - row["metadata"]["activation_status"] - == "requires_g8r2_source_period_wage_bridge_and_intervals" + row["metadata"]["activation_status"] == "requires_g8r2c_wage_quantile_producer" for row in wages ) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py index 2e2389b246..c3a64c8373 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py @@ -1140,7 +1140,7 @@ def _as_ratio_numerator( operands = ( {"role": "base"}, - {"role": "numerator", **numerator}, + {"role": "numerator", "period_type": "", "period_value": "", **numerator}, {"role": "denominator", "source_name": "unrelated_source"}, ) return dataclasses.replace( @@ -1267,7 +1267,7 @@ def test_every_parked_reference_names_its_blocker_and_refuses_compilation( compile_ledger_target_references([], [reference], country="nz") assert ( sum(row.metadata["activation_status"] == "active" for row in references) - == {"calibration": 64, "precal": 67, "holdout": 0}[reference_set] + == {"calibration": 77, "precal": 80, "holdout": 2}[reference_set] ) def test_pre_calibration_rows_are_not_weight_calibration_targets(self) -> None: @@ -1308,7 +1308,7 @@ def test_calibration_set_is_the_method_card_mc5_list(self) -> None: def test_holdout_set_is_validation_only(self) -> None: references = _references("holdout") assert {reference.name for reference in references} == { - "msd_accommodation_supplement_recipients_by_region", + "msd_accommodation_supplement_recipients_national", "msd_annual_report_accommodation_assistance_expenditure", "treasury_an24_01_accommodation_supplement_fiscal_total", "ird_wff_recipient_families", @@ -1377,6 +1377,26 @@ def test_no_held_out_fact_reaches_calibration_or_pre_calibration(self) -> None: ) assert HELD_OUT_FAMILIES.isdisjoint(reference.family for reference in upstream) + @pytest.mark.parametrize( + "name", + [ + "msd_accommodation_supplement_recipients_national", + "msd_annual_report_accommodation_assistance_expenditure", + ], + ) + def test_source_only_ratio_plant_reaches_a_differently_pinned_holdout( + self, name: str + ) -> None: + held = next(row for row in _references("holdout") if row.name == name) + donor = _references("calibration")[0] + planted = _as_ratio_numerator( + donor, {"source_name": held.ledger_selector["source_name"]} + ) + assert any( + ": hold-out ledger selector " in leak + for leak in holdout_leaks([planted], [], [held]) + ) + # A stalled shared host once made one draw take 36.9 s (load1 ~300), which # Hypothesis reports as too_slow; the strategy itself is cheap. @settings( @@ -1442,10 +1462,7 @@ def test_a_reference_in_two_upstream_sets_names_one_fact(self) -> None: == "msd_main_benefit_recipients_by_program_age" ): assert row["filter"] - assert ( - row["metadata"]["activation_status"] - == "requires_stratified_receipt_assignment" - ) + assert row["metadata"]["activation_status"] == "active" assert row["ledger_selector"]["period_value"] == "2026-06" assert row["period"] == "2026-06" @@ -2278,7 +2295,6 @@ def test_committed_grid_satisfies_the_scenario_contract(self) -> None: "S1", "S2", "S3", - "S4", "S5", "V1", "V2", @@ -3337,7 +3353,7 @@ def test_reporting_non_beneficiary_audit_cites_its_exact_state_binding( ] assert "person.receives_veterans_pension" not in binding["columns"] assert ( - "must be extended" + "The hub must extend both together" in document["as_non_beneficiary_audit"]["veterans_pension"] ) @@ -4058,7 +4074,7 @@ def test_income_names_assigned_receipt_and_gross_components_only(self) -> None: assert super_income["column"] in _bindings()["nz_super"]["variables"] assert all("entitled" not in row["receipt_column"] for row in benefits) - def test_unavailable_before_tax_paid_amounts_refuse_activation(self) -> None: + def test_before_tax_paid_amounts_resolve_without_blocked_inputs(self) -> None: from microcosm.frame.reporting import validate_income_classifier document = _load("reporting_classifiers.json") @@ -4068,15 +4084,21 @@ def test_unavailable_before_tax_paid_amounts_refuse_activation(self) -> None: for row in classifier["components"] if row["column"] is None } - assert missing == { - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_veterans_pension", + assert missing == set() + assert document["blocked_inputs"] == [] + validate_income_classifier(classifier) + assert { + row["column"] + for row in classifier["components"] + if row["kind"] == "benefit" and row["receipt_column"] != "receives_nz_super" + } == { + f"{program}_gross_weekly_payment" + for program in ( + "jobseeker_support", + "sole_parent_support", + "supported_living_payment", + ) } - assert missing == {row["receipt_column"] for row in document["blocked_inputs"]} - with pytest.raises(ValueError, match="(?:column|before.tax)"): - validate_income_classifier(classifier) paid = _bindings()["main_benefits_rates"]["variables"] assert { "jobseeker_support_net_weekly_payment", @@ -4132,7 +4154,7 @@ def test_mc11_and_receipt_group_select_one_superannuitant_predicate(self) -> Non assert selected == classifier["predicates"]["superannuitant"] assert selected == { "entity": "person", - "columns": ["receives_nz_super", "receives_veterans_pension"], + "columns": ["receives_nz_super"], "reduction": "any", } assert classifier["priority"] == ["superannuitant", "beneficiary"] @@ -4143,7 +4165,7 @@ def test_mc11_and_receipt_group_select_one_superannuitant_predicate(self) -> Non "receives_supported_living_payment", ] - def test_unsupported_veterans_receipt_is_explicit_and_required(self) -> None: + def test_unsupported_veterans_receipt_is_explicit_and_excluded(self) -> None: document = _load("reporting_classifiers.json") declared = _load("axiom_input_closure.json")["receipt_flags"]["columns"] (unsupported,) = document["unsupported_receipt_inputs"] @@ -4151,9 +4173,9 @@ def test_unsupported_veterans_receipt_is_explicit_and_required(self) -> None: assert f"person.{unsupported['column']}" not in declared assert ( unsupported["column"] - in document["receipt_group"]["predicates"]["superannuitant"]["columns"] + not in document["receipt_group"]["predicates"]["superannuitant"]["columns"] ) - assert "missing flag never implies false" in unsupported["required_behavior"] + assert "unsupported" in unsupported["required_behavior"].lower() assert document["mixed_unit_audit"]["per_scenario"] is True def test_as_non_beneficiary_binding_agrees_for_supported_receipt_flags( @@ -4177,13 +4199,8 @@ def test_as_non_beneficiary_binding_agrees_for_supported_receipt_flags( assert binding["group_rule"] == "any_member" assert binding["negate"] is True assert "person.receives_nz_super" in binding["columns"] - assert expected - set(binding["columns"]) == { - "person.receives_veterans_pension" - } - assert ( - "must be extended" - in document["as_non_beneficiary_audit"]["veterans_pension"] - ) + assert expected == set(binding["columns"]) + assert "unsupported" in document["as_non_beneficiary_audit"]["veterans_pension"] def test_baseline_cells_are_declared_for_every_scenario_and_variant(self) -> None: document = _load("reporting_classifiers.json") @@ -4245,7 +4262,7 @@ def test_pinned_donor_unit_ids_survive_rebuilds_and_row_permutations(self) -> No assert units["family_id"].tolist() == [102, 201, 202] assert units["family_source_household_id"].tolist() == ["same_source"] * 3 - def test_s0_through_s4_structural_zero_cells_are_listed_on_support_entry( + def test_s0_through_s3_structural_zero_cells_are_listed_on_support_entry( self, ) -> None: document = _load("reporting_classifiers.json") @@ -4255,7 +4272,7 @@ def test_s0_through_s4_structural_zero_cells_are_listed_on_support_entry( "scenario": f"S{index}", "cell": "beneficiary_superannuitant_other/superannuitant", } - for index in range(5) + for index in range(4) ] support = next( row @@ -4265,6 +4282,6 @@ def test_s0_through_s4_structural_zero_cells_are_listed_on_support_entry( for row in zeros: assert f"{row['scenario']}/{row['cell']}" in support["notes"] assert ( - "actual structural-zero diagnostics are derived from reported amounts" + "reported amounts determine actual structural-zero diagnostics" in (support["notes"]) ) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py index 33f7e945bf..abcfef6bca 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py @@ -117,6 +117,14 @@ def _effective_rows(profile="mar"): return document["target_references"] +def _diagnostic_rows(rows): + """Measure reviewed transformations without activating packaged fit rows.""" + rows = copy.deepcopy(rows) + for row in rows: + row["metadata"]["activation_status"] = "active" + return rows + + def test_inventory_has_exact_contract_counts_and_named_parking_reasons(): counts = Counter(row["metadata"]["contract_target_id"] for row in _rows()) assert counts == { @@ -132,8 +140,8 @@ def test_inventory_has_exact_contract_counts_and_named_parking_reasons(): } assert len(_rows("precal_references.json")) == 318 for filename, active in ( - ("target_references.json", 64), - ("precal_references.json", 67), + ("target_references.json", 77), + ("precal_references.json", 80), ): rows = _rows(filename) assert ( @@ -196,7 +204,7 @@ def test_residual_profiles_have_exact_recipient_rosters_and_preserve_other_targe effective = _effective_rows(profile) assert ( sum(row["metadata"]["activation_status"] == "active" for row in effective) - == 234 + == 109 ) assert { row["ledger_selector"]["geography_id"] @@ -218,14 +226,20 @@ def test_residual_profiles_have_exact_recipient_rosters_and_preserve_other_targe ) assert "G8-r3b" in after["metadata"]["parking_reason"] continue - if ( - before["metadata"]["activation_status"] - != "requires_reference_profile_resolution" - ): + status = before["metadata"]["activation_status"] + if status not in { + "requires_reference_profile_resolution", + "requires_household_structure_release_evidence", + "requires_region_99_release_evidence", + }: assert before == after continue assert before["ledger_selector"] == after["ledger_selector"] - assert after["metadata"]["activation_status"] == "active" + assert after["metadata"]["activation_status"] == ( + "active" + if status == "requires_reference_profile_resolution" + else status + ) assert after["value_operation"] == "allocated_residual_by_ratio" operands = {operand["role"]: operand for operand in after["value_operands"]} partition = operands["partition"] @@ -293,8 +307,8 @@ def test_full_nz_resource_resolves_directly_to_the_strict_compiler_document(prof parked = [ row for row in references if row.metadata["activation_status"] != "active" ] - assert len(active) == 234 - assert len(parked) == 539 + assert len(active) == 109 + assert len(parked) == 664 assert receipt["base_references_sha256"] == reference_document_sha256(raw) assert receipt["effective_references_sha256"] == reference_document_sha256( effective @@ -525,7 +539,7 @@ def test_real_artifact_regional_closure_shares_and_sensitivity( if "households_by_size" in row["name"] or row["family"] == "housing_tenure" ] registry = compile_ledger_target_references( - artifact.facts, _parsed(rows), country="nz" + artifact.facts, _parsed(_diagnostic_rows(rows)), country="nz" ) actual = {} for row, target in zip(rows, registry.specs, strict=True): @@ -654,11 +668,16 @@ def test_grouped_tenure_family_multiplicities_and_parked_definitions(): == "requires_census_family_nucleus_standard" ) if "households_by_size" in row["name"]: - assert "d1886" in row["metadata"]["parking_reason"] - if "households_by_size" in row["name"] or row["family"] == "housing_tenure": + assert "G8-w4" in row["metadata"]["parking_reason"] assert ( row["metadata"]["activation_status"] - == "requires_reference_profile_resolution" + == "requires_household_structure_release_evidence" + ) + if row["family"] == "housing_tenure": + assert row["metadata"]["activation_status"] == ( + "requires_region_99_release_evidence" + if selector["geography_id"] == "99" + else "requires_reference_profile_resolution" ) if row["family"] == "income": assert row["metadata"]["activation_status"] == "requires_prerequisites" @@ -669,7 +688,7 @@ def test_grouped_tenure_family_multiplicities_and_parked_definitions(): assert row["metadata"]["parking_reason"].startswith("B4:") -def test_receipt_snapshots_are_split_and_stratified_inputs_stay_parked(): +def test_receipt_snapshots_activate_thirteen_cells_and_keep_vp_unsupported(): source_sets = [] for filename in ("target_references.json", "precal_references.json"): rows = [ @@ -694,10 +713,7 @@ def test_receipt_snapshots_are_split_and_stratified_inputs_stay_parked(): assert row["period"] == row["ledger_selector"]["period_value"] == "2026-06" assert "snapshot stock" in row["metadata"]["measurement_basis"] if row["family"] == "main_benefits": - assert ( - row["metadata"]["activation_status"] - == "requires_stratified_receipt_assignment" - ) + assert row["metadata"]["activation_status"] == "active" assert row["filter"].startswith("age_") assert row["ledger_selector"]["dimension_values"][ "msd_main_benefit_type" @@ -711,6 +727,8 @@ def test_receipt_snapshots_are_split_and_stratified_inputs_stay_parked(): row["metadata"]["activation_status"] == "requires_unsupported_veterans_pension" ) + else: + assert row["metadata"]["activation_status"] == "active" assert source_sets[0] == source_sets[1] wages = [ row for row in _rows("precal_references.json") if row["family"] == "earnings" @@ -723,7 +741,7 @@ def test_receipt_snapshots_are_split_and_stratified_inputs_stay_parked(): for row in wages ) assert all( - row["metadata"]["activation_status"].startswith("requires_g8r2") + row["metadata"]["activation_status"] == "requires_g8r2c_wage_quantile_producer" for row in wages ) @@ -768,6 +786,77 @@ def test_generation_reproduces_committed_resources_with_exact_feed_identity(arti assert artifact.fact_schema_versions == ("chronicle.consumer_fact.v4",) +@pytest.mark.parametrize("existing_output", [False, True]) +def test_reference_generation_uses_source_templates_independent_of_outputs( + artifact, tmp_path, existing_output +): + for filename in ( + "chronicle_feed.json", + "family_reconciliation.json", + ): + (tmp_path / filename).write_text(json.dumps(_document(filename))) + if existing_output: + for filename in ("holdout_references.json", "precal_references.json"): + (tmp_path / filename).write_text( + json.dumps({"target_references": [{"name": "stale_output"}]}) + ) + generated = build_reference_documents(artifact, package_dir=tmp_path) + for filename in ("holdout_references.json", "precal_references.json"): + assert generated[filename] == _document(filename) + + +def test_h1_count_and_h2_historical_annual_dollars_pin_distinct_source_cells(artifact): + rows = [ + row + for row in _rows("holdout_references.json") + if row["metadata"]["activation_status"] == "active" + ] + assert [row["name"] for row in rows] == [ + "msd_accommodation_supplement_recipients_national", + "msd_annual_report_accommodation_assistance_expenditure", + ] + h1, h2 = rows + assert h1["measure"] == "accommodation_supplement_positive_payment_indicator" + assert h1["metadata"]["indicator_input_column"] == ( + "accommodation_supplement_rounded_weekly_payment" + ) + assert h1["metadata"]["indicator_operator"] == "positive" + assert h1["metadata"]["indicator_threshold"] == "0" + assert h1["metadata"]["annualisation_factor"] == "1" + assert h1["ledger_selector"]["geography_level"] == "country" + assert h1["ledger_selector"]["geography_id"] == "NZ" + assert h1["period"] == "2026-06" + assert h2["measure"] == "accommodation_supplement_rounded_weekly_payment" + assert h2["metadata"]["annualisation_factor"] == "52" + assert h2["ledger_selector"]["record_set_id"] == "msd.benefit_expenses.fy2024" + assert h2["ledger_selector"]["dimension_values"] == { + "benefit_expense_component": "Accommodation Assistance" + } + assert h2["period"] == 2024 + assert "Historical fiscal-year 2024/25" in h2["metadata"]["measurement_basis"] + registry = compile_ledger_target_references( + artifact.facts, _parsed(rows), country="nz" + ) + assert [target.value for target in registry.specs] == [363309, 2232026000] + + +def test_create_mass_pins_one_unfiltered_national_june_2025_person_count(artifact): + (row,) = _rows("mass_references.json") + assert row["name"] == "stats_nz_national_erp_june_2025" + assert row["entity"] == "person" + assert row["measure"] == "people" + assert "filter" not in row + assert row["period"] == 2025 + assert row["ledger_selector"]["geography_id"] == "NZ" + assert row["ledger_selector"]["record_set_id"] == ( + "stats_nz.cy2025.subnational_population.all_ages" + ) + registry = compile_ledger_target_references( + artifact.facts, _parsed([row]), country="nz" + ) + assert [target.value for target in registry.specs] == [5324700] + + def test_every_active_scalar_resolves_once_and_grouped_tenure_has_exact_roster( artifact, facts_by_key ): @@ -844,7 +933,7 @@ def test_scaled_tenure_values_are_fractional_exact_bridges_and_national_diagnost ): rows = [row for row in _effective_rows() if row["family"] == "housing_tenure"] registry = compile_ledger_target_references( - artifact.facts, _parsed(rows), country="nz" + artifact.facts, _parsed(_diagnostic_rows(rows)), country="nz" ) expected = [] for row, spec in zip(rows, registry.specs, strict=True): @@ -959,7 +1048,7 @@ def test_region_99_is_a_separate_national_growth_proxy_and_ta_999_has_no_erp(art ] assert len(rows) == 2 registry = compile_ledger_target_references( - artifact.facts, _parsed(rows), country="nz" + artifact.facts, _parsed(_diagnostic_rows(rows)), country="nz" ) for row, spec in zip(rows, registry.specs, strict=True): assert spec.hierarchy.geography.id == "99" diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py new file mode 100644 index 0000000000..4cea1d948b --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -0,0 +1,288 @@ +"""Exhaustive invariants for the NZ declaration hand-off to G8-w3b.""" + +from __future__ import annotations + +import json +import os +import subprocess +import sys +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.calibration_predicates import predicate_mask +from microcosm.build.transport import compose +from microcosm.build.transport.column_kernels import validate_receipt_contract +from microcosm.build.transport.reference_selection import validate_exemptions +from microcosm.calibrate.ordered_kernels import _PARAMS +from test_support.paths import paths_for + + +@pytest.fixture(autouse=True) +def _prove_mutant_import(): + if prefix := os.environ.get("NZ_MUTANT_PATH"): + loaded = Path(compose.__file__).resolve() + assert loaded.is_relative_to(Path(prefix).resolve()) + print(f"Mutant loaded compose.__file__={loaded}") + + +def _spec(): + return compose.load_transport_spec("nz") + + +def _references(spec): + for resource, document in spec["resources"].items(): + if "target_references" in document: + yield resource, compose.transport_resource(spec, resource) + + +def _required(spec): + result = {"mass_references": set()} + result["mass_references"].update( + row["name"] for row in spec["resources"]["mass_references"]["target_references"] + ) + result["precal_references"] = set() + for program in spec["resources"]["receipt_contract"]["receipts"]["programs"]: + if "target" in program: + result["precal_references"].add(program["target"]) + result["precal_references"].update( + row["target"] for row in program.get("strata", ()) + ) + # A receipt target appears in both assignment and calibration surfaces. + result["target_references"] = result["precal_references"] + for resource, names in compose._reference_selection_closure(spec).items(): + result.setdefault(resource, set()).update(names) + return result + + +def test_every_reference_is_active_or_exempt_with_matching_status(): + spec = _spec() + selections = compose._reference_selections(spec) + for resource, document in _references(spec): + selection = selections.get(resource, {"exempt": []}) + exemptions = { + row["name"]: row + for row in validate_exemptions(document, selection, resource=resource) + } + for row in document["target_references"]: + status = row["metadata"].get("activation_status", "active") + assert (status == "active") != (row["name"] in exemptions), ( + resource, + row["name"], + ) + if row["name"] in exemptions: + exemption = exemptions[row["name"]] + assert exemption["activation_status"] == status + assert exemption["reason"].strip() + assert "G8-" in exemption["reason"] + + +def test_no_exemption_covers_a_required_reference(): + spec = _spec() + required = _required(spec) + for resource, selection in compose._reference_selections(spec).items(): + assert not required.get(resource, set()).intersection( + row["name"] for row in selection["exempt"] + ), resource + + +def test_receipt_targets_and_filters_resolve_to_active_bound_rows(): + spec = _spec() + receipts = spec["resources"]["receipt_contract"]["receipts"] + validate_receipt_contract(receipts) + rows = { + row["name"]: row + for row in spec["resources"]["precal_references"]["target_references"] + } + predicates = { + entry["name"] + for entry in spec["resources"]["calibration_bindings"]["columns"] + if "predicates" in entry + } + for program in receipts["programs"]: + targets = program.get("strata", [{"target": program.get("target")}]) + for target in targets: + row = rows[target["target"]] + assert row["metadata"]["activation_status"] == "active" + assert row["measure"] == program["output"] + if "filter" in target: + assert target["filter"] in predicates + assert row["filter"] == target["filter"] + else: + assert not row.get("filter") + + +def test_receipt_strata_are_disjoint_for_every_age(): + spec = _spec() + bindings = { + entry["name"]: entry + for entry in spec["resources"]["calibration_bindings"]["columns"] + if "predicates" in entry + } + table = pd.DataFrame({"age": np.arange(0, 121)}) + for program in spec["resources"]["receipt_contract"]["receipts"]["programs"]: + strata = program.get("strata", ()) + if not strata: + continue + intervals = [] + for row in strata: + predicates = bindings[row["filter"]]["predicates"] + assert len(predicates) == 2 + assert all(predicate["column"] == "age" for predicate in predicates) + bounds = { + predicate["operator"]: predicate["value"] for predicate in predicates + } + assert set(bounds) == {"ge", "lt"} + intervals.append((bounds["ge"], bounds["lt"])) + for index, (lower, upper) in enumerate(intervals): + assert lower < upper + for other_lower, other_upper in intervals[index + 1 :]: + assert max(lower, other_lower) >= min(upper, other_upper) + masks = [ + predicate_mask( + table, + bindings[row["filter"]]["predicates"], + entity="person", + name=row["filter"], + validated_inputs={"age"}, + ) + for row in strata + ] + hits = np.stack(masks).sum(axis=0) + assert np.all(hits <= 1), program["program"] + assert np.array_equal(hits == 1, table.age.between(18, 64)) + assert program["outside_strata"] == "not_assigned" + + +def test_veterans_pension_stays_unsupported_and_exempt(): + spec = _spec() + contract = spec["resources"]["receipt_contract"]["receipts"] + assert "veterans_pension" in contract["unmodelled_programs"] + assert all(row["program"] != "veterans_pension" for row in contract["programs"]) + selections = compose._reference_selections(spec) + for resource, document in _references(spec): + for row in document["target_references"]: + if "veterans_pension" in row["name"]: + assert row["metadata"]["activation_status"] != "active" + assert row["name"] in { + entry["name"] for entry in selections[resource]["exempt"] + } + classifier = spec["resources"]["reporting_classifiers"] + assert "receives_veterans_pension" not in json.dumps(classifier["receipt_group"]) + assert all( + row.get("receipt_column") != "receives_veterans_pension" + for row in classifier["income_decile"]["components"] + ) + + +def test_scenario_ids_agree_and_s4_appears_in_no_list(): + resources = _spec()["resources"] + scenarios = {row["id"] for row in resources["scenarios"]["scenarios"]} + assert "S4" not in scenarios + assert ( + set( + resources["reporting_classifiers"]["baseline_cell_contract"]["scenario_ids"] + ) + == scenarios + ) + required = [ + row["parameters"]["required_scenarios"] + for row in resources["gates"]["gates"] + if "required_scenarios" in row.get("parameters", {}) + ] + assert required + assert all(set(ids) == scenarios for ids in required) + for name in ("scenarios", "gates", "reporting_classifiers"): + assert '"S4"' not in json.dumps(resources[name]) + + +def test_h1_counts_positive_rounded_payments_and_h2_annualises_dollars(): + resources = _spec()["resources"] + rows = { + row["metadata"]["holdout_use"]: row + for row in resources["holdout_references"]["target_references"] + if row["metadata"].get("activation_status") == "active" + } + h1 = rows["accommodation_supplement_recipient_comparator"] + h2 = rows["accommodation_supplement_dollar_comparator"] + assert h1["ledger_selector"]["geography_level"] == "country" + assert h1["measure"] != h2["measure"] + assert h1["measure"] == "accommodation_supplement_positive_payment_indicator" + assert h1["metadata"]["indicator_input_column"] == ( + "accommodation_supplement_rounded_weekly_payment" + ) + assert h1["metadata"]["indicator_operator"] == "positive" + assert h1["metadata"]["indicator_threshold"] == "0" + assert h2["measure"] == "accommodation_supplement_rounded_weekly_payment" + assert h2["ledger_selector"]["record_set_id"] + assert h2["metadata"]["source_period_start"] == "2024-07-01" + assert str(h1["metadata"]["annualisation_factor"]) == "1" + assert str(h2["metadata"]["annualisation_factor"]) == "52" + measure = resources["scenarios"]["gap_conventions"]["reporting_cells"]["measure"] + assert measure == "accommodation_supplement_rounded_weekly_payment" + + +def test_non_exempt_inactive_rows_still_name_their_activation_gap(): + spec = _spec() + spec["resources"].pop("reference_selection") + with pytest.raises(ValueError) as error: + compose.validate_transport_activation(spec) + message = str(error.value) + for resource in ("target_references", "precal_references", "holdout_references"): + for row in compose.transport_resource(spec, resource)["target_references"]: + if row["metadata"].get("activation_status", "active") != "active": + assert f"placeholder reference {resource}.{row['name']}" in message + + +def test_settings_export_and_receipt_profiles_declare_the_reviewed_scope(): + resources = _spec()["resources"] + settings = resources["calibration_settings"] + assert set(settings["reasons"]) == _PARAMS + assert all(settings[key] is not None for key in _PARAMS) + assert "time_period" not in settings + assert settings["max_weight_ratio"] > 0 + assert settings["weight_anchor"] == "design" + assert "positive median" in settings["cap_disclosure"] + receipts = resources["receipt_contract"]["receipts"] + assert [row["program"] for row in receipts["programs"]] == [ + "nz_super", + "supported_living_payment", + "sole_parent_support", + "jobseeker_support", + ] + suffixes = [ + row["draw_key_suffix"] for row in receipts["assignment_profiles"].values() + ] + assert len(suffixes) == len(set(suffixes)) == 2 + export = resources["export_contract"] + for program in receipts["programs"]: + assert program["output"] in export["optional"] + assert "assigns" in export["_assigned_receipt_inputs"][program["output"]] + assert export["closed"] is True + release = {row["gate"]: row for row in resources["gates"]["gates"]} + for name in ("support", "release_input_coverage"): + assert release[name]["criticality"] == "release_blocking" + + +@pytest.mark.skipif( + not os.environ.get("NZ_CHRONICLE_ARTIFACT"), reason="Pinned feed not staged" +) +@pytest.mark.parametrize( + "generator", + [ + "generate_nz_target_references.py", + "generate_nz_msd_pre_activation_reconciliation.py", + ], +) +def test_declaration_generators_round_trip_through_check(generator): + root = paths_for("microcosm-build").repository + result = subprocess.run( + [sys.executable, str(root / "tools" / generator), "--check"], + cwd=root, + capture_output=True, + text=True, + check=False, + ) + assert result.returncode == 0, result.stdout + result.stderr diff --git a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py index 5ab633405f..2eeff5bdf8 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py @@ -244,6 +244,7 @@ def test_nz_generation_zero_views_come_from_the_country_spec_seam() -> None: "benefit_gross_up.json", "benefit_unit_rule.json", "calibration_bindings.json", + "calibration_settings.json", "chronicle_feed.json", "currency_bridge.json", "export_contract.json", @@ -251,14 +252,18 @@ def test_nz_generation_zero_views_come_from_the_country_spec_seam() -> None: "gates.json", "geography_spine.json", "holdout_references.json", + "mass_references.json", "money_normalization.json", "msd_benefit_rates_20260401.json", + "msd_pre_activation_reconciliation.json", "precal_references.json", "precalibration_stages.json", "reference_aging.json", "reference_intervals.json", "reference_inventory.json", "reference_profiles.json", + "reference_selection.json", + "receipt_contract.json", "release_contract.json", "reporting_classifiers.json", "scenarios.json", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py index 67390c218b..843bf54a89 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py @@ -2444,13 +2444,8 @@ def test_cli_arguments(): # --------------------------------------------------------------------------- _GAPS = ( - "placeholder reference precal_references.", - "placeholder reference target_references.", - "placeholder reference holdout_references.", - "receipt_contract.json", "axiom_rules_bindings.engine.commit", "axiom_rules_bindings.engine.wheel_sha256", - "scenario S4 rent_stock_factor", "transport_graph.json", ) @@ -2461,14 +2456,35 @@ def test_packaged_spec_refuses_with_every_activation_gap_named(): validate_transport_activation(spec) for gap in _GAPS: assert gap in str(error.value), gap + assert ( + len( + str(error.value) + .removeprefix("Transport spec is not activated: ") + .split("; ") + ) + == 3 + ) + for removed in ( + "placeholder reference precal_references.", + "placeholder reference target_references.", + "placeholder reference holdout_references.", + "receipt_contract.json", + "scenario S4 rent_stock_factor", + ): + assert removed not in str(error.value), removed # The dependent-child rule is settled from the Social Security Act 2018 # Schedule 2, so it is no longer an activation gap. assert "benefit_unit_rule.dependent_child" not in str(error.value) + selections = compose_module._reference_selections(spec) for resource in ("precal_references", "target_references", "holdout_references"): + exempt = {row["name"] for row in selections[resource]["exempt"]} for reference in compose_module.transport_resource(spec, resource)[ "target_references" ]: - if reference["metadata"].get("activation_status", "active") != "active": + if ( + reference["metadata"].get("activation_status", "active") != "active" + and reference["name"] not in exempt + ): assert f"placeholder reference {resource}.{reference['name']}" in str( error.value ) diff --git a/packages/microcosm-build/tests/golden/nz_country_spec.json b/packages/microcosm-build/tests/golden/nz_country_spec.json index f2f92e8318..912fb2f567 100644 --- a/packages/microcosm-build/tests/golden/nz_country_spec.json +++ b/packages/microcosm-build/tests/golden/nz_country_spec.json @@ -1,6 +1,6 @@ { "country": "nz", - "fingerprint": "22aa9dec1bafc4a65fdca547080fccd64b6e61f7ccf9a33404587fdcfe87c3f2", + "fingerprint": "124f20399da74d91bbcdc69dff1492146c430e1496b03110def07ffc3a486081", "gate_ids": [ "calibration_per_family_fit", "demography_per_family_fit", @@ -41,30 +41,35 @@ "as_area_crosswalk.json": "56eeb638d77c73fd92ca541d9d2f249fd3062bece0503470e0e85dde70c4c05b", "as_rate_bridge.json": "c6e21af7b090283431973a5610cc3adf5d783a4a01fb0051d5dc6c8347eeabb0", "atomic_geography_support.json": "6efd09d5cde2f16d4d01e522a721191a829a754d2ce019d75bb0407085ecb4b7", - "axiom_input_closure.json": "7ea40b84d6e64e8a56d02daae7c4d2c051cb6cf28de22a3f7ed29b376170a6d3", + "axiom_input_closure.json": "b1bfdbff21c80b4c9aaad8dfe03c7912a9cbfebe9f2415a741e2ffc85ec017d6", "axiom_rules_bindings.json": "fb163e4842c8a910d63bd0ecf0fc81e5a55a2dddaa9cde66a52d9f4ff2c791f3", "benefit_gross_up.json": "9194f3cf46b1e361d744d47efe6e77af03a7459cb7af8f8587d5a3e799e2c147", "benefit_unit_rule.json": "a9e8cbfd38a64d2f8db0002fe8c31bb5a18fb34dbe59fa943336487ce95e2ca8", - "calibration_bindings.json": "488b99260792fbb6f92f1c67315fbf96c759cdf47fac48da40a861791d971b5f", + "calibration_bindings.json": "abf5278b51a13530e2c589a932942a185f5dda095c1eb3e4bc703999c24852b3", + "calibration_settings.json": "56e4d1da8468245da6bd41daf263425cc65e4e9c9f11ff45eee459d3aed1989e", "chronicle_feed.json": "60a80dd0042838b0412baf9dd0985c961b4253a6876d16bcdbb8a2c6c03de0c7", - "country_package.json": "e572d801ed39d92b2828bbd5e28655083d03f749a6511faed1bc8379acfd6891", - "currency_bridge.json": "c72732cf36fa60938a6950e4543b6adfbc98b823572c2a6acc517cbe34d20bad", - "export_contract.json": "50a177de44f75c12301bd269dd9356dc4c9fa335225298b4f888228739a60024", + "country_package.json": "28094ea675dafa42bb2a7b20c3dbc18733e8e9af36cd09b63303487a9113f715", + "currency_bridge.json": "a23fcf09d364d22f346d3faf2ed59ddb6d2b2da88c9757e46f1d624b175ad21b", + "export_contract.json": "82be16482d0026542f8eebbb57c770f4b7ec1421aca297fb61080835eab04f86", "family_reconciliation.json": "20e3f9f3ce6266d57828d721c99d15bd3642e6c6314a7076ec38972de02bc69e", - "gates.json": "73e8bcf57dc999b4fee15de4e67509d26d3ea05d8ce5cc040e8f87f02bb02b8e", + "gates.json": "628a2f96e00c2c221b0f2c614481f6879ca3db16f2addddf7940628486ed47f0", "geography_spine.json": "5f2b1bdd9f8768249912ffd0fbcb2f7d4ed493b51c74306f793ec12441fd383f", - "holdout_references.json": "52b5a2360502156da1392a68350e4e7f61b5fd420fa74428819b65886a9f8655", + "holdout_references.json": "2b8ccb4a5bdc427ccf5247994dfbfe703877f5c05baa66dfeda6883f83677daf", + "mass_references.json": "1c1e7e6e1af8917917fc84072ed39b4298ad0444f04906fa6a594ebc2e48a926", "money_normalization.json": "5e817f0b859eacc44a4f96a57923b8af8498b0bbe169565650312b9547c8157c", "msd_benefit_rates_20260401.json": "1d03bcbe2ff34a27e6efe42e69871a71271c4e16fe9e3327f79acb8dba7d6b26", - "precal_references.json": "420361e424405df2312bd21808d6b6f4c3428b6fe90c44c37ab156ce197aa25d", + "msd_pre_activation_reconciliation.json": "375f69ae216b4a8ea553ad85b7fabc97b6b96dc2d6ac064df2cde076b9451be4", + "precal_references.json": "a66dac9acd9becd3cc901dbd2d386813923400d403bd32b72db240ff351b3e30", "precalibration_stages.json": "f2a13c707a57626ef98f3f9218c1405012840ef484e92a2665763cf67da7a009", + "receipt_contract.json": "2fb8b7d293bb39290765ee465781cb38e12d865e02e13df17592074156b7714a", "reference_aging.json": "e7619ec7a02ae5f460a46d160e89c9c9836c8b1d03140aed2348761e590504f0", "reference_intervals.json": "fcc88c0efd5f416aa15a7d5afbeee1d103dd78a136e13b1efc3973d203188412", - "reference_inventory.json": "f911ba4f3dcc60935dcb4e09a34957d7d3cb3bc2d588baaae32904896ddfd00d", - "reference_profiles.json": "d8001318cf0415c00d16cae82c617412a928d2cb9c1800ce48e063c0aba04760", + "reference_inventory.json": "10c10a8cb9de78d09da960eb89705944b277d72b1c7b3cf7078c989a969f3149", + "reference_profiles.json": "703f3eec0fe7071d601487c314e76e697dd242c1ce174a02b90fb2b56fcc6fec", + "reference_selection.json": "687ab45531b5d45a07508b9ea035a70ae1ded6dd572c8ae6b031d950450714c5", "release_contract.json": "6cd5e3a4a2bf30e4025e04e964c393b24040937d13db7e6a07b3966a55f3b114", - "reporting_classifiers.json": "2700a8dab0bcc186a0ce354a09c7cab127e8b07589b15fb7d63c7f1581041ad8", - "scenarios.json": "3f1b5e40d283d7a1baf1a6990f2ca08a0ca39151a8cff028a49455f95e82e9c7", + "reporting_classifiers.json": "31e03f8be77e5056b8761daca7ee0ac308f0b0e67edb11cb86a7f1299012f9d6", + "scenarios.json": "e2f80a66f3974594248553f714cdd6bcdc0f55cba3e1465f80d9f952a6896b6d", "source_stages.json": "cc82c68878ac0fc07ecbd796c1a66de6f34786ef8785125046425c37f26aff31", "spec/bundle.yaml": "e9716ce827e9006d4efdc392e7aaf9cbc33c16112a8fbc423e8f3e74ec506d8e", "spec/catalogs.yaml": "3ab2025af39cba93ead707b9463e428430a45b30696a43d0906cbcd97ed36631", @@ -72,7 +77,7 @@ "spec/sources.yaml": "afdaa4bef98cf520a1c72b6013d1e453162c761cd4b3c1548620184f6ba41297", "spec/spine.yaml": "b3e6a2832ff7671777cae113b7fc45f5e3492bb519526f229118d0851083533e", "spec/vintages.yaml": "1ecc1a3f952bd25b834c394314e8c933ddb5b095fd64ba492dddb03e3cdd803e", - "target_references.json": "c40accc2198388cd59fb47921e4781635fe9e4f1abb70799eb16a2fc0cb52fbb" + "target_references.json": "feb8630eac964e616dfb9a3de264a551a3834fb891e5b54417868965118ef5b3" }, "resources": [ "spec/bundle.yaml", @@ -88,6 +93,7 @@ "axiom_rules_bindings.json", "benefit_unit_rule.json", "calibration_bindings.json", + "calibration_settings.json", "chronicle_feed.json", "currency_bridge.json", "export_contract.json", @@ -96,12 +102,16 @@ "geography_spine.json", "holdout_references.json", "money_normalization.json", + "mass_references.json", "msd_benefit_rates_20260401.json", + "msd_pre_activation_reconciliation.json", "precal_references.json", "reference_aging.json", "reference_intervals.json", "reference_inventory.json", "reference_profiles.json", + "reference_selection.json", + "receipt_contract.json", "release_contract.json", "reporting_classifiers.json", "scenarios.json", diff --git a/tools/generate_nz_msd_pre_activation_reconciliation.py b/tools/generate_nz_msd_pre_activation_reconciliation.py new file mode 100644 index 0000000000..3c362ccc5d --- /dev/null +++ b/tools/generate_nz_msd_pre_activation_reconciliation.py @@ -0,0 +1,321 @@ +"""Reconcile available MSD headline-rate evidence before NZ activation. + +Only the pinned Chronicle artifact and the packaged published MSD rates enter +this calculation. No donor, engine, assigned receipt or active graph enters it. +The feed lacks payment-category joint counts and individual abatement/exposure +data, so the report preserves that gap instead of manufacturing paid totals. +""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import os +from fractions import Fraction +from pathlib import Path + +from microcosm.build.ledger_artifact import ( + load_ledger_consumer_artifact, + validate_chronicle_feed_pin, +) + +SPEC = ( + Path(__file__).resolve().parents[1] + / "packages/microcosm-build/src/microcosm/build/nz" +) +OUTPUT = "msd_pre_activation_reconciliation.json" +RATE_RESOURCE = "msd_benefit_rates_20260401.json" +AGE_RECORD_SET = "msd_benefit_statistics.month2026_06.working_age_by_benefit_and_age" +SUPER_RECORD_SET = "msd_nzs_vp.june2026.recipient_total" +EXPENSE_RECORD_SET = "msd.benefit_expenses.fy2024" +AGES = ("18-24 years", "25-39 years", "40-54 years", "55-64 years") +PROGRAMMES = ( + "jobseeker_support", + "sole_parent_support", + "supported_living_payment", + "nz_super", +) +EXPENSE_KEYS = { + "jobseeker_support_and_emergency_benefit": "ledger.aggregate_fact.v2:ee2fbceca03ea6cf897aeb87", + "new_zealand_superannuation": "ledger.aggregate_fact.v2:0bbf770a6b0baa84853d9c18", + "orphans_unsupported_childs_benefit": "ledger.aggregate_fact.v2:c6846c99892eccdf29a4a695", + "sole_parent_support": "ledger.aggregate_fact.v2:48d697bf0900434af3924605", + "student_allowances": "ledger.aggregate_fact.v2:7ee2e4e9979352ac3989a5b7", + "supported_living_payment": "ledger.aggregate_fact.v2:da9daf8ba1407b2e8a76dce6", +} +EXPENSE_COMPONENT = { + "jobseeker_support": "jobseeker_support_and_emergency_benefit", + "sole_parent_support": "sole_parent_support", + "supported_living_payment": "supported_living_payment", + "nz_super": "new_zealand_superannuation", +} +EXPOSURES = ("1/2", "3/4", "1") + + +def _decimal(value): + """Render a terminating Fraction exactly, without a floating-point step.""" + value = Fraction(value) + scale = 0 + while (value * 10**scale).denominator != 1: + scale += 1 + if scale > 12: + raise ValueError("Diagnostic amount does not have a short exact decimal") + scaled = int(value * 10**scale) + sign = "-" if scaled < 0 else "" + digits = str(abs(scaled)).zfill(scale + 1) + if not scale: + return sign + digits + ".00" + return sign + digits[:-scale] + "." + digits[-scale:].ljust(2, "0") + + +def _one(rows, **fields): + matches = [row for row in rows if all(row.get(k) == v for k, v in fields.items())] + if len(matches) != 1: + raise ValueError( + f"Expected one disclosed source row for {fields}: {len(matches)}" + ) + return matches[0] + + +def _source_rows(artifact): + selected = [] + for fact in artifact.facts: + record_set = fact["layout"]["record_set_id"] + dimensions = fact["dimensions"] + if not ( + fact["aggregate_fact_key"] in EXPENSE_KEYS.values() + or ( + record_set == AGE_RECORD_SET + and dimensions.get("msd_main_benefit_type") in PROGRAMMES + ) + or ( + record_set == SUPER_RECORD_SET + and dimensions.get("msd_nzs_vp.benefit_type") == "nzs" + ) + ): + continue + selected.append( + { + "aggregate_fact_key": fact["aggregate_fact_key"], + "record_set_id": record_set, + "source_row_id": fact["layout"]["source_row_id"], + "dimensions": dimensions, + "period": fact["period"], + "period_coverage": { + key: fact["period_coverage"][key] + for key in ( + "basis", + "start_date", + "end_date", + "source_period_label", + ) + }, + "unit": fact["observed_measure"]["unit"], + "value": fact["value"], + } + ) + return selected + + +def _dimension_audit(artifact): + """Search every MSD row, including subgroup and NZS marginal tables.""" + record_sets = {} + for fact in artifact.facts: + if fact["observed_measure"]["source_name"] == "msd": + record_sets.setdefault(fact["layout"]["record_set_id"], set()).update( + fact["dimensions"] + ) + return {key: sorted(value) for key, value in sorted(record_sets.items())} + + +def _rate_options(rates, programme, age): + """Retain alternative categories; never posit their unknown joint shares.""" + if programme == "nz_super": + return [ + { + "section": row["section"], + "category": row["category"], + "gross_weekly_nzd": _decimal(Fraction(row["before_tax"]) / 2), + } + for row in rates["fortnightly_nz_super"] + if "combined" not in row["category"] and "(total)" not in row["category"] + ] + result = [] + for row in rates["weekly_main_benefits"]: + if row["programme"] != programme or not row["individual_validation_point"]: + continue + category = row["category"] + if "16-17" in category: + continue + if programme == "jobseeker_support": + young = "18 to 19" in category or "20 to 24" in category + older = "25 years or over" in category + if (age == AGES[0] and older) or (age != AGES[0] and young): + continue + result.append( + { + "section": row["section"], + "category": category, + "gross_weekly_nzd": row["before_tax"], + } + ) + if not result: + raise ValueError(f"No individual rate options for {programme} / {age}") + return result + + +def reconcile(source_rows, rates, feed_pin, rates_sha256, dimension_audit): + """Replay the report from its disclosed aggregate inputs and published rates.""" + if len(source_rows) != 19: + raise ValueError( + "Expected 12 working-age cells, one NZS total and six expenses" + ) + expenses = [] + for component, key in EXPENSE_KEYS.items(): + source = _one(source_rows, aggregate_fact_key=key) + if ( + source["record_set_id"] != EXPENSE_RECORD_SET + or source["source_row_id"] != component + or source["unit"] != "nzd" + ): + raise ValueError(f"Expense source identity changed for {component}") + expenses.append( + { + "component": component, + "aggregate_fact_key": key, + "published_actual_expense_nzd": _decimal(source["value"]), + "comparison_status": ( + "headline_envelope_only" + if component in EXPENSE_COMPONENT.values() + else "unmodelled_programme_no_comparison" + ), + } + ) + comparisons = [] + for programme in PROGRAMMES: + strata = [] + for age in ("all",) if programme == "nz_super" else AGES: + if programme == "nz_super": + source = _one(source_rows, record_set_id=SUPER_RECORD_SET) + else: + dimensions = { + "msd_main_benefit_age_group_source_label": age, + "msd_main_benefit_age_status": "working_age", + "msd_main_benefit_type": programme, + } + source = _one( + source_rows, record_set_id=AGE_RECORD_SET, dimensions=dimensions + ) + if source["unit"] != "count" or source["period"]["value"] != "2026-06": + raise ValueError(f"Recipient source identity changed for {programme}") + count = source["value"] + if type(count) is not int or count < 0: + raise ValueError("Recipient counts must be nonnegative integers") + options = _rate_options(rates, programme, age) + weekly = [Fraction(row["gross_weekly_nzd"]) for row in options] + strata.append( + { + "age_stratum": age, + "recipient_selector": { + "aggregate_fact_key": source["aggregate_fact_key"] + }, + "recipient_count": count, + "available_individual_rate_categories": options, + "annual_headline_lower_nzd": _decimal(count * 52 * min(weekly)), + "annual_headline_upper_nzd": _decimal(count * 52 * max(weekly)), + } + ) + lower = sum(Fraction(row["annual_headline_lower_nzd"]) for row in strata) + upper = sum(Fraction(row["annual_headline_upper_nzd"]) for row in strata) + expense = _one(expenses, component=EXPENSE_COMPONENT[programme])[ + "published_actual_expense_nzd" + ] + published = Fraction(expense) + comparisons.append( + { + "programme": programme, + "recipient_count": sum(row["recipient_count"] for row in strata), + "strata": strata, + "headline_rate_total_nzd": _decimal(lower) if lower == upper else None, + "category_weighted_after_abatement_total_nzd": None, + "published_expense_component": EXPENSE_COMPONENT[programme], + "published_actual_expense_nzd": expense, + "exposure_sensitivity": [ + { + "full_year_exposure": exposure, + "headline_lower_nzd": _decimal(lower * Fraction(exposure)), + "headline_upper_nzd": _decimal(upper * Fraction(exposure)), + "lower_minus_published_nzd": _decimal( + lower * Fraction(exposure) - published + ), + "upper_minus_published_nzd": _decimal( + upper * Fraction(exposure) - published + ), + } + for exposure in EXPOSURES + ], + } + ) + return { + "schema_version": 1, + "stage": "pre_activation", + "status": "after_abatement_reconciliation_unavailable", + "purpose": "Microcosm reviews the available aggregate evidence before activating the receipt references. This report grants no release approval and runs no active graph.", + "feed_identity": feed_pin, + "rates_resource": RATE_RESOURCE, + "rates_sha256": rates_sha256, + "source_rows": source_rows, + "exhaustive_msd_dimension_audit": dimension_audit, + "method": { + "headline": "Microcosm multiplies each published June 2026 age-cell recipient count by 52 and each compatible published April 2026 individual gross weekly rate. Microcosm sums the lower and upper category endpoints across age cells; it assigns no category shares. NZS uses its unstratified stock and all published individual fortnightly rates divided by two, including hospital and legacy categories.", + "category_weighting": "The pinned feed supplies programme-by-age counts and separate subgroup, gender and ethnicity marginals. None supplies the joint payment categories for single, couple, children, home or sharing status. Microcosm reports an age-weighted headline envelope; it cannot compute the required category-weighted paid total from these inputs.", + "after_abatement": "Published headline rates precede income abatement. The pinned feed and rates omit recipient earnings, partner earnings and person-level paid amounts. Microcosm cannot compute an after-abatement total without person-level data; it leaves that total null and makes no abatement assumption.", + "exposure": "Microcosm shows mechanical exposure fractions 1/2, 3/4 and 1 to disclose sensitivity. These fractions describe scenarios, not observed durations or a fitted central estimate. Each fraction scales both headline endpoints exactly.", + "period_and_universe": "June 2026 stocks and April 2026 rates describe a different period from actual expenditure in the year ended 30 June 2025. Microcosm applies no uprating or period alignment. JS expenditure also includes Emergency Benefit; the modelled JS count excludes it. Working-age main-benefit counts omit persons outside 18-64. Independently rounded source cells may disagree with published totals.", + "arithmetic": "Microcosm uses exact rational arithmetic and decimal text. It applies no intermediate cent rounding and never applies a two-recipient couple total to one recipient.", + }, + "comparisons": comparisons, + "published_expenses": expenses, + "closure_requirements": [ + "The hub needs person-level or published joint payment-category counts to replace the headline envelopes with category-weighted totals.", + "The hub needs the pinned engine, person and partner income inputs, paid gross amounts after abatement, and measured annual exposure to compute paid programme totals; G8-r2c owns the declared annual-transfer exposure sensitivity.", + "The hub needs a reviewed common expenditure period, rate vintage and recipient universe, including Emergency Benefit and non-working-age differences, before it can interpret the remaining published-total gap.", + ], + } + + +def generate(artifact, *, package_dir=SPEC): + package_dir = Path(package_dir) + feed_pin = json.loads((package_dir / "chronicle_feed.json").read_text()) + validate_chronicle_feed_pin(artifact, feed_pin) + rates_bytes = (package_dir / RATE_RESOURCE).read_bytes() + return reconcile( + _source_rows(artifact), + json.loads(rates_bytes), + feed_pin, + hashlib.sha256(rates_bytes).hexdigest(), + _dimension_audit(artifact), + ) + + +def main(argv=None): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--artifact", default=os.environ.get("NZ_CHRONICLE_ARTIFACT")) + parser.add_argument("--out", type=Path, default=SPEC / OUTPUT) + parser.add_argument("--check", action="store_true") + args = parser.parse_args(argv) + if not args.artifact: + parser.error("--artifact or NZ_CHRONICLE_ARTIFACT is required") + artifact = load_ledger_consumer_artifact(args.artifact) + rendered = json.dumps(generate(artifact), indent=2, ensure_ascii=False) + "\n" + if args.check: + if args.out.read_text() != rendered: + raise SystemExit(f"Stale MSD pre-activation reconciliation: {args.out}") + print("MSD pre-activation reconciliation: current") + else: + args.out.write_text(rendered) + + +if __name__ == "__main__": + main() diff --git a/tools/generate_nz_target_references.py b/tools/generate_nz_target_references.py index aefc16370e..6b8eba7cf5 100644 --- a/tools/generate_nz_target_references.py +++ b/tools/generate_nz_target_references.py @@ -1,4 +1,4 @@ -"""Generate the reviewed NZ selector inventory through G8-r3a from a pinned artifact. +"""Generate the reviewed NZ selector inventory through G8-w3a from a pinned artifact. Run with ``NZ_CHRONICLE_ARTIFACT`` or ``--artifact``. Observations stay in Chronicle: references contain selectors only; the separate inventory resource @@ -25,6 +25,8 @@ Path(__file__).resolve().parents[1] / "packages/microcosm-build/src/microcosm/build/nz" ) +HOLDOUT_TEMPLATES = Path(__file__).with_name("nz_holdout_reference_templates.json") +PRECAL_TEMPLATES = Path(__file__).with_name("nz_precal_reference_templates.json") REGIONS = ( "01", "02", @@ -65,7 +67,9 @@ "rent_free", ], } -RESIDUAL_REASON = "Requires the shared reference-profile resolver to apply d1886 Census not-stated residual allocation before the single ERP bridge; raw size and tenure rows cannot compile." +RESIDUAL_REASON = "The shared reference-profile resolver must apply d1886 Census not-stated residual allocation before the single ERP bridge; G8-w3b selects the resolved tenure rows." +SIZE_REASON = "G8-w4 must provide Census household-structure support and release-input coverage evidence, or obtain a reviewed diagnostic posture; d1886 residual resolution alone does not release these size rows." +REGION_99_REASON = "G8-w4 must provide support and release-input coverage evidence for the separate region-99 national-growth proxy; G8-m2 supplies joint geography but no regional ERP series." RESIDUAL_DISCLOSURE = ( "d1886 modelling convention, 23 October 2026. Microcosm allocates Census " "counts with unstated household size across stated size categories in " @@ -81,8 +85,8 @@ "one application of B2 ERP growth. Region 99 remains separate and uses the " "disclosed national-growth proxy." ) -FAMILY_REASON = "G8-r3b Census-family multiplicity classifier is not implemented; the signed d1932 reconciliation is computed and receipted, but these rows remain parked and exempt. MC7 benefit units and family labels cannot substitute for Census multiplicities." -IRD_REASON = "B4: reviewed IRD-definition taxable-income measurement, annual component closure and record universe remain required. Ageing resolution does not establish that measurement." +FAMILY_REASON = "G8-r3b must implement Census-family multiplicity classification before activation. The hub records the signed d1932 reconciliation; MC7 benefit units and family labels cannot substitute for Census multiplicities." +IRD_REASON = "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, annual component closure and the record universe. Ageing resolution does not establish that measurement." IRD_MEASUREMENT_BINDING = "ird_taxable_income_ty2027_v1" # Reviewed national detail-row map: nil row 8 through open tail row 244. # Published national total row 246 is diagnostic and is deliberately absent. @@ -115,9 +119,7 @@ "weighted mass within $1 of every cut and the fixed-weight change under the " "left-closed alternative; publisher reclassification is unavailable." ) -RECEIPT_REASON = "G8-w: age-stratified receipt assignment is not supported by the current total-only receipt kernel; preserve the source snapshot and age filters." -NZS_REASON = "NZ Super receipt binding and prepared receipt flag are not implemented." -VP_REASON = "Veterans Pension is unsupported: no veteran facts or producer; a missing flag must refuse, never default to false." +VP_REASON = "G8-w3b must refuse Veterans Pension as unsupported under H4. Activation needs veteran facts and a reviewed receipt producer; G8-y owns the closing step." def _selector(fact, *, pin_key=True): @@ -437,16 +439,6 @@ def calibration_bindings(): } for code in range(1, 4) ], - { - "name": "receives_", - "activation_status": "requires_stratified_receipt_assignment", - "reason": RECEIPT_REASON, - }, - { - "name": "receives_nz_super", - "activation_status": "requires_receipt_binding", - "reason": NZS_REASON, - }, { "name": "receives_veterans_pension", "activation_status": "requires_unsupported_veterans_pension", @@ -509,8 +501,8 @@ def build_reference_documents(artifact, *, package_dir=SPEC): 8, "stats_nz_census_households_by_size_region", "household_structure", - "requires_reference_profile_resolution", - RESIDUAL_REASON, + "requires_household_structure_release_evidence", + SIZE_REASON, ), ( "family_type", @@ -603,8 +595,10 @@ def build_reference_documents(artifact, *, package_dir=SPEC): entity="household", measure="households", family="housing_tenure", - status="requires_reference_profile_resolution", - reason=RESIDUAL_REASON, + status="requires_region_99_release_evidence" + if region == "99" + else "requires_reference_profile_resolution", + reason=REGION_99_REASON if region == "99" else RESIDUAL_REASON, filter_column=f"household_region_{region}_{tenure}_indicator", label=label, ) @@ -685,26 +679,30 @@ def build_reference_documents(artifact, *, package_dir=SPEC): reference_set="precal", period=2027, method_card="MC4", - status="requires_g8r2_source_period_wage_bridge_and_intervals", - reason="G8-r2: source TY2026 requires its own TY2026-to-TY2027 wage bridge and reviewed numerical interval map; TY2024 factors are inapplicable.", + status="requires_g8r2c_wage_quantile_producer", + reason="G8-r2c must connect the reviewed TY2026-to-TY2027 wage bridge, intervals and coverage to an active P1 earnings quantile producer; declarations alone do not produce calibrated earnings.", label=f"TY2026-27 wage/salary band {fact['dimensions']['wage_salary_band_source_label']} (parked)", ) ) - old_precal = json.loads((package_dir / "precal_references.json").read_text()) + precal_templates = json.loads(PRECAL_TEMPLATES.read_text()) for contract, status, reason in ( ( "mbie_bond_rents_by_territorial_authority", "requires_rent_band_frequencies", - "MBIE medians, quartiles and bond counts do not supply rent-band frequencies by territorial authority, bedrooms and dwelling type.", + "G8-d1 supplies a Census rent-band replacement and must resolve C1 rent ageing; that replacement does not activate this MBIE P2 row. MBIE activation needs rent-band frequencies that medians, quartiles and bond counts cannot supply; G8-y owns the closing step.", ), ( "stats_nz_household_financial_net_worth_distribution", "requires_all_household_liquid_asset_histogram", - "Nonzero-holder summaries do not supply an all-household liquid-financial-asset histogram.", + "P3 activation needs an all-household liquid-financial-asset histogram; nonzero-holder summaries cannot supply it. G8-x may run d1982's separate diagnostic donor-stock exception without claiming NZ calibration; that exception does not activate P3. G8-y owns the closing step.", ), ): row = copy.deepcopy( - next(r for r in old_precal["target_references"] if r["name"] == contract) + next( + r + for r in precal_templates["target_references"] + if r["name"] == contract + ) ) row["metadata"].update( { @@ -758,8 +756,6 @@ def build_reference_documents(artifact, *, package_dir=SPEC): measure=f"receives_{program}", family="main_benefits", reference_set=reference_set, - status="requires_stratified_receipt_assignment", - reason=RECEIPT_REASON, filter_column=f"age_{code}_indicator", method_card="MC5" if reference_set == "calibration" else "MC6", ) @@ -768,7 +764,7 @@ def build_reference_documents(artifact, *, package_dir=SPEC): ) destination.append(row) for source_program, program, status, reason in ( - ("nzs", "nz_super", "requires_receipt_binding", NZS_REASON), + ("nzs", "nz_super", "active", None), ( "vp", "veterans_pension", @@ -820,6 +816,26 @@ def build_reference_documents(artifact, *, package_dir=SPEC): "target_references": rows, "target_profile": {"schema_version": 1, "hierarchy_reconciliations": []}, } + documents["mass_references.json"] = { + "country": "nz", + "reference_set": "mass", + "description": "CREATE scales design weights to Stats NZ's national June 2025 estimated resident population under H8; this unfiltered person count supplies mass, not a calibration row.", + "target_references": [ + _reference( + erp["NZ"][2025], + name="stats_nz_national_erp_june_2025", + contract="national_erp", + entity="person", + measure="people", + family="demography", + reference_set="mass", + method_card="MC5", + label="New Zealand estimated resident population, June 2025", + ) + ], + } + documents["holdout_references.json"] = _holdout_references(inventory) + documents["reference_selection.json"] = _reference_selection(documents) documents["calibration_bindings.json"] = calibration_bindings() documents["reference_profiles.json"] = _reference_profiles( inventory, targets, family_declaration @@ -831,6 +847,122 @@ def build_reference_documents(artifact, *, package_dir=SPEC): return documents +def _holdout_references(inventory): + """Pin the two supported comparators; preserve the other reviewed rows.""" + document = json.loads(HOLDOUT_TEMPLATES.read_text()) + document["description"] = ( + "tools/generate_nz_target_references.py generates NZ v0 held-out references. " + "H1 counts national positive-payment recipients and H2 compares annual " + "model dollars with historical Accommodation Assistance expenditure. " + "Neither enters calibration. Treasury and WFF remain exempt until their " + "named prerequisites close; historical observations retain their source periods." + ) + rows = document["target_references"] + recipients = next( + row + for row in rows + if row["name"] + in { + "msd_accommodation_supplement_recipients_by_region", + "msd_accommodation_supplement_recipients_national", + } + ) + recipients.update( + { + "name": "msd_accommodation_supplement_recipients_national", + "ledger_selector": _selector( + inventory.one( + "msd_benefit_statistics.month2026_06.national_supplementary_assistance", + measure="recipients", + geography="NZ", + dimensions={ + "msd_supplementary_assistance_type": "accommodation_supplement" + }, + ) + ), + "measure": "accommodation_supplement_positive_payment_indicator", + "period": "2026-06", + "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_rounded_weekly_payment exceeds zero. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration.", + } + ) + recipients["metadata"].update( + { + "activation_status": "active", + "annualisation_factor": "1", + "indicator_input_column": "accommodation_supplement_rounded_weekly_payment", + "indicator_operator": "positive", + "indicator_threshold": "0", + "measurement_basis": "National positive-payment recipient count; June 2026 snapshot stock, not annual recipients or dollars.", + } + ) + expenditure = next( + row + for row in rows + if row["name"] == "msd_annual_report_accommodation_assistance_expenditure" + ) + expenditure.update( + { + "ledger_selector": _selector( + inventory.one( + "msd.benefit_expenses.fy2024", + measure="actual_expenses_nzd", + geography="NZ", + dimensions={ + "benefit_expense_component": "Accommodation Assistance" + }, + ) + ), + "measure": "accommodation_supplement_rounded_weekly_payment", + "notes": "H2 annualises accommodation_supplement_rounded_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set.", + } + ) + expenditure["metadata"].update( + { + "activation_status": "active", + "annualisation_factor": "52", + "measurement_basis": "Historical fiscal-year 2024/25 Accommodation Assistance expenditure versus annualised model dollars; no period alignment or AS-only scope claim.", + } + ) + return document + + +def _reference_selection(documents): + """Exempt only rows that remain parked after the declared profile resolver.""" + resources = {} + for filename in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + "mass_references.json", + ): + exemptions = [] + for row in documents[filename]["target_references"]: + metadata = row["metadata"] + status = metadata["activation_status"] + # Non-99 tenure has complete d1886 transformations. Its effective + # profile rows activate; raw unresolved rows cannot compile directly. + if status in {"active", "requires_reference_profile_resolution"}: + continue + if row["family"] == "working_for_families": + reason = "WFF activation needs module bindings, receipt and claim state, and a tax-year-to-model-period bridge. G8-w3b keeps these tripwires exempt; G8-y owns the closing step." + if "harvested_cell_references" in status: + reason = ( + "The income-band comparator needs harvested and pinned cell references. " + + reason + ) + elif ( + row["name"] == "treasury_an24_01_accommodation_supplement_fiscal_total" + ): + reason = "G8-w3b keeps H3 outside its comparison requests. Activation needs a pinned fact and reviewed scope for the existing Treasury row; G8-y owns the closing step." + else: + reason = metadata["parking_reason"] + exemptions.append( + {"name": row["name"], "activation_status": status, "reason": reason} + ) + resources[filename.removesuffix(".json")] = {"exempt": exemptions} + return {"schema_version": 1, "resources": resources} + + def _national_upper_dollars(row): if row == 9: return 100 @@ -1059,10 +1191,11 @@ def _reference_profiles(inventory, rows, family_declaration): for profile in ("mar", "small_households"): transformations = [] for row in rows: - if ( - row["metadata"]["activation_status"] - != "requires_reference_profile_resolution" - ): + if row["metadata"]["activation_status"] not in { + "requires_reference_profile_resolution", + "requires_household_structure_release_evidence", + "requires_region_99_release_evidence", + }: continue size = "households_by_size" in row["name"] recipients = ( @@ -1484,12 +1617,20 @@ def _receipts(inventory, erp, documents, feed_pin, ta_facts, family_declaration) } ) counts = {} - for filename in ("target_references.json", "precal_references.json"): + for filename in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + "mass_references.json", + ): rows = documents[filename]["target_references"] counts[filename] = { "total": len(rows), "by_contract": dict( - Counter(row["metadata"]["contract_target_id"] for row in rows) + Counter( + row["metadata"].get("contract_target_id", row["name"]) + for row in rows + ) ), "by_activation_status": dict( Counter(row["metadata"]["activation_status"] for row in rows) @@ -1502,7 +1643,7 @@ def _receipts(inventory, erp, documents, feed_pin, ta_facts, family_declaration) ), ( "national_erp", - "Bridge operand or diagnostic only; national and regional ERP totals are independently published.", + "CREATE uses the national June 2025 ERP as mass; bridge operands and diagnostics retain independent national and regional source totals. Never fit this total alongside regional age leaves.", ), ( "sex_specific_regional_erp", @@ -1522,7 +1663,7 @@ def _receipts(inventory, erp, documents, feed_pin, ta_facts, family_declaration) ), ( "other_main_benefits", - "Unsupported aggregate of other programs; outside the three declared receipt programs.", + "Unsupported aggregate of other programs; outside the three declared working-age receipt programs and NZ Super.", ), ("all_main_benefits", "Aggregate overlaps selected program-age leaves."), ( diff --git a/tools/nz_holdout_reference_templates.json b/tools/nz_holdout_reference_templates.json new file mode 100644 index 0000000000..bc2d66492b --- /dev/null +++ b/tools/nz_holdout_reference_templates.json @@ -0,0 +1,176 @@ +{ + "country": "nz", + "reference_set": "holdout", + "description": "New Zealand v0 held-out references: Accommodation Supplement comparators (recipients, MSD Accommodation Assistance expenditure, Treasury AN 24/01) and the Working for Families tripwire. MC5 holds these out of calibration; no calibration-side graph node may read this resource. target_role is validation throughout. Every row is an unactivated placeholder. Each period follows the label convention of its Chronicle package (IRD tax years by closing year; MSD fiscal years by opening year, as recorded in source_period_kind, source_period_start and source_period_end); activation re-checks every period against the harvested facts.", + "allowed_value_operations": [ + "identity" + ], + "target_references": [ + { + "name": "msd_accommodation_supplement_recipients_by_region", + "ledger_selector": { + "source_name": "msd_quarterly_benefit_facts", + "source_measure_id": "accommodation_supplement_recipients_by_region", + "geography_level": "region" + }, + "entity": "family", + "measure": "receives_accommodation_supplement", + "period": "2026-03", + "family": "accommodation_supplement", + "metadata": { + "activation_status": "requires_harvested_cell_references_and_geography_bridge", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Ministry of Social Development", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "MC5", + "holdout_use": "accommodation_supplement_recipient_comparator" + }, + "notes": "Held out (MC5, conflict C5): calibrating to Accommodation Supplement recipients would predetermine the take-up comparison. MSD Work and Income regions are not Stats NZ regions, so comparison needs an explicit geography bridge. Compared with modelled eligible units, never used as a target." + }, + { + "name": "msd_annual_report_accommodation_assistance_expenditure", + "ledger_selector": { + "source_name": "msd_annual_report", + "source_measure_id": "benefits_or_related_expenses_accommodation_assistance", + "geography_level": "country" + }, + "entity": "family", + "measure": "accommodation_supplement_annual_amount", + "period": 2024, + "family": "accommodation_supplement", + "metadata": { + "activation_status": "requires_harvested_fact_reference_and_scope_evidence", + "measure_kind": "prepared_column", + "publisher": "Ministry of Social Development", + "source_period_kind": "fiscal_year", + "source_period_start": "2024-07-01", + "source_period_end": "2025-06-30", + "target_role": "validation", + "criticality": "diagnostic", + "reference_set": "holdout", + "method_card_row": "MC2", + "holdout_use": "accommodation_supplement_dollar_comparator" + }, + "notes": "MSD Annual Report 2025, Benefits or Related Expenses, 2024/25 actual, published line \"Accommodation Assistance\" (targets doc M2). The comparator for the annual dollar gap (MC2). The line label may cover more than the Accommodation Supplement; the Chronicle package must record the appropriation definition before any statement that calls it Accommodation Supplement paid. Period 2024 is the opening year of the July-June fiscal year." + }, + { + "name": "treasury_an24_01_accommodation_supplement_fiscal_total", + "ledger_selector": { + "source_name": "treasury_an24_01", + "source_measure_id": "fiscal_totals_accommodation_supplement", + "geography_level": "country" + }, + "entity": "family", + "measure": "accommodation_supplement_annual_amount", + "period": 2019, + "family": "accommodation_supplement", + "metadata": { + "activation_status": "requires_harvested_fact_reference", + "measure_kind": "prepared_column", + "publisher": "The Treasury", + "source_period_kind": "tax_year", + "source_period_start": "2018-04-01", + "source_period_end": "2019-03-31", + "target_role": "validation", + "criticality": "diagnostic", + "reference_set": "holdout", + "method_card_row": "MC2", + "holdout_use": "accommodation_supplement_dollar_comparator" + }, + "notes": "Treasury Analytical Note AN 24/01 fiscal_totals.csv, Accommodation Supplement row, tax year 2018/19 (targets doc T4, CC0). A secondary historical comparator only; it is never scaled or uprated to the model year." + }, + { + "name": "ird_wff_recipient_families", + "ledger_selector": { + "source_name": "ird", + "source_measure_id": "wff_recipient_families", + "geography_level": "country" + }, + "entity": "family", + "measure": "receives_working_for_families", + "period": 2024, + "family": "working_for_families", + "metadata": { + "activation_status": "requires_receipt_assignment_wff_bindings_and_2026_basis", + "chronicle_package_id": "ird-working-for-families-statistics-sept-2025", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Inland Revenue", + "target_role": "validation", + "chronicle_package_path": "ird/working_for_families_statistics_sept_2025", + "source_period_kind": "tax_year", + "source_period_start": "2023-04-01", + "source_period_end": "2024-03-31", + "reference_set": "holdout", + "method_card_row": "MC5", + "holdout_use": "working_for_families_tripwire" + }, + "notes": "Held out as the Working for Families tripwire (IRD WFF statistics, targets doc I3). Cell-pinned IRD administrative count of families with a claim and non-zero final entitlement, not every eligible family and not cash paid. Chronicle owns the September 2025 workbook facts. Activation requires a separate family receipt/claim state and an explicit bridge from tax year ending 2024 to the 2026-27 build basis. Total and average entitlement NZD remain held-out validation, never calibration values. No v0 graph node computes WFF, so the comparison is parked until the WFF modules are bound.", + "ledger_source_record_id": "ird_wff_statistics.ty2024.recipient_families.all.wff_recipient_families" + }, + { + "name": "ird_iwtc_recipient_families", + "ledger_selector": { + "source_name": "ird", + "source_measure_id": "iwtc_recipient_families", + "geography_level": "country" + }, + "entity": "family", + "measure": "receives_in_work_tax_credit", + "period": 2024, + "family": "working_for_families", + "metadata": { + "activation_status": "requires_receipt_assignment_wff_bindings_and_2026_basis", + "chronicle_package_id": "ird-working-for-families-statistics-sept-2025", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Inland Revenue", + "target_role": "validation", + "chronicle_package_path": "ird/working_for_families_statistics_sept_2025", + "source_period_kind": "tax_year", + "source_period_start": "2023-04-01", + "source_period_end": "2024-03-31", + "reference_set": "holdout", + "method_card_row": "MC5", + "holdout_use": "working_for_families_tripwire" + }, + "notes": "Held out as the Working for Families tripwire (IRD WFF statistics, targets doc I3). Cell-pinned IRD administrative count of families with a claim and non-zero final entitlement, not every eligible family and not cash paid. Chronicle owns the September 2025 workbook facts. Activation requires a separate family receipt/claim state and an explicit bridge from tax year ending 2024 to the 2026-27 build basis. Total and average entitlement NZD remain held-out validation, never calibration values. No v0 graph node computes WFF, so the comparison is parked until the WFF modules are bound.", + "ledger_source_record_id": "ird_wff_statistics.ty2024.recipient_families.all.iwtc_recipient_families" + }, + { + "name": "ird_wff_recipient_families_by_family_income_band", + "ledger_selector": { + "source_name": "ird", + "source_measure_id": "wff_recipient_families_by_family_income_band", + "geography_level": "country" + }, + "entity": "family", + "measure": "receives_working_for_families", + "filter": "family_scheme_income_band_indicator", + "period": 2024, + "family": "working_for_families", + "metadata": { + "activation_status": "requires_harvested_cell_references_wff_bindings_and_2026_basis", + "measure_kind": "prepared_column", + "publisher": "Inland Revenue", + "chronicle_package_id": "ird-working-for-families-statistics-sept-2025", + "chronicle_package_path": "ird/working_for_families_statistics_sept_2025", + "source_period_kind": "tax_year", + "source_period_start": "2023-04-01", + "source_period_end": "2024-03-31", + "target_role": "validation", + "criticality": "diagnostic", + "reference_set": "holdout", + "method_card_row": "MC5", + "holdout_use": "working_for_families_tripwire" + }, + "notes": "IRD WFF recipient-family income distribution (targets doc I3, 2020 onward): the one published conditional slice of the joint-income distribution, reported as the joint-income tripwire. Held out; never calibration." + } + ], + "target_profile": { + "schema_version": 1, + "hierarchy_reconciliations": [] + } +} diff --git a/tools/nz_precal_reference_templates.json b/tools/nz_precal_reference_templates.json new file mode 100644 index 0000000000..9e270e06be --- /dev/null +++ b/tools/nz_precal_reference_templates.json @@ -0,0 +1,56 @@ +{ + "target_references": [ + { + "name": "mbie_bond_rents_by_territorial_authority", + "ledger_selector": { + "source_name": "mbie_tenancy_bond_rents", + "source_measure_id": "rent_distribution_by_ta_bedrooms_dwelling_type", + "geography_level": "territorial_authority" + }, + "entity": "household", + "measure": "rent", + "period": null, + "family": "housing_costs", + "metadata": { + "activation_status": "requires_rent_band_frequencies", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Ministry of Business, Innovation and Employment", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "MC8", + "precal_use": "rent_quantile_map_bands", + "contract_target_id": "mbie_bond_rents_by_territorial_authority", + "parking_reason": "MBIE medians, quartiles and bond counts do not supply rent-band frequencies by territorial authority, bedrooms and dwelling type." + }, + "notes": "MBIE medians, quartiles and bond counts do not supply rent-band frequencies by territorial authority, bedrooms and dwelling type.", + "filter": "rent_band_indicator" + }, + { + "name": "stats_nz_household_financial_net_worth_distribution", + "ledger_selector": { + "source_name": "stats_nz_household_net_worth", + "source_measure_id": "household_financial_assets_distribution", + "geography_level": "country" + }, + "entity": "household", + "measure": "liquid_financial_assets", + "period": null, + "family": "wealth", + "metadata": { + "activation_status": "requires_all_household_liquid_asset_histogram", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Stats NZ", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "MC10", + "precal_use": "liquid_assets_quantile_map_bands", + "contract_target_id": "stats_nz_household_financial_net_worth_distribution", + "parking_reason": "Nonzero-holder summaries do not supply an all-household liquid-financial-asset histogram." + }, + "notes": "Nonzero-holder summaries do not supply an all-household liquid-financial-asset histogram.", + "filter": "financial_asset_band_indicator" + } + ] +} From c00945192636a22c4099d77e332a17d799233cf6 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 11:04:52 -0500 Subject: [PATCH 02/15] Pin the NZ small-frame matrix to the receipt rows The small-frame matrix test still expected 234 active rows and built a frame with no receipt flags and no adult aged 18 to 24, so CI failed on the 12 receipt cells and NZ Super. Give that frame one adult in the youngest band and the four flags takeup.assign@1 writes, and expect the 109 rows that stay active. Pin H19's exact solver settings in the declaration test, because a changed epoch count passed it before. Correct three descriptions: the A1 method now names the gross payment columns and H4's Veterans Pension exclusion, annual-transfer exposure lives in benefit_gross_up.json, and export.prepare@1 emits a descriptor that materialize_export writes. Co-Authored-By: Claude Opus 5.5 --- docs/nz-reporting-classifiers-method.md | 11 +++++----- .../microcosm/build/nz/export_contract.json | 2 +- .../microcosm/build/nz/receipt_contract.json | 2 +- .../shared/test_calibration_columns.py | 22 +++++++++++++++++-- .../shared/test_nz_transport_declarations.py | 10 ++++++--- .../tests/golden/nz_country_spec.json | 6 ++--- 6 files changed, 38 insertions(+), 15 deletions(-) diff --git a/docs/nz-reporting-classifiers-method.md b/docs/nz-reporting-classifiers-method.md index 2b30115c48..83934bed9a 100644 --- a/docs/nz-reporting-classifiers-method.md +++ b/docs/nz-reporting-classifiers-method.md @@ -10,8 +10,8 @@ This document records the method basis and the checks needed before activation. The provisional stratifier is annual gross benefit-unit income for TY2026–27, before income tax, Accommodation Supplement, and Working for Families. It -includes market income and paid main-benefit, New Zealand Superannuation, and -Veterans Pension amounts. Including benefit income avoids ranking all units +includes market income and paid main-benefit and New Zealand Superannuation +amounts. Including benefit income avoids ranking all units with no market income as one zero-income tie; excluding Accommodation Supplement keeps the reported outcome out of its own stratifier. Equivalised disposable income is a defensible alternative that would change the reporting cells, so @@ -25,9 +25,10 @@ then multiplied by 52. Entitlement does not substitute for assigned receipt. All components must use the same before-tax basis. A net paid amount or a gross maximum rate does not establish the required before-tax paid amount. -The current declaration leaves unavailable before-tax main-benefit and Veterans -Pension paid amount columns null and refuses activation. Veterans Pension -receipt must also be present: a missing flag cannot mean no receipt. Rental +The current declaration binds each main benefit to its +`_gross_weekly_payment` column. H4 excludes unsupported Veterans Pension +from v0, so the classifier omits its income and its receipt predicate: a missing +flag cannot mean no receipt. Rental income is after business expenses, and the before-tax interpretation of rental and private-pension inputs must be verified before activation. diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json index 3063ec4c9d..2f3240c525 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json @@ -101,5 +101,5 @@ "receives_supported_living_payment": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt.", "receives_nz_super": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt." }, - "_slice_requirement": "G8-w3b must declare the exact entity-qualified export and terminal-gate slices. H12 still requires closed-roster enforcement for all replay-required normalized or encoded inputs. export.prepare@1 currently accepts entities, weight_entity, time_period and optional bindings, then writes the selected frame; it does not read this roster. The hub must resolve any required shared-code enforcement separately." + "_slice_requirement": "G8-w3b must declare the exact entity-qualified export and terminal-gate slices. H12 still requires closed-roster enforcement for all replay-required normalized or encoded inputs. export.prepare@1 currently accepts entities, weight_entity, time_period and optional bindings, then emits a descriptor that materialize_export writes; it does not read this roster. The hub must resolve any required shared-code enforcement separately." } diff --git a/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json b/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json index c151fd35f7..6aedf27883 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json +++ b/packages/microcosm-build/src/microcosm/build/nz/receipt_contract.json @@ -146,7 +146,7 @@ "The hub provisionally orders assignment as NZ Super, Supported Living Payment, Sole Parent Support and Jobseeker Support. Max will rule on overlapping eligibility priority after the engine pin permits the overlap measurement; this declaration does not settle that priority.", "The kernel leaves eligible people outside ages 18 to 64 not_assigned for the three working-age programs. Their published non-working-age counts remain disclosure rather than targets. NZ Super uses one unstratified total.", "V3 starts from the raw nz.open branch and uses its resolved beneficiary_assignment profile. The variant suffix selects a separate deterministic draw stream for all four programs while preserving their targets and eligibility definitions.", - "The flags represent assigned point-in-time receipt, not observed receipt or annual exposure. money_normalization.json declares annual-transfer exposure separately.", + "The flags represent assigned point-in-time receipt, not observed receipt or annual exposure. benefit_gross_up.json declares annual-transfer exposure separately.", "The hub refuses Veterans Pension as unsupported because v0 lacks a veteran-facts producer; the kernel never invents its receipt flag. The hub also leaves other main benefits and the combined youth and young parent category unmodelled." ] } diff --git a/packages/microcosm-build/tests/engine_free/shared/test_calibration_columns.py b/packages/microcosm-build/tests/engine_free/shared/test_calibration_columns.py index 943a7b7ada..e01f0190ae 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_calibration_columns.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_calibration_columns.py @@ -194,7 +194,25 @@ def test_receipt_age_indicators_retain_the_published_strata_boundaries(): def test_all_active_calibration_bindings_enter_the_small_frame_matrix(): - frame = _frame(prepare_calibration_columns(_tables(), _bindings())) + tables = _tables() + # An adult in the youngest receipt band, and the flags takeup.assign@1 writes. + youngest = { + "person_id": 8, + "person_household_id": 0, + "age": 20, + "region_code": "01", + } + tables["person"] = pd.concat( + [tables["person"], pd.DataFrame([youngest])], ignore_index=True + ) + for program in ( + "jobseeker_support", + "nz_super", + "sole_parent_support", + "supported_living_payment", + ): + tables["person"][f"receives_{program}"] = True + frame = _frame(prepare_calibration_columns(tables, _bindings())) root = paths_for("microcosm-build").package / "src/microcosm/build/nz" profiles = json.loads((root / "reference_profiles.json").read_text()) effective, _, _ = resolve_reference_profiles( @@ -226,7 +244,7 @@ def test_all_active_calibration_bindings_enter_the_small_frame_matrix(): ) problem = build_constraint_matrix(frame, targets, "household") assert not problem.skipped - assert len(problem.names) == len(references) == 234 + assert len(problem.names) == len(references) == 109 def test_household_size_indicators_partition_all_regions_and_include_nine_people(): diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index 4cea1d948b..ec0259c7f4 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -240,10 +240,14 @@ def test_settings_export_and_receipt_profiles_declare_the_reviewed_scope(): resources = _spec()["resources"] settings = resources["calibration_settings"] assert set(settings["reasons"]) == _PARAMS - assert all(settings[key] is not None for key in _PARAMS) + assert {key: settings[key] for key in _PARAMS} == { + "epochs": 3000, + "learning_rate": 0.15, + "mass": "free", + "max_weight_ratio": 5, + "weight_anchor": "design", + } assert "time_period" not in settings - assert settings["max_weight_ratio"] > 0 - assert settings["weight_anchor"] == "design" assert "positive median" in settings["cap_disclosure"] receipts = resources["receipt_contract"]["receipts"] assert [row["program"] for row in receipts["programs"]] == [ diff --git a/packages/microcosm-build/tests/golden/nz_country_spec.json b/packages/microcosm-build/tests/golden/nz_country_spec.json index 912fb2f567..610e9b8ccb 100644 --- a/packages/microcosm-build/tests/golden/nz_country_spec.json +++ b/packages/microcosm-build/tests/golden/nz_country_spec.json @@ -1,6 +1,6 @@ { "country": "nz", - "fingerprint": "124f20399da74d91bbcdc69dff1492146c430e1496b03110def07ffc3a486081", + "fingerprint": "1add016352d551575a3141ad78deac1aa525b587b68d93cdf29738ed7c04f1e3", "gate_ids": [ "calibration_per_family_fit", "demography_per_family_fit", @@ -50,7 +50,7 @@ "chronicle_feed.json": "60a80dd0042838b0412baf9dd0985c961b4253a6876d16bcdbb8a2c6c03de0c7", "country_package.json": "28094ea675dafa42bb2a7b20c3dbc18733e8e9af36cd09b63303487a9113f715", "currency_bridge.json": "a23fcf09d364d22f346d3faf2ed59ddb6d2b2da88c9757e46f1d624b175ad21b", - "export_contract.json": "82be16482d0026542f8eebbb57c770f4b7ec1421aca297fb61080835eab04f86", + "export_contract.json": "38496d0ea00ddfd0f9609dd965fad666e84360e6c65647f6e03f44167aa29c32", "family_reconciliation.json": "20e3f9f3ce6266d57828d721c99d15bd3642e6c6314a7076ec38972de02bc69e", "gates.json": "628a2f96e00c2c221b0f2c614481f6879ca3db16f2addddf7940628486ed47f0", "geography_spine.json": "5f2b1bdd9f8768249912ffd0fbcb2f7d4ed493b51c74306f793ec12441fd383f", @@ -61,7 +61,7 @@ "msd_pre_activation_reconciliation.json": "375f69ae216b4a8ea553ad85b7fabc97b6b96dc2d6ac064df2cde076b9451be4", "precal_references.json": "a66dac9acd9becd3cc901dbd2d386813923400d403bd32b72db240ff351b3e30", "precalibration_stages.json": "f2a13c707a57626ef98f3f9218c1405012840ef484e92a2665763cf67da7a009", - "receipt_contract.json": "2fb8b7d293bb39290765ee465781cb38e12d865e02e13df17592074156b7714a", + "receipt_contract.json": "a8a7f863e76ec97d3660d5aa1cdcc9e538f70ffb210409a847097db9dc27858b", "reference_aging.json": "e7619ec7a02ae5f460a46d160e89c9c9836c8b1d03140aed2348761e590504f0", "reference_intervals.json": "fcc88c0efd5f416aa15a7d5afbeee1d103dd78a136e13b1efc3973d203188412", "reference_inventory.json": "10c10a8cb9de78d09da960eb89705944b277d72b1c7b3cf7078c989a969f3149", From b32593dcfd438277b77a82b60b388039168e469f Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 11:19:40 -0500 Subject: [PATCH 03/15] Follow the NZ declarations through two stale test constants A local run of the NZ test files, with no failure cap, found two tests CI hadn't reached. The IRD rows' parking reason now names G8-r2c, and removing S4 leaves nine scenarios, so the cell flags number 43 times 9. Co-Authored-By: Claude Opus 5.5 --- .../tests/engine_free/shared/test_nz_reference_intervals.py | 4 ++-- .../tests/engine_free/shared/test_transport_weight_quality.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py index ed62648880..6eed8ad8b5 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_reference_intervals.py @@ -27,8 +27,8 @@ NATIONAL = "ird_taxable_income_national_ty2024" AGE = "ird_taxable_income_age_ty2024" IRD_REASON = ( - "B4: reviewed IRD-definition taxable-income measurement, annual component " - "closure and record universe remain required. Ageing resolution does not " + "B4: G8-r2c must supply reviewed IRD-definition taxable-income measurement, " + "annual component closure and the record universe. Ageing resolution does not " "establish that measurement." ) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py index afc76ddc57..9af18e8e91 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py @@ -496,7 +496,7 @@ def test_adopted_cell_targets_are_flagged_and_never_block(): outcome = report.outcomes[0] assert outcome.status is GateStatus.FAILED flags = outcome.result.details["meets_tracked_target"] - assert len(flags) == 43 * 10 + assert len(flags) == 43 * 9 assert not any(flags.values()) assert not report.blocking_outcomes(release_candidate=True) From 2b44c12ee33fa60b5245caf0ac02677238977812 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 12:23:09 -0500 Subject: [PATCH 04/15] Declare the NZ transport and entitlement graphs (WIP) Generate transport_graph.json, entitlement_graph.json and their supporting resources, including independent variant branches and a hold-fixed sibling money declaration. Add an opt-in closed roster check on export and terminal gate slices, and admit gt and finite nonnegative numbers in calibration predicates. Work in progress: the build lane stopped before its final validation, and packaged composition still needs Reg 17/18 assembly and a person region producer. Co-Authored-By: GPT-6.1 Sol Co-Authored-By: Claude Opus 5.5 --- changelog.d/nz-transport-graph.added.md | 1 + .../microcosm/build/calibration_predicates.py | 11 +- .../src/microcosm/build/nz/as_encoding.json | 6 + .../build/nz/axiom_input_closure.json | 12 +- .../microcosm/build/nz/benefit_gross_up.json | 16 +- .../microcosm/build/nz/concept_mapping.json | 1506 + .../microcosm/build/nz/country_package.json | 55 + .../microcosm/build/nz/entitlement_graph.json | 1224 + .../microcosm/build/nz/export_contract.json | 514 +- .../build/nz/export_replay_bindings.json | 4 + .../microcosm/build/nz/gap_annualisation.json | 4 + .../src/microcosm/build/nz/gates.json | 6 +- .../build/nz/geography_assignment.json | 65 + .../build/nz/holdout_comparator_bindings.json | 28 + .../nz/money_normalization_hold_fixed.json | 110 + .../build/nz/reporting_classifiers.json | 15 +- .../src/microcosm/build/nz/scenarios.json | 29823 +++++++++++++++- .../transport_atomic_geography_support.json | 1734 + .../microcosm/build/nz/transport_graph.json | 4266 +++ .../microcosm/build/nz/transport_inputs.json | 20 + .../src/microcosm/build/transport/compose.py | 146 + .../shared/test_nz_benefit_gross_up.py | 86 +- .../shared/test_nz_transport_declarations.py | 604 +- .../shared/test_nz_transport_toy_graph.py | 465 + .../shared/test_transport_composed_graph.py | 283 +- .../shared/test_transport_weight_quality.py | 2 +- .../tests/golden/nz_country_spec.json | 42 +- .../microcosm_build/transport_nz_toy.py | 1211 + tools/build_nz_benefit_gross_up.py | 12 +- tools/build_nz_entitlement_graph.py | 425 + tools/build_nz_transport_graph.py | 892 + 31 files changed, 43460 insertions(+), 128 deletions(-) create mode 100644 changelog.d/nz-transport-graph.added.md create mode 100644 packages/microcosm-build/src/microcosm/build/nz/as_encoding.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/concept_mapping.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/gap_annualisation.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/geography_assignment.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/money_normalization_hold_fixed.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/transport_atomic_geography_support.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/transport_graph.json create mode 100644 packages/microcosm-build/src/microcosm/build/nz/transport_inputs.json create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py create mode 100644 test_support/microcosm_build/transport_nz_toy.py create mode 100644 tools/build_nz_entitlement_graph.py create mode 100644 tools/build_nz_transport_graph.py diff --git a/changelog.d/nz-transport-graph.added.md b/changelog.d/nz-transport-graph.added.md new file mode 100644 index 0000000000..8c1ca51376 --- /dev/null +++ b/changelog.d/nz-transport-graph.added.md @@ -0,0 +1 @@ +Declare NZ transport and entitlement branches with independent calibration variants and an identity-factor hold-fixed sensitivity. Add a synthetic replay fixture, exact export and gate contracts, and positive-payment comparator inputs. Keep the package inactive while engine pins, money quantile producers, person-region propagation and reviewed AS assembly remain open. diff --git a/packages/microcosm-build/src/microcosm/build/calibration_predicates.py b/packages/microcosm-build/src/microcosm/build/calibration_predicates.py index a1f0d8f4f6..40c0ff0f0a 100644 --- a/packages/microcosm-build/src/microcosm/build/calibration_predicates.py +++ b/packages/microcosm-build/src/microcosm/build/calibration_predicates.py @@ -81,6 +81,8 @@ def predicate_mask( part = values.eq(value) elif operator == "ge": part = values.ge(value) + elif operator == "gt": + part = values.gt(value) elif operator == "lt": part = values.lt(value) elif operator == "in" and isinstance(value, (list, tuple)) and value: @@ -165,6 +167,8 @@ def _validate_input(values: pd.Series, domain: Mapping[str, Any], name: str) -> _finite_number(value) and value >= 0 and value == int(value) for value in values.tolist() ) + elif kind == "nonnegative_number": + valid = all(_finite_number(value) and value >= 0 for value in values.tolist()) else: allowed = domain["values"] valid = all( @@ -178,7 +182,12 @@ def _validate_input(values: pd.Series, domain: Mapping[str, Any], name: str) -> def _input_domain_kind(domain: Mapping[str, Any], name: str) -> str: """Share domain-schema validation between activation and table validation.""" kind = domain.get("kind") - if kind in ("identity", "signed_integer", "nonnegative_integer"): + if kind in ( + "identity", + "signed_integer", + "nonnegative_integer", + "nonnegative_number", + ): return kind if isinstance(domain.get("values"), (list, tuple)) and domain["values"]: return "values" diff --git a/packages/microcosm-build/src/microcosm/build/nz/as_encoding.json b/packages/microcosm-build/src/microcosm/build/nz/as_encoding.json new file mode 100644 index 0000000000..b11221bae1 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/as_encoding.json @@ -0,0 +1,6 @@ +{ + "rent_allocation": "reference_unit", + "asset_test": true, + "area_column": "as_area", + "rent_factor": 1 +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json index 66539ff10b..7d1f6024c8 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json +++ b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json @@ -1301,10 +1301,10 @@ "household.as_area" ], "test": "equals", - "value": 1, + "value": "1", "group_rule": "household_value", "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_resides_in_area_1", - "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 1. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area." + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 1. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area. The geography kernel carries area codes as text; this predicate compares the same text code." }, "reason": "Model state, not a concept: see the state binding's note." }, @@ -1321,10 +1321,10 @@ "household.as_area" ], "test": "equals", - "value": 2, + "value": "2", "group_rule": "household_value", "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_resides_in_area_2", - "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 2. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area." + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 2. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area. The geography kernel carries area codes as text; this predicate compares the same text code." }, "reason": "Model state, not a concept: see the state binding's note." }, @@ -1341,10 +1341,10 @@ "household.as_area" ], "test": "equals", - "value": 3, + "value": "3", "group_rule": "household_value", "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_resides_in_area_3", - "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 3. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area." + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which picks the area's maximum weekly rate; a family in none of areas 1 to 3 takes the area 4 rates. Read from the household's assigned Accommodation Supplement area (household.as_area, 1 to 4) equal to 3. The area is model state: the geography nodes assign it to the household from the territorial-authority-to-area crosswalk with population split shares (method card MC9), not from an address, so every family in a household shares the household's area. The geography kernel carries area codes as text; this predicate compares the same text code." }, "reason": "Model state, not a concept: see the state binding's note." }, diff --git a/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json b/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json index 825b6fbfb6..9b42c518af 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json +++ b/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json @@ -2,7 +2,7 @@ "schema_version": 1, "country": "nz", "generator": "tools/build_nz_benefit_gross_up.py", - "status": "reusable graph declarations; packaged transport graph wiring remains pending", + "status": "The central branch and each calibration variant run these reusable declarations after their own money normalization.", "disclosure": "Annualised Schedule 1, before credits, 52-week benefit gross-up, each benefit inverted independently of other income.", "monotonicity": "For the pinned Schedule 1, every marginal tax rate falls below one; 52*n + T(G) - G decreases or stays constant as each person's own G increases.", "authoritative_value": "money.minor_units@1 recovers annual integer cents exactly from certified float64 quantum multiples and preserves the bridge's float64 output contract.", @@ -18,7 +18,7 @@ { "id": "nz.benefits.rates", "kernel": "simulate.rules_by_ref@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "rules_binding": "main_benefits_rates", "inputs": [ @@ -84,7 +84,7 @@ { "id": "nz.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { @@ -132,7 +132,7 @@ { "id": "nz.gross_up.sole_parent_support", "kernel": "simulate.solve_zero@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { @@ -180,7 +180,7 @@ { "id": "nz.gross_up.supported_living_payment", "kernel": "simulate.solve_zero@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { @@ -228,7 +228,7 @@ { "id": "nz.gross_up.annual_cents", "kernel": "money.minor_units@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { @@ -272,7 +272,7 @@ { "id": "nz.gross_up.super_cents", "kernel": "money.minor_units@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { @@ -296,7 +296,7 @@ { "id": "nz.benefits.annual_transfers", "kernel": "money.annual_transfers@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [ { diff --git a/packages/microcosm-build/src/microcosm/build/nz/concept_mapping.json b/packages/microcosm-build/src/microcosm/build/nz/concept_mapping.json new file mode 100644 index 0000000000..5ae43f6954 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/concept_mapping.json @@ -0,0 +1,1506 @@ +{ + "bindings": [ + { + "canonical_input": "nz:regulations/acc/earners_levy#input.acc_earnings_for_earners_levy", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income" + ], + "engine_entity": "Person", + "engine_input": "acc_earnings_for_earners_levy", + "module": "nz/regulations/acc/earners_levy.yaml", + "note": "Consumed in nz/regulations/acc/earners_levy.yaml by acc_standard_earners_levy_excluding_gst (source: Accident Compensation (Earners' Levy) Regulations 2025 regs 4, 5 and 8): 'min(max(0, acc_earnings_for_earners_levy), acc_earners_levy_maximum_earnings) * acc_earners_levy_rate_excluding_gst', and by acc_standard_earners_levy_including_gst (IRD PAYE-facing rate, rounded to cents). The module's test standard_negative_earnings feeds -100 and expects a nil levy, so the input admits a net loss. Read here as annual gross employee wages plus net non-farm and farm self-employment profit. Differences: the input is 'earnings' in the Accident Compensation Act sense (the definition is not in this module), a legal quantity; the concept's gross wages (with tips, bonuses, commissions) may not match the Act's earnings items; shareholder-employee earnings are not separated in the concepts; and this sum nets a self-employment loss against wages before the rule clamps at zero, which the module does not say the Act does. Both annual.", + "relation": "approximate", + "transform": { + "kind": "sum" + } + }, + { + "canonical_input": "nz:regulations/acc/earners_levy#input.acc_employee_earnings_for_low_self_employed_formula", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "acc_employee_earnings_for_low_self_employed_formula", + "module": "nz/regulations/acc/earners_levy.yaml", + "note": "Consumed in nz/regulations/acc/earners_levy.yaml by acc_low_self_employed_minimum_levy_excluding_gst (source: Accident Compensation (Earners' Levy) Regulations 2025 reg 6): 'if acc_self_employed_more_than_30_hours_per_week and acc_self_employed_earnings_for_earners_levy < acc_low_self_employed_minimum_earnings: acc_earners_levy_rate_excluding_gst * max(0, acc_low_self_employed_minimum_earnings - acc_employee_earnings_for_low_self_employed_formula)'. Read as the person's annual gross wages and salaries. Differences: the input is employee earnings as the Accident Compensation Act defines them (not in this module); the concept is the survey's gross employee cash income. Both annual. The gating flag (self-employed more than 30 hours a week) stays uncovered, so this binding only matters once it is set.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:regulations/acc/earners_levy#input.acc_self_employed_earnings_for_earners_levy", + "concepts": [ + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income" + ], + "engine_entity": "Person", + "engine_input": "acc_self_employed_earnings_for_earners_levy", + "module": "nz/regulations/acc/earners_levy.yaml", + "note": "Consumed in nz/regulations/acc/earners_levy.yaml by acc_low_self_employed_minimum_levy_excluding_gst (source: Accident Compensation (Earners' Levy) Regulations 2025 reg 6), which applies the minimum-earnings formula when 'acc_self_employed_earnings_for_earners_levy < acc_low_self_employed_minimum_earnings' for a person self-employed more than 30 hours a week. Read as annual net non-farm plus farm self-employment profit. Differences: the input is self-employed earnings as the Accident Compensation Act defines them (not in this module), a legal quantity; shareholder-employee earnings are not identifiable in the concepts and are not included. Both annual; the concepts are signed and the rule compares the value as given.", + "relation": "approximate", + "transform": { + "kind": "sum" + } + }, + { + "canonical_input": "nz:regulations/health_entitlement_cards/community_services_card/core#input.community_services_card_dependent_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "community_services_card_dependent_children_count", + "module": "nz/regulations/health_entitlement_cards/community_services_card/core.yaml", + "note": "Consumed in nz/regulations/health_entitlement_cards/community_services_card/core.yaml by community_services_card_family_group_for_dependent_child_threshold (source: Health Entitlement Cards Regulations 1993 reg 8(7)): '... and community_services_card_dependent_children_count >= 1', and by community_services_card_no_dependent_children_income_route (reg 8(1)(d)): 'community_services_card_dependent_children_count == 0 and ...'. Read as the number of co-resident persons aged 17 or under who name this person as a parent (birth, adoptive or step). Differences: the regulations' dependent-child definition is not in this module and the 17 cut is this mapping's assumption; a partner's child not recorded as this person's stepchild, and a non-parent caregiver's child, are missed.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:regulations/health_entitlement_cards/community_services_card/core#input.community_services_card_person_age_years", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "community_services_card_person_age_years", + "module": "nz/regulations/health_entitlement_cards/community_services_card/core.yaml", + "note": "Consumed in nz/regulations/health_entitlement_cards/community_services_card/core.yaml by community_services_card_no_dependent_children_income_route (source: Health Entitlement Cards Regulations 1993 reg 8(1)(d)): '... and community_services_card_person_age_years >= community_services_card_minimum_age_without_dependent_children and ...'. The person's own age in years. Differences: completed years at the survey reference date versus age when the card's eligibility is assessed (the module evaluates by year and states no date).", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:regulations/health_entitlement_cards/community_services_card/core#input.community_services_card_person_married_or_partnered", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "community_services_card_person_married_or_partnered", + "module": "nz/regulations/health_entitlement_cards/community_services_card/core.yaml", + "note": "Consumed in nz/regulations/health_entitlement_cards/community_services_card/core.yaml by community_services_card_family_income_limit (source: Health Entitlement Cards Regulations 1993 reg 8(5)) and community_services_card_superannuation_income_limit (reg 8(5A)): 'if community_services_card_person_married_or_partnered: else: '. Read as having a co-resident spouse, civil partner or cohabiting partner. Differences: the regulations' test for married or partnered is not in this module; the concept is co-residence based, so a married person whose spouse lives elsewhere reads as unpartnered, and a cohabitation the regulations would not count is counted.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:regulations/health_entitlement_cards/community_services_card/core#input.community_services_card_student_in_recognised_full_time_tertiary_course", + "concepts": [ + "fact:person.education_enrollment", + "fact:person.enrolled_full_time" + ], + "engine_entity": "Person", + "engine_input": "community_services_card_student_in_recognised_full_time_tertiary_course", + "module": "nz/regulations/health_entitlement_cards/community_services_card/core.yaml", + "note": "Consumed in nz/regulations/health_entitlement_cards/community_services_card/core.yaml by community_services_card_student_route (source: Health Entitlement Cards Regulations 1993 reg 8(1)(f)): 'community_services_card_student_in_recognised_full_time_tertiary_course and community_services_card_ordinarily_resident_in_new_zealand and community_services_card_family_income_under_limit'. Read as enrolled full time in an ISCED 5-8 programme. Differences: the input requires a course that is recognised under the regulations (not defined in this module) and full time on that course's legal measure; the concept's full-time flag follows the programme's own definition and its tertiary band covers every ISCED 5-8 programme.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:person.education_enrollment", + [ + "tertiary" + ] + ], + [ + "fact:person.enrolled_full_time", + [ + true + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:regulations/social_security/childcare_assistance/core#input.childcare_assistance_dependent_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "childcare_assistance_dependent_children_count", + "module": "nz/regulations/social_security/childcare_assistance/core.yaml", + "note": "Consumed in nz/regulations/social_security/childcare_assistance/core.yaml by childcare_assistance_schedule_2_hourly_rate_before_fee_cap (source: Social Security Regulations 2018 Schedule 2): 'if childcare_assistance_dependent_children_count <= 1: ... else: if childcare_assistance_dependent_children_count == 2: ... else: ' selects which set of income thresholds, compared with childcare_assistance_household_income_before_tax, fixes the hourly rate. The row is the caregiver (the module summary: s 77 gives assistance to a principal caregiver); read as the number of co-resident persons aged 17 or under who name this person as a parent (birth, adoptive or step). Differences: 'dependent child' is defined outside this module and the 17 cut is this mapping's assumption; children in the caregiver's care who do not name them as a parent (grandchildren, foster children, a partner's children not recorded as step) are missed.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:regulations/student_allowances/core#input.student_allowance_has_children", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "student_allowance_has_children", + "module": "nz/regulations/student_allowances/core.yaml", + "note": "nz/regulations/student_allowances/core.yaml rules student_allowance_has_recognised_partner (Student Allowances Regulations 1998 reg 2: '... or student_allowance_has_children'), student_allowance_weekly_gross_allowance (Schedule 2: 'if student_allowance_has_children: student_allowance_students_with_children_gross'); rate excerpts read 'the student has 1 or more supported children'. Difference: the regulations' 'supported child' definition is not encoded in the module; max_child_age 17 is this mapping's reading, and supported children with no parent pointer to the student are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:regulations/student_allowances/core#input.student_allowance_has_partner", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "student_allowance_has_partner", + "module": "nz/regulations/student_allowances/core.yaml", + "note": "nz/regulations/student_allowances/core.yaml rule student_allowance_has_recognised_partner (Student Allowances Regulations 1998 reg 2): 'if student_allowance_has_partner and ((student_allowance_student_age >= student_allowance_partner_age_threshold and student_allowance_partner_age >= student_allowance_partner_age_threshold) or student_allowance_has_children): 1'. Difference: the regulations recognise a spouse or partner who lives apart (Schedule 2 has a rate for a student 'not living in the same home as their spouse or partner'); has_partner sees only a co-resident partner, and a survey cohabitant may not meet the regulations' partner definition.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:regulations/student_allowances/core#input.student_allowance_lives_with_partner", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "student_allowance_lives_with_partner", + "module": "nz/regulations/student_allowances/core.yaml", + "note": "nz/regulations/student_allowances/core.yaml rule student_allowance_lives_at_home (Student Allowances Regulations 1998 reg 2 and Schedule 2 clause 2): 'if student_allowance_has_recognised_partner > 0: if student_allowance_lives_with_partner: 1 else: 0'; rate excerpt 'is living in the same home as their spouse or partner'. The rule reads it only for a recognised partner, where a co-resident partner pointer is the same fact. Difference: the partner pointer is the survey's partner, which may not be the regulations' spouse or partner.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:regulations/student_allowances/core#input.student_allowance_student_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "student_allowance_student_age", + "module": "nz/regulations/student_allowances/core.yaml", + "note": "nz/regulations/student_allowances/core.yaml rules student_allowance_has_recognised_partner (reg 2: 'student_allowance_student_age >= student_allowance_partner_age_threshold', 24), student_allowance_single_student_no_children_gross and student_allowance_weekly_allowance (Schedule 2: 'student_allowance_student_age < student_allowance_rate_band_age_threshold', 24). Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/income_tax/core/taxable_income#input.income_tax_activity_income", + "concepts": [ + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income" + ], + "engine_entity": "Person", + "engine_input": "income_tax_activity_income", + "module": "nz/statutes/income_tax/core/taxable_income.yaml", + "note": "Read by income_tax_activity_income_included (source 'Income Tax Act 2007 s MB 3; shared income-interface bridge for business and self-employment activity income'): 'max(0, income_tax_activity_income - income_tax_activity_deductions)'. The result is summed into income_tax_shared_income_bridge_total with the employment and schedular bridges. The input is gross activity income, with deductions in a separate input. The concepts are net non-farm and farm self-employment profit, so income_tax_activity_deductions stays uncovered (zero), and a net loss floors at zero instead of offsetting other income. Survey profit is not income as the Act measures it. Both sides are annual.", + "relation": "approximate", + "transform": { + "kind": "sum" + } + }, + { + "canonical_input": "nz:statutes/income_tax/core/taxable_income#input.income_tax_employment_income", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "income_tax_employment_income", + "module": "nz/statutes/income_tax/core/taxable_income.yaml", + "note": "Read by income_tax_employment_income_included (source 'Income Tax Act 2007 s CE 1; shared income-interface bridge for employment, salary, and wage income'): 'max(0, income_tax_employment_income - income_tax_employment_deductions)'. The result is summed into income_tax_shared_income_bridge_total. The input is employment income as s CE 1 defines it. The concept is survey gross wages and salaries from all employee jobs, including overtime, tips, bonuses and commissions, and excluding benefits in kind and employer contributions. Anything s CE 1 counts beyond cash wages is missed. Both sides are annual.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/income_tax/credits/individual_credits#input.charitable_or_public_benefit_gift_refund_application_made", + "concepts": [ + "fact:person.take_up_seed" + ], + "engine_entity": "Person", + "engine_input": "charitable_or_public_benefit_gift_refund_application_made", + "module": "nz/statutes/income_tax/credits/individual_credits.yaml", + "note": "Consumed in nz/statutes/income_tax/credits/individual_credits.yaml by charitable_or_public_benefit_gift_section_41a_refund_requirements (source: Tax Administration Act 1994 s 41A), whose formula includes 'and charitable_or_public_benefit_gift_refund_application_made'. A claiming decision, drawn like policyengine-us's would_file_if_eligible_for_refundable_credit (TakeUpThreshold us.refundable_credit_filing): true when the person's nz.donation_tax_credit draw from the persistent seed falls below a claim rate supplied at encode time. Differences: the value is imputed and independent of whether the person gave anything. The credit still needs the gift amounts and the other s 41A inputs (application in time, information provided, LD 1 requirements met), which stay uncovered, so this binding alone changes no credit.", + "relation": "approximate", + "transform": { + "kind": "take_up_threshold", + "program": "nz.donation_tax_credit" + } + }, + { + "canonical_input": "nz:statutes/income_tax/credits/individual_credits#input.independent_earner_tax_credit_receives_new_zealand_superannuation", + "concepts": [ + "fact:person.public_pension_income" + ], + "engine_entity": "Person", + "engine_input": "independent_earner_tax_credit_receives_new_zealand_superannuation", + "module": "nz/statutes/income_tax/credits/individual_credits.yaml", + "note": "Consumed in nz/statutes/income_tax/credits/individual_credits.yaml by independent_earner_tax_credit_status_requirement (source: Income Tax Act 2007 s LC 13(1)), whose formula includes 'and not independent_earner_tax_credit_receives_new_zealand_superannuation'; independent_earner_tax_credit is zero when that requirement fails. Read as positive(public_pension_income); the concept's definition names NZ Superannuation. Differences: other old-age pensions the concept holds also set the flag, such as an overseas state pension, or a Veteran's Pension recorded as a public pension (the rule tests Veteran's Pension through its own input). LC 13 tests receipt within a credit period, while the concept counts receipt at any time in the year, and this Year-period rule then zeroes the whole year's credit rather than only the months of receipt. Transport drops the concept, so the binding executes only on frames built from NZ's own data.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/income_tax/credits/individual_credits#input.payroll_donation_person_is_employee", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "payroll_donation_person_is_employee", + "module": "nz/statutes/income_tax/credits/individual_credits.yaml", + "note": "nz/statutes/income_tax/credits/individual_credits.yaml rule payroll_donation_credit_qualifies (Income Tax Act 2007 ss LD 4(1) and LD 8): 'payroll_donation_person_is_employee and payroll_donation_employer_files_employment_income_information_electronically and payroll_donation_employer_offers_payroll_giving and ...'. Difference: positive employee wages at any time in the reference year stands in for being an employee in the pay period the donation is made from.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/income_tax/family_scheme/eligibility#input.in_work_tax_credit_person_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Family", + "engine_input": "in_work_tax_credit_person_age", + "group_rule": "reference_member", + "module": "nz/statutes/income_tax/family_scheme/eligibility.yaml", + "note": "Read by in_work_tax_credit_age_requirement (source 'Income Tax Act 2007 s MD 5'): 'in_work_tax_credit_person_age >= wff_minimum_age' (16, ss MC 3 and MD 5). The input is the claimant's age, held on the Family entity. The binding takes the Family reference member's age in completed years at the survey reference date. The claimant need not be the reference member, and the dates differ.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/income_tax/family_scheme/eligibility#input.wff_dependent_children_principal_caregiver_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Family", + "engine_input": "wff_dependent_children_principal_caregiver_count", + "group_rule": "reference_member", + "module": "nz/statutes/income_tax/family_scheme/eligibility.yaml", + "note": "nz/statutes/income_tax/family_scheme/eligibility.yaml rule wff_principal_care_requirement (Income Tax Act 2007 s MC 4): 'wff_dependent_children_principal_caregiver_count >= 1' (test values 1 and 2); the module reads the count nowhere else. Group rule reference_member: counts co-resident persons aged 17 or under who name the Family's principal member as a parent (birth, adoptive or step). Difference: principal caregiver is a Commissioner determination (s MC 10; the separate input wff_commissioner_considers_primary_day_to_day_care). Children with no parent pointer to the principal member are missed, so a Family whose principal member is not recorded as the children's parent (for example a step-parent without a step-parent pointer while the partner is the recorded parent) counts zero and fails s MC 4. max_age 17 is this mapping's reading of 'dependent child', and the module handles an 18-year-old in school separately (s MC 9(1), wff_credit_child_school_tertiary_age = 18), which this count leaves out.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:statutes/income_tax/family_scheme/eligibility#input.wff_person_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Family", + "engine_input": "wff_person_age", + "group_rule": "reference_member", + "module": "nz/statutes/income_tax/family_scheme/eligibility.yaml", + "note": "nz/statutes/income_tax/family_scheme/eligibility.yaml rule wff_person_age_requirement (Income Tax Act 2007 s MC 3): 'wff_person_age >= wff_minimum_age', parameter 16. Group rule reference_member: the Family's principal member stands in for 'the person' claiming, whom the concepts do not identify. Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/income_tax/family_scheme/family_scheme_income#input.family_scheme_activity_income", + "concepts": [ + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income" + ], + "engine_entity": "Family", + "engine_input": "family_scheme_activity_income", + "group_rule": "sum_over_members", + "module": "nz/statutes/income_tax/family_scheme/family_scheme_income.yaml", + "note": "Read by family_scheme_activity_income_included (source 'Income Tax Act 2007 s MB 3(2)'): 'max(0, family_scheme_activity_income - family_scheme_activity_deductions)'. family_scheme_income_before_period_adjustment (ss MB 1 and MB 3 to MB 13) adds the result to family_scheme_base_income_excluding_mb3_to_mb13_adjustments. The input is gross income from an activity, with its deductions in a separate input. The concepts are net non-farm and farm self-employment profit, so family_scheme_activity_deductions stays uncovered (zero) and the rule's floor at zero drops a net loss. Members' profits are summed onto the Family entity. Because signed profits are summed across members and across farm and non-farm activity before the rule's single zero floor, one member's or one activity's loss offsets another's profit, which the Family-level input cannot separate. The module does not say whether its Family-level amount is one person's or a couple's family scheme income. A dependent child's profit would also be summed here, although the module handles dependent-child income separately (MB 11). Survey profit is not activity income as the Act measures it.", + "relation": "approximate", + "transform": { + "kind": "sum" + } + }, + { + "canonical_input": "nz:statutes/income_tax/family_scheme/tax_credits#input.in_work_tax_credit_allowed_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Family", + "engine_input": "in_work_tax_credit_allowed_children_count", + "group_rule": "reference_member", + "module": "nz/statutes/income_tax/family_scheme/tax_credits.yaml", + "note": "Read by in_work_tax_credit_relevant_children (source 'Income Tax Act 2007 s MD 10(3)(c)'): 'max(wff_in_work_tax_credit_minimum_children_for_base_amount, max(0, in_work_tax_credit_allowed_children_count))', where the minimum is 3. This scales in_work_tax_credit_before_abatement (s MD 10(2)) only when the uncovered input entitled_to_in_work_tax_credit is true. The module's test pairs a count of 2 with one eldest and one subsequent family-tax-credit child. The binding takes the Family reference member's count of co-resident persons aged 17 or under who name them as a parent. Differences: eligibility.yaml tests children through principal-caregiver and financial-dependency predicates (in_work_tax_credit_principal_caregiver, in_work_tax_credit_child_financially_dependent) that the concepts cannot evaluate. It also carries an MC 9(1) age parameter of 18 (wff_credit_child_school_tertiary_age) that the age-17 cut-off ignores. A reference member who is not the children's named parent counts zero.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:statutes/income_tax/familyboost_tax_credit/core#input.has_relationship_partner", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "has_relationship_partner", + "module": "nz/statutes/income_tax/familyboost_tax_credit/core.yaml", + "note": "Read by fb_entitled (source 'Income Tax Act 2007 ss MH 3(1), MH 3(6)-(7)'): 'not (has_relationship_partner and not separated_with_no_partner_at_quarter_end and relationship_partner_is_couples_claimant_for_quarter)'. Also read by fb_tax_credit_income (s MH 4(7)-(8)): 'if has_relationship_partner and not separated_with_no_partner_at_quarter_end: partner_tax_credit_income_for_quarter'. The input is the Act's relationship-partner status for a tax credit quarter. The concept flags a co-resident spouse, civil partner or cohabiting partner at one survey reference date. It misses a partner the Act would count who lives elsewhere, and it cannot see changes within the quarter.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:statutes/income_tax/withholding/resident_withholding_tax#input.rwt_gross_interest_and_dividends", + "concepts": [ + "fact:person.interest_income", + "fact:person.dividend_income" + ], + "engine_entity": "Person", + "engine_input": "rwt_gross_interest_and_dividends", + "module": "nz/statutes/income_tax/withholding/resident_withholding_tax.yaml", + "note": "nz/statutes/income_tax/withholding/resident_withholding_tax.yaml rule rwt_withholding_amount (Income Tax Act 2007 subpart RE, cited at s RE 12): 'max(0, rwt_gross_interest_and_dividends) * rwt_applicable_rate', rule period Year; module summary 'resident withholding tax rates applied to interest and dividends for New Zealand residents'. Difference: the input is the interest and dividends RWT is withheld from, which the module does not define further; the survey totals (gross of tax withheld) can include amounts outside NZ withholding, such as foreign-paid interest or dividends, and any dividend-specific withholding adjustments are not encoded here.", + "relation": "approximate", + "transform": { + "kind": "sum" + } + }, + { + "canonical_input": "nz:statutes/kiwisaver/contributions#input.kiwisaver_gross_salary_or_wages", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "kiwisaver_gross_salary_or_wages", + "module": "nz/statutes/kiwisaver/contributions.yaml", + "note": "Read by kiwisaver_employee_deduction (source 'KiwiSaver Act 2006 s 64; Inland Revenue KiwiSaver contribution guidance'): 'max(0, kiwisaver_gross_salary_or_wages) * kiwisaver_selected_employee_contribution_rate'. Also read by kiwisaver_minimum_employer_contribution ('KiwiSaver Act 2006 s 101B'): 'max(0, kiwisaver_gross_salary_or_wages) * kiwisaver_employer_minimum_contribution_rate'. The input is the gross salary or wages that KiwiSaver contributions are taken from. The concept is survey gross wages and salaries from all employee jobs, including tips and bonuses and excluding benefits in kind. Neither rule reads KiwiSaver membership, so the employer contribution is computed on every employee's wages. The employee rate is an election and stays uncovered. Both sides are annual.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/core#input.nz_super_person_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "nz_super_person_age", + "module": "nz/statutes/new_zealand_superannuation/core.yaml", + "note": "nz/statutes/new_zealand_superannuation/core.yaml rule nz_super_age_requirement (NZ Superannuation and Retirement Income Act 2001 s 7): 'nz_super_person_age >= nz_super_age_threshold and not nz_super_elected_weekly_compensation_instead_of_superannuation', threshold parameter 65. Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/core#input.nz_super_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "nz_super_single", + "module": "nz/statutes/new_zealand_superannuation/core.yaml", + "note": "nz/statutes/new_zealand_superannuation/core.yaml rules nz_super_living_alone (s 4A: 'nz_super_single and nz_super_principal_residence_is_qualifying_accommodation and ...') and nz_super_ordinary_weekly_rate_before_tax (s 12 and Schedule 1 Part 1 clause 1: 'if nz_super_single: ... else: nz_super_partnered_weekly_rate_before_tax'); nz/statutes/new_zealand_superannuation/special_rates.yaml rule nz_super_hospital_rate_population (s 19(2): 'nz_super_single or (nz_super_in_relationship and not nz_super_has_dependent_children)'). Difference: no_partner means no co-resident spouse, civil partner or cohabiting partner. The module does not define 'single'; a person whose spouse or partner lives elsewhere (for example in care) has no partner pointer and reads single here, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/special_rates#input.nz_super_has_dependent_children", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "nz_super_has_dependent_children", + "module": "nz/statutes/new_zealand_superannuation/special_rates.yaml", + "note": "nz/statutes/new_zealand_superannuation/special_rates.yaml rule nz_super_hospital_rate_population (NZ Superannuation and Retirement Income Act 2001 s 19(2)): '... or (nz_super_in_relationship and not nz_super_has_dependent_children)'. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. max_child_age 17 is this mapping's reading of 'dependent child' as under 18; the module does not encode the definition's age limit or its care and financial-dependence tests, and dependent children with no parent pointer to the person (or living elsewhere) are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/special_rates#input.nz_super_in_relationship", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "nz_super_in_relationship", + "module": "nz/statutes/new_zealand_superannuation/special_rates.yaml", + "note": "nz/statutes/new_zealand_superannuation/special_rates.yaml rule nz_super_hospital_rate_population (NZ Superannuation and Retirement Income Act 2001 s 19(2)): 'nz_super_receives_or_becomes_entitled and (nz_super_single or (nz_super_in_relationship and not nz_super_has_dependent_children))'. Difference: has_partner means a co-resident spouse, civil partner or cohabiting partner; a partner living elsewhere is missed, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/special_rates#input.nz_super_receives_or_becomes_entitled", + "concepts": [ + "fact:person.public_pension_income" + ], + "engine_entity": "Person", + "engine_input": "nz_super_receives_or_becomes_entitled", + "module": "nz/statutes/new_zealand_superannuation/special_rates.yaml", + "note": "Consumed in nz/statutes/new_zealand_superannuation/special_rates.yaml by nz_super_hospital_rate_population (source: New Zealand Superannuation and Retirement Income Act 2001 s 19(2)), which ANDs 'nz_super_receives_or_becomes_entitled' with single status or partnered status without dependent children. Read as positive(public_pension_income); the concept's definition names NZ Superannuation. Differences: the input also covers a person who becomes entitled, which reference-year receipt does not show; other old-age pensions the concept holds also set the flag, such as an overseas state pension or a Veteran's Pension recorded as a public pension; and the concept is an annual amount. The module's hospital inputs stay uncovered, so the flag matters only once they are fed. Transport drops the concept, so the binding executes only on frames built from NZ's own data.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/new_zealand_superannuation/special_rates#input.nz_super_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "nz_super_single", + "module": "nz/statutes/new_zealand_superannuation/special_rates.yaml", + "note": "nz/statutes/new_zealand_superannuation/core.yaml rules nz_super_living_alone (s 4A: 'nz_super_single and nz_super_principal_residence_is_qualifying_accommodation and ...') and nz_super_ordinary_weekly_rate_before_tax (s 12 and Schedule 1 Part 1 clause 1: 'if nz_super_single: ... else: nz_super_partnered_weekly_rate_before_tax'); nz/statutes/new_zealand_superannuation/special_rates.yaml rule nz_super_hospital_rate_population (s 19(2): 'nz_super_single or (nz_super_in_relationship and not nz_super_has_dependent_children)'). Difference: no_partner means no co-resident spouse, civil partner or cohabiting partner. The module does not define 'single'; a person whose spouse or partner lives elsewhere (for example in care) has no partner pointer and reads single here, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/parental_leave/paid_parental_leave#input.ppl_employees_average_weekly_earnings", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "ppl_employees_average_weekly_earnings", + "module": "nz/statutes/parental_leave/paid_parental_leave.yaml", + "note": "nz/statutes/parental_leave/paid_parental_leave.yaml rule ppl_entitlement_for_employee (Parental Leave and Employment Protection Act 1987 s 71B): 'if ppl_employee_is_eligible: min(max(0, ppl_employees_average_weekly_earnings), ppl_maximum_weekly_rate)', rule period Week; module summary 'The weekly PPL rate is the lower of the employee's average weekly earnings and the maximum PPL rate'. Scale 1/52: weekly = annual / 52. Difference: reference-year employee wages averaged over 52 weeks, against the Act's average weekly earnings over a pre-leave window the module does not state; self-employment earnings are not included.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scale" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_cash_assets", + "concepts": [ + "fact:person.liquid_financial_assets" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_cash_assets", + "group_rule": "sum_over_members", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_cash_assets_within_limit (source: Social Security Act 2018 s 65(1)(b); Social Security Regulations 2018 reg 15). It holds when accommodation_supplement_cash_assets is at most accommodation_supplement_cash_asset_limit_partnered_or_with_children (16200, reg 15(1)(a)) for a family in a relationship or with dependent children, and at most accommodation_supplement_cash_asset_limit_other (8100, reg 15(1)(b)) otherwise, and accommodation_supplement_non_rate_entitlement_requirements (ss 65 to 67) requires it. The module does not define cash assets. The Act does, in s 68(2), which Schedule 2 applies for the purposes of the accommodation supplement: money saved, invested or banked with a bank or other institution; money invested in securities, bonds or debentures, or advanced on mortgage; money withdrawn from a KiwiSaver scheme; and money invested in shares in a partnership, company or other body. It excludes KiwiSaver contributions and member's interests, and anything the regulations exempt (reg 16 and Schedule 8 Part 1). Under s 69(2), which reg 15(3) restates, an applicant's assets include those of their spouse or partner, so the binding sums members' amounts onto the Family entity. Group encoding (ConceptMapping.encode_groups) applies it to the Family units the unit-construction step (microcosm.frame.unit_construction) builds under a declared benefit-unit rule, which decides who is a member; no New Zealand build applies it yet, and the country pack's rule (method card MC7) awaits the D1 method review. Differences: the concept leaves out money advanced on mortgage, withdrawn KiwiSaver money held as cash, shares in a partnership or company the person runs, which s 68(2)(a)(iv) counts as money invested in shares in a partnership or limited liability company or other incorporated or unincorporated body (a sole trader's non-cash business equity is in neither), and a member's interest in a non-KiwiSaver superannuation scheme, which Schedule 8 item 10 exempts only while a lock-in clause prevents withdrawal (Schedule 8 cl 25); the other Schedule 8 exemptions are not applied; if the unit rule makes a dependent child a Family member, the child's assets will be summed too, although s 69(2) adds only a spouse's or partner's, and if it leaves out a spouse or partner in long-term residential care, whose assets s 69(2A) still counts, their assets will be missed; and the concept is the stock at the survey reference date, while the test applies when the supplement is assessed.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_costs_are_homeownership", + "concepts": [ + "fact:household.tenure" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_costs_are_homeownership", + "group_rule": "household_value", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_entry_threshold_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6): 'if accommodation_supplement_costs_are_homeownership: accommodation_supplement_homeownership_entry_threshold_rate else: accommodation_supplement_rent_board_entry_threshold_rate'. Read as the household owning its dwelling (outright or with a mortgage). Differences: the input describes this family's own accommodation costs; household_value gives every family in an owner-occupied household true, including a second family (a boarder or other resident) whose costs are board or rent, not homeownership costs.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:household.tenure", + [ + "owned_outright", + "owned_with_mortgage" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_has_accommodation_costs", + "concepts": [ + "fact:household.tenure" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_has_accommodation_costs", + "group_rule": "household_value", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_non_rate_entitlement_requirements (source: Social Security Act 2018 ss 65 to 67): 'accommodation_supplement_has_accommodation_costs and accommodation_supplement_cash_assets_within_limit and ...'. The module computes the amount of weekly accommodation costs separately, in accommodation_supplement_weekly_accommodation_costs (source: s 65AAA definition of accommodation costs), from other inputs; nothing in the module ties this gate to that amount or says what counts as having accommodation costs. Read as any tenure other than rent_free. Differences: the input asks whether this family itself has accommodation costs; household_value gives true to every family in a rented or owned household, including a family that pays nothing toward housing, and the legal components of accommodation costs are not checked.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:household.tenure", + [ + "owned_outright", + "owned_with_mortgage", + "rented_public_authority", + "rented_nonprofit_social", + "rented_private" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_has_dependent_children", + "concepts": [ + "fact:person.age", + "fact:person.partner_person_id", + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:household.reference_person_id" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_has_dependent_children", + "group_rule": "reference_member", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_cash_assets_within_limit (source: Social Security Act 2018 s 65(1)(b); Social Security Regulations 2018 reg 15), which picks the partnered-or-with-children asset limit, and by accommodation_supplement_maximum_weekly_rate (Schedule 4 Part 7 clauses 1 to 6), where 'accommodation_supplement_in_relationship and accommodation_supplement_has_dependent_children' selects the large-family rates. Read as the family holding at least one dependent child under the country pack's declared benefit-unit rule (microcosm.frame.unit_construction), which builds each family from the relationship pointers, age and the household reference person and states who counts as a dependent child. 'Dependent child' is a Social Security Act 2018 Schedule 2 term that this module does not define and rulespec-nz at 8dc2507 does not encode, so the rule's age limit and placements are spec data, not read from the Act. Differences: the care, maintenance and financial dependence the definition turns on are not observed, so the rule's co-residence test stands in for them; and a child with no co-resident parent is placed in the household reference person's family when the rule says so, which names a caregiver the Act would identify by care.", + "relation": "approximate", + "transform": { + "feature": "has_dependent_child", + "kind": "unit_composition" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_has_two_or_more_dependent_children", + "concepts": [ + "fact:person.age", + "fact:person.partner_person_id", + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:household.reference_person_id" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_has_two_or_more_dependent_children", + "group_rule": "reference_member", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6): 'accommodation_supplement_sole_parent and accommodation_supplement_has_two_or_more_dependent_children' selects the large-family rates, and a sole parent with one dependent child takes the middle-family rates. Read as the family holding at least two dependent children under the country pack's declared benefit-unit rule (microcosm.frame.unit_construction), which builds each family from the relationship pointers, age and the household reference person and states who counts as a dependent child. Differences: as for accommodation_supplement_has_dependent_children, dependency is the rule's co-residence test, not the Act's care and maintenance.", + "relation": "approximate", + "transform": { + "feature": "two_or_more_dependent_children", + "kind": "unit_composition" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_in_relationship", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_in_relationship", + "group_rule": "reference_member", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_cash_assets_within_limit (source: Social Security Act 2018 s 65(1)(b); Social Security Regulations 2018 reg 15), which picks the partnered-or-with-children cash asset limit, and by accommodation_supplement_maximum_weekly_rate (Schedule 4 Part 7 clauses 1 to 6), which picks the family category. Read as the family's reference member having a co-resident spouse, civil partner or cohabiting partner. Differences: the Act's test for being in a relationship is not in this module; the concept is co-residence based, so a partner living elsewhere is missed and a cohabitation the Act would not treat as a relationship is counted.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_owner_weekly_required_payments", + "concepts": [ + "fact:household.mortgage_interest", + "fact:household.mortgage_principal" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_owner_weekly_required_payments", + "group_rule": "allocate_to_reference_unit", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_weekly_accommodation_costs (source: Social Security Act 2018 s 65AAA definition of accommodation costs), whose first branch returns it when accommodation_supplement_owns_premises_and_not_joint_owner_with_resident holds; the result feeds the Schedule 4 Part 7 weekly formula, so the value is weekly although the rule declares period Year. Read as the household's annual mortgage interest plus mortgage principal repaid, summed and scaled by 1/52 (one scaled_sum, since a binding takes one transform), on the family that contains the household reference person and zero on the household's other families. Differences: the module does not define the owner's payments; rates (property tax), insurance and other home payments are not added, which understates owners' costs (method card MC8); the concept is what the household repaid in the year, not what the mortgage requires; and a second family in an owner-occupied household gets zero.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "concepts": [ + "fact:household.tenure" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "group_rule": "household_value", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_weekly_accommodation_costs (source: Social Security Act 2018 s 65AAA definition of accommodation costs): 'if accommodation_supplement_owns_premises_and_not_joint_owner_with_resident: accommodation_supplement_owner_weekly_required_payments'. Read as the household owning its dwelling, outright or with a mortgage. Differences: the concept says nothing about title or co-owners, so a joint owner who lives with another owner is read as a sole owner; and household_value gives true to every family in an owner-occupied household, including a boarder family, whose owner payments are then zero because the household's payments go to the family containing the reference person.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:household.tenure", + [ + "owned_outright", + "owned_with_mortgage" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_relevant_weekly_income", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income", + "fact:person.interest_income", + "fact:person.dividend_income", + "fact:person.rental_income", + "fact:person.private_pension_income" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_relevant_weekly_income", + "group_rule": "sum_over_members", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_non_beneficiary_income_reduction (source: Social Security Regulations 2018 reg 18): 'if accommodation_supplement_non_beneficiary: max(0, accommodation_supplement_relevant_weekly_income - accommodation_supplement_non_beneficiary_income_cutout_weekly_amount) * accommodation_supplement_non_beneficiary_income_reduction_rate'. Read as the family's annual gross income from employment, non-farm and farm self-employment, interest, dividends, rent and private pensions, summed over its members and scaled by 1/52. Differences: the module does not define relevant income and reg 18's definition is not in it; every member's income is summed, including a dependent child's, and whether reg 18 counts a child's income is not stated here; realized capital gains are left out; public pension income is left out: it is a donor program receipt, which transport drops, and New Zealand Superannuation receipt is the receipt layer's model state, which a non-beneficiary family lacks by construction; and annual flows averaged over 52 weeks stand in for the weekly income at assessment.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_rent_paid_to_kainga_ora", + "concepts": [ + "fact:household.tenure" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_rent_paid_to_kainga_ora", + "group_rule": "household_value", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_social_housing_exclusion_not_applies (source: Social Security Act 2018 s 66): 'not accommodation_supplement_rent_paid_to_kainga_ora and not accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing and not accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown'. The tenure concept's rented_public_authority category names NZ Kainga Ora as its public landlord. The input is narrower: it is one landlord, not any public authority, and it is this family's rent, while household_value gives true to every family in the household, including one that does not itself pay rent to Kainga Ora.", + "relation": "narrow_match", + "transform": { + "clauses": [ + [ + "fact:household.tenure", + [ + "rented_public_authority" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "concepts": [ + "fact:household.tenure" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "group_rule": "household_value", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_social_housing_exclusion_not_applies (source: Social Security Act 2018 s 66), alongside the Kainga Ora and concessionary-mortgage exclusions. The tenure concept's rented_nonprofit_social category names the NZ registered community housing provider as its non-profit social landlord. The input is narrower: a registered provider and a social-housing tenancy, and this family's own rent, while household_value gives true to every family in the household.", + "relation": "narrow_match", + "transform": { + "clauses": [ + [ + "fact:household.tenure", + [ + "rented_nonprofit_social" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_sole_parent", + "concepts": [ + "fact:person.age", + "fact:person.partner_person_id", + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:household.reference_person_id" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_sole_parent", + "group_rule": "reference_member", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_maximum_weekly_rate (source: Social Security Act 2018 Schedule 4 Part 7 clauses 1 to 6), which gives a sole parent with two or more dependent children the large-family rates and one with one dependent child the middle-family rates. Read as the family having one adult (no partner in it) and at least one dependent child under the country pack's declared benefit-unit rule (microcosm.frame.unit_construction), which builds each family from the relationship pointers, age and the household reference person and states who counts as a dependent child. Differences: the module does not define a sole parent; the concept pointers are co-residence based, so a parent whose partner lives elsewhere counts here, and so does a family head with no partner who cares for a child the rule places with them (for example a household reference person and a younger relative with no co-resident parent).", + "relation": "approximate", + "transform": { + "feature": "sole_parent", + "kind": "unit_composition" + } + }, + { + "canonical_input": "nz:statutes/social_security/accommodation_supplement/core#input.accommodation_supplement_weekly_rent_paid", + "concepts": [ + "fact:household.rent" + ], + "engine_entity": "Family", + "engine_input": "accommodation_supplement_weekly_rent_paid", + "group_rule": "allocate_to_reference_unit", + "module": "nz/statutes/social_security/accommodation_supplement/core.yaml", + "note": "Consumed in nz/statutes/social_security/accommodation_supplement/core.yaml by accommodation_supplement_weekly_accommodation_costs (source: Social Security Act 2018 s 65AAA definition of accommodation costs), whose last branch returns accommodation_supplement_weekly_rent_paid when the family is not an owner, a joint owner with a resident, an additional resident in social housing or a boarder; the result feeds the Schedule 4 Part 7 weekly formula against weekly maximum rates (the module's tests feed weekly rents such as 700). Scale 1/52 turns the concept's annual contract rent into an average weekly amount; the rule declares period Year but the value is weekly. Differences: the concept is contract rent for the whole dwelling before housing subsidy, excluding separately billed utilities and service charges, and s 65AAA's own definition of rent is not in this module; the household amount goes to the family containing the household reference person, so another family in the household that pays the tenant gets zero here (in the rule's terms it pays board or contributions, which stay uncovered).", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scale" + } + }, + { + "canonical_input": "nz:statutes/social_security/disability_allowance/core#input.disability_allowance_dependent_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "disability_allowance_dependent_children_count", + "module": "nz/statutes/social_security/disability_allowance/core.yaml", + "note": "Read by disability_allowance_income_limit (source 'Social Security Act 2018 Schedule 5 Part 3'). 'disability_allowance_dependent_children_count <= 1' picks the sole-parent one-child limit (clause 13) over clause 14, and '== 0' is one condition of the 16-or-17 single limit (clause 10). The binding counts co-resident persons aged 17 or under who name this person as a parent. The Act's dependent child is a legal status this module does not define. Financial dependency and care arrangements are not in the concepts, and the age-17 cut-off is this mapping's stand-in, not a figure read from the module. Children in the person's care who do not name them as a parent are missed.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:statutes/social_security/disability_allowance/core#input.disability_allowance_person_age_years", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "disability_allowance_person_age_years", + "module": "nz/statutes/social_security/disability_allowance/core.yaml", + "note": "Read by disability_allowance_income_limit (source 'Social Security Act 2018 Schedule 5 Part 3') for a single applicant who is not a sole parent: 'disability_allowance_person_age_years >= disability_allowance_income_limit_young_single_minimum_age and disability_allowance_person_age_years <= disability_allowance_income_limit_young_single_maximum_age and disability_allowance_dependent_children_count == 0' (parameters 16 and 17, clause 10) selects the 16-or-17 single income limit. The input is the applicant's age when the rule is applied. The concept is age in completed years at the survey reference date, so a birthday between the two dates moves it by one.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/disability_allowance/core#input.disability_allowance_person_in_relationship", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "disability_allowance_person_in_relationship", + "module": "nz/statutes/social_security/disability_allowance/core.yaml", + "note": "Read by disability_allowance_income_limit (source 'Social Security Act 2018 Schedule 5 Part 3'): 'if disability_allowance_person_in_relationship: disability_allowance_income_limit_partnered' (clause 12). The input is the Act's legal relationship status. The concept flags a co-resident spouse, civil partner or cohabiting partner at the survey reference date. It does not apply the Act's tests for a relationship, and it misses a partner the Act would count who does not live in the household.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/disability_allowance/core#input.disability_allowance_person_is_sole_parent", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "disability_allowance_person_is_sole_parent", + "module": "nz/statutes/social_security/disability_allowance/core.yaml", + "note": "Read by disability_allowance_income_limit (source 'Social Security Act 2018 Schedule 5 Part 3') only in the branch where disability_allowance_person_in_relationship is false: 'if disability_allowance_person_is_sole_parent: if disability_allowance_dependent_children_count <= 1: disability_allowance_income_limit_sole_parent_one_child else: disability_allowance_income_limit_sole_parent_other' (clauses 13 and 14). The rule supplies the no-partner condition itself, so the binding flags a parent (birth, adoptive or step) of a co-resident child aged 17 or under. The Act's sole-parent status is a legal status this module does not define, and the co-resident parent flag stands in for it. The age-17 cut-off is this mapping's choice, not a figure read from the module. A caregiver who is not a parent of the child is not flagged.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/disability_allowance/core#input.disability_allowance_requires_ongoing_support_for_everyday_functions", + "concepts": [ + "fact:person.has_disability" + ], + "engine_entity": "Person", + "engine_input": "disability_allowance_requires_ongoing_support_for_everyday_functions", + "module": "nz/statutes/social_security/disability_allowance/core.yaml", + "note": "Read by disability_allowance_functional_need_requirement (source 'Social Security Act 2018 s 85(2)(a)'): 'disability_allowance_requires_ongoing_support_for_everyday_functions or disability_allowance_requires_ongoing_supervision_or_treatment_by_health_practitioner'. The concept is a functional survey measure (difficulty with everyday activities, as the source survey's functional-difficulty items record it). It stands in for the Act's need for ongoing support with everyday functions, which the module takes as a factual input and does not define. Difficulty with an activity is not the same as needing ongoing support. The module's separate six-month duration test reads disability_allowance_expected_disability_duration_months, which stays uncovered.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.jobseeker_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_applicant_age", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "Read by jobseeker_age_requirement (source 'Social Security Act 2018 s 23'): 'jobseeker_applicant_age >= jobseeker_minimum_age_without_dependent_child' (18, s 23(a)) without a dependent child, or '>= jobseeker_minimum_age_with_dependent_child' (20, s 23(b)) with one. The input is the applicant's age when the rule is applied. The concept is age in completed years at the survey reference date, so a birthday between the two dates moves it by one.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.jobseeker_full_time_student", + "concepts": [ + "fact:person.enrolled_full_time" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_full_time_student", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "Read by jobseeker_not_ineligible (source 'Social Security Act 2018 ss 25 and 26'): '(not jobseeker_full_time_student or jobseeker_section_25_discretionary_student_eligibility) and not jobseeker_unemployed_due_to_strike and not jobseeker_unemployed_or_on_leave_for_employment_related_training'. The concept is full-time enrolment in any education programme, as the programme defines it, school included. The input is the Act's full-time student status, which the module does not define, so the programmes and study loads that count may differ.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.jobseeker_has_dependent_child", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_has_dependent_child", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "Read by jobseeker_age_requirement (source 'Social Security Act 2018 s 23'): 'not jobseeker_has_dependent_child and jobseeker_applicant_age >= jobseeker_minimum_age_without_dependent_child' (18) or 'jobseeker_has_dependent_child and jobseeker_applicant_age >= jobseeker_minimum_age_with_dependent_child' (20). The binding flags a parent (birth, adoptive or step) of a co-resident child aged 17 or under. The Act's dependent child is a legal status this module does not define. Financial dependency and care arrangements are not in the concepts, and the age-17 cut-off is this mapping's stand-in, not a figure read from the module. Caregivers who are not a parent of the child are not flagged.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.main_benefit_receiving_new_zealand_superannuation", + "concepts": [ + "fact:person.public_pension_income" + ], + "engine_entity": "Person", + "engine_input": "main_benefit_receiving_new_zealand_superannuation", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "Consumed in nz/statutes/social_security/main_benefits/entitlement.yaml by main_benefit_concurrent_benefit_limit (source: Social Security Act 2018 s 18), whose formula includes 'and not main_benefit_receiving_new_zealand_superannuation'. Read as positive(public_pension_income): the concept's definition names NZ Superannuation among the social-insurance or state old-age pensions it holds. Differences: the concept also holds any other such pension (an overseas state pension, or a Veteran's Pension if the source records it as a public pension), so the flag can be true for someone who receives no NZ Superannuation. s 18 bars receiving a main benefit and NZ Superannuation at the same time, while the concept counts receipt at any time in the reference year. The concept's transport rule is drop, so on a transported frame encode skips this binding; the engine has no default for an absent input, so a transport run's input closure (build/nz/axiom_input_closure.json) feeds it instead. The binding executes only on frames built from NZ's own data.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_applicant_age", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_age_requirement (Social Security Act 2018 s 29(d)): 'sole_parent_applicant_age >= sole_parent_minimum_age', parameter 20. Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_caring_for_dependent_children_under_age_limit", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_caring_for_dependent_children_under_age_limit", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_child_requirement (Social Security Act 2018 ss 30 and 31): 'sole_parent_is_mother_or_father_or_child_regarded_as_child and sole_parent_caring_for_dependent_children_under_age_limit >= sole_parent_minimum_dependent_children' (minimum 1; the test file feeds it counts 0 and 1). The age limit is sole_parent_dependent_child_age_limit = 14 (ss 30 and 33), and rule sole_parent_support_expires_when_youngest_child_turns_age_limit ends support at 'sole_parent_youngest_dependent_child_age >= sole_parent_dependent_child_age_limit', so 'under the age limit' is 13 or under (max_age 13). Difference: counts co-resident persons aged 13 or under who name this person as a parent (birth, adoptive or step); the law counts dependent children the person is caring for, which adds children cared for without a parent pointer and drops children who are not dependent; each parent of a couple gets the count.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 13 + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_is_mother_or_father_or_child_regarded_as_child", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_child_requirement (Social Security Act 2018 ss 30 and 31): 'sole_parent_is_mother_or_father_or_child_regarded_as_child and sole_parent_caring_for_dependent_children_under_age_limit >= sole_parent_minimum_dependent_children'. Difference: parent pointers cover birth, adoptive and step parents of co-resident children; a child the law regards as the person's own without a parent pointer is missed, and whether the Act counts a step-parent as 'mother or father' is not stated in the module. max_child_age 17 reads 'dependent child' as under 18 (not encoded in the module); the conjoined count binding applies the under-14 limit, so the conjunction is unchanged by this choice.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_is_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_is_single", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_relationship_requirement (Social Security Act 2018 s 30): 'sole_parent_is_single or sole_parent_spouse_or_partner_died or sole_parent_marriage_or_civil_union_dissolved or sole_parent_living_apart_and_lost_or_lacks_partner_support or ...'. Difference: no_partner means no co-resident spouse, civil partner or cohabiting partner. The module does not define 'single'; a person whose spouse or partner lives elsewhere (for example in care) has no partner pointer and reads single here, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_marriage_or_civil_union_dissolved", + "concepts": [ + "fact:person.legal_marital_status" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_marriage_or_civil_union_dissolved", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_relationship_requirement (Social Security Act 2018 s 30): '... or sole_parent_marriage_or_civil_union_dissolved or ...'. The concept's 'married' includes civil unions, so 'divorced' covers a dissolved civil union when the source codes it so. Difference: legal status at the reference date; a person whose marriage was dissolved and who has since remarried reads false, and 'separated' (not dissolved) reads false.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:person.legal_marital_status", + [ + "divorced" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.sole_parent_spouse_or_partner_died", + "concepts": [ + "fact:person.legal_marital_status" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_spouse_or_partner_died", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule sole_parent_relationship_requirement (Social Security Act 2018 s 30): '... or sole_parent_spouse_or_partner_died or ...'. Difference: 'widowed' is legal marital status, so the death of an unmarried (de facto) partner is missed; a widowed person who has since remarried reads false.", + "relation": "approximate", + "transform": { + "clauses": [ + [ + "fact:person.legal_marital_status", + [ + "widowed" + ] + ] + ], + "kind": "predicate" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.supported_living_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "supported_living_applicant_age", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule supported_living_restricted_or_blind_age_requirement (Social Security Act 2018 s 34(c)): 'supported_living_applicant_age >= supported_living_restricted_or_blind_minimum_age', parameter 16. Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "concepts": [ + "fact:person.has_disability" + ], + "engine_entity": "Person", + "engine_input": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule supported_living_restricted_work_capacity (Social Security Act 2018 s 35): 'supported_living_capacity_restricted_by_health_condition_injury_or_disability and supported_living_restricted_work_capacity_permanent and supported_living_restricted_work_capacity_severe'; the module summary says administrative medical certificates, MSD satisfaction and other external determinations remain factual inputs. Difference: has_disability is a functional survey measure (difficulty with everyday activities, as survey functional-difficulty items record it); the input is a restriction of capacity for work by a health condition, injury or disability. The two overlap without either containing the other: a functional difficulty need not restrict work capacity, and a work-restricting condition need not produce a difficulty the survey records. Permanence (supported_living_restricted_work_capacity_permanent, from the expected-duration and terminal-condition inputs) and severity (supported_living_restricted_work_capacity_severe: supported_living_regular_open_employment_capacity_hours_per_week < 15) are separate derived conditions whose inputs this binding does not supply.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.supported_living_caring_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "supported_living_caring_applicant_age", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule supported_living_caring_age_requirement (Social Security Act 2018 s 40(1)(c)): age >= supported_living_caring_minimum_age_without_dependent_child (18) or, with a dependent child, >= supported_living_caring_minimum_age_with_dependent_child (20). Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/entitlement#input.supported_living_caring_applicant_has_dependent_child", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "supported_living_caring_applicant_has_dependent_child", + "module": "nz/statutes/social_security/main_benefits/entitlement.yaml", + "note": "nz/statutes/social_security/main_benefits/entitlement.yaml rule supported_living_caring_age_requirement (Social Security Act 2018 s 40(1)(c)): '(not supported_living_caring_applicant_has_dependent_child and age >= ..._without_dependent_child) or (supported_living_caring_applicant_has_dependent_child and age >= ..._with_dependent_child)'. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. max_child_age 17 is this mapping's reading of 'dependent child' as under 18; the module does not encode the definition's age limit or its care and financial-dependence tests, and dependent children with no parent pointer to the person (or living elsewhere) are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.jobseeker_support_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_support_applicant_age", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Read by jobseeker_support_gross_weekly_rate (source 'Social Security Act 2018 Schedule 4 Part 1 clauses 1 and 3'). For a single applicant with no dependent children, 'jobseeker_support_applicant_age < jobseeker_support_under_20_living_with_parent_age_limit' (clause 1(a)) and 'jobseeker_support_applicant_age < jobseeker_support_under_25_without_children_age_limit' (clause 1(b)) select the weekly rate. The input is the applicant's age when the rule is applied. The concept is age in completed years at the survey reference date, so a birthday between the two dates moves it by one.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.jobseeker_support_dependent_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_support_dependent_children_count", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Read by jobseeker_support_gross_weekly_rate (source 'Social Security Act 2018 Schedule 4 Part 1 clauses 1 and 3') and jobseeker_support_weekly_income_test_reduction ('Schedule 2 Income Tests 1, 3, and 4; Schedule 4 Part 1 clauses 1 and 3'). Both test only 'jobseeker_support_dependent_children_count >= 1', which chooses the with-children rates and income tests. The binding counts co-resident persons aged 17 or under who name this person as a parent. The Act's dependent child is a legal status this module does not define. Financial dependency and care arrangements are not in the concepts, and the age-17 cut-off is this mapping's stand-in, not a figure read from the module. Children in the person's care who do not name them as a parent are missed.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.jobseeker_support_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_support_single", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Read by jobseeker_support_gross_weekly_rate (source 'Social Security Act 2018 Schedule 4 Part 1 clauses 1 and 3') and jobseeker_support_weekly_income_test_reduction ('Schedule 2 Income Tests 1, 3, and 4'). 'if jobseeker_support_single:' selects the single-person rates and income tests; otherwise the partnered branches apply. The input is the Act's single status. The concept flags a person with no co-resident spouse, civil partner or cohabiting partner at the survey reference date. It does not apply the Act's tests for a relationship, and the two differ when a partner the Act would count lives elsewhere.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.jobseeker_support_total_income", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income", + "fact:person.interest_income", + "fact:person.dividend_income", + "fact:person.rental_income", + "fact:person.private_pension_income" + ], + "engine_entity": "Person", + "engine_input": "jobseeker_support_total_income", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Consumed in nz/statutes/social_security/main_benefits/rates.yaml by jobseeker_support_weekly_income_test_reduction (source: Social Security Act 2018 Schedule 2 Income Tests 1, 3 and 4; Schedule 4 Part 1), which abates the Jobseeker Support rate above main_benefit_income_test_lower_weekly_threshold. Read as the person's own annual gross income from employment, non-farm and farm self-employment, interest, dividends, rent and private pensions, summed and scaled by 1/52. Differences: the module does not define the income it tests; the input is a person-level value, so a partner's income is not added, and whether the test reads a couple's joint income is not stated in this module; main-benefit and New Zealand Superannuation amounts are model state, not concepts, so neither is in the sum, and public pension income, a donor program receipt that transport drops, is left out; realized capital gains are left out; and annual flows averaged over 52 weeks stand in for the weekly income at assessment.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.main_benefit_income_test_assessable_income", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income", + "fact:person.interest_income", + "fact:person.dividend_income", + "fact:person.rental_income", + "fact:person.private_pension_income" + ], + "engine_entity": "Person", + "engine_input": "main_benefit_income_test_assessable_income", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Consumed in nz/statutes/social_security/main_benefits/rates.yaml by main_benefit_income_test_1_weekly_reduction to main_benefit_income_test_4_weekly_reduction (source: Social Security Act 2018 Schedule 2 definitions of Income Tests 1 to 4), which abate above main_benefit_income_test_lower_weekly_threshold. Read as the person's own annual gross income from employment, non-farm and farm self-employment, interest, dividends, rent and private pensions, summed and scaled by 1/52. Differences: the module does not define the income it tests; the input is a person-level value, so a partner's income is not added, and whether the test reads a couple's joint income is not stated in this module; main-benefit and New Zealand Superannuation amounts are model state, not concepts, so neither is in the sum, and public pension income, a donor program receipt that transport drops, is left out; realized capital gains are left out; and annual flows averaged over 52 weeks stand in for the weekly income at assessment.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.sole_parent_support_total_income", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income", + "fact:person.interest_income", + "fact:person.dividend_income", + "fact:person.rental_income", + "fact:person.private_pension_income" + ], + "engine_entity": "Person", + "engine_input": "sole_parent_support_total_income", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Consumed in nz/statutes/social_security/main_benefits/rates.yaml by sole_parent_support_income_for_income_test (source: Social Security Act 2018 Schedule 4 Part 2 clauses 1 and 2), 'max(0, sole_parent_support_total_income - sole_parent_support_income_disregarded_for_childcare)'. Read as the person's own annual gross income from employment, non-farm and farm self-employment, interest, dividends, rent and private pensions, summed and scaled by 1/52. Differences: the module does not define the income it tests; the input is a person-level value, so a partner's income is not added, and whether the test reads a couple's joint income is not stated in this module; main-benefit and New Zealand Superannuation amounts are model state, not concepts, so neither is in the sum, and public pension income, a donor program receipt that transport drops, is left out; realized capital gains are left out; and annual flows averaged over 52 weeks stand in for the weekly income at assessment.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_blind_average_weekly_earnings", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "supported_living_blind_average_weekly_earnings", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rule supported_living_blind_subsidy_unconstrained_weekly_amount (Social Security Act 2018 Schedule 4 Part 3 clause 3): 'max(0, supported_living_blind_average_weekly_earnings) * supported_living_blind_subsidy_rate' (0.25), then capped in supported_living_blind_subsidy_weekly_amount. Weekly by name and by the module's weekly rate schedules, although the rule's period field says Year. Scale 1/52: weekly = annual / 52. Difference: the concept is employee wages over the reference year; the averaging period the Act uses is not in the module, and self-employment earnings are not included.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scale" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_blind_beneficiary_employed", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "supported_living_blind_beneficiary_employed", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rule supported_living_blind_subsidy_weekly_amount (Social Security Act 2018 Schedule 4 Part 3 clauses 3 and 4): 'if supported_living_payment_totally_blind and supported_living_blind_beneficiary_employed: min(...)'. Difference: positive employee wages at any time in the reference year stands in for being in employment when the subsidy is assessed; a self-employed blind beneficiary reads false.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_payment_applicant_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "supported_living_payment_applicant_age", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rule supported_living_payment_schedule_weekly_rate_before_residential_care_halving (Social Security Act 2018 Schedule 4 Part 3 clauses 1 and 7): 'supported_living_payment_applicant_age < supported_living_payment_single_under_18_age_limit' (18) selects the single under-18 rate. Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_payment_beneficiary_personal_earnings", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "supported_living_payment_beneficiary_personal_earnings", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rule supported_living_payment_income_disregard_for_restricted_or_blind (Social Security Act 2018 Schedule 4 Part 3 clause 1): 'if supported_living_payment_restricted_or_blind: if supported_living_payment_totally_blind: max(0, supported_living_payment_beneficiary_personal_earnings) else: min(max(0, supported_living_payment_restricted_or_blind_earned_income_disregard_maximum), max(0, ..._personal_earnings))'. The cap parameter is 20 and the result offsets income tested against main_benefit_income_test_lower_weekly_threshold (160), and the module summary says it encodes weekly rate schedules, so the input is weekly although the rule's period field says Year. Scale 1/52: weekly = annual / 52. Difference: the concept is employee wages only; 'personal earnings' is not defined in the module and may include self-employment earnings (input broader); an annual average stands in for the week's earnings.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scale" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_payment_dependent_children_count", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "supported_living_payment_dependent_children_count", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rule supported_living_payment_schedule_weekly_rate_before_residential_care_halving (Social Security Act 2018 Schedule 4 Part 3 clauses 1 and 7): 'if supported_living_payment_dependent_children_count >= 1: ..._with_children_weekly_rate'. Difference: counts co-resident persons aged 17 or under naming this person as a parent (birth, adoptive or step); max_age 17 is this mapping's reading of 'dependent child' as under 18, which the module does not encode, and dependent children with no parent pointer to the person are missed.", + "relation": "approximate", + "transform": { + "kind": "coresident_child_count", + "max_age": 17 + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_payment_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "supported_living_payment_single", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "nz/statutes/social_security/main_benefits/rates.yaml rules supported_living_payment_schedule_weekly_rate_before_residential_care_halving (Schedule 4 Part 3 clauses 1 and 7: 'if supported_living_payment_single: ...'), supported_living_payment_full_income_test_weekly_reduction ('not supported_living_payment_single and ...') and supported_living_blind_subsidy_single_person_increase_if_applicable (clause 2). Difference: no_partner means no co-resident spouse, civil partner or cohabiting partner. The module does not define 'single'; a person whose spouse or partner lives elsewhere (for example in care) has no partner pointer and reads single here, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/main_benefits/rates#input.supported_living_payment_total_income", + "concepts": [ + "fact:person.employment_income", + "fact:person.nonfarm_self_employment_income", + "fact:person.farm_self_employment_income", + "fact:person.interest_income", + "fact:person.dividend_income", + "fact:person.rental_income", + "fact:person.private_pension_income" + ], + "engine_entity": "Person", + "engine_input": "supported_living_payment_total_income", + "module": "nz/statutes/social_security/main_benefits/rates.yaml", + "note": "Consumed in nz/statutes/social_security/main_benefits/rates.yaml by supported_living_payment_income_for_income_test (source: Social Security Act 2018 Schedule 4 Part 3 clause 1), 'max(0, supported_living_payment_total_income - supported_living_payment_income_disregard_for_restricted_or_blind)'. Read as the person's own annual gross income from employment, non-farm and farm self-employment, interest, dividends, rent and private pensions, summed and scaled by 1/52. Differences: the module does not define the income it tests; the input is a person-level value, so a partner's income is not added, and whether the test reads a couple's joint income is not stated in this module; main-benefit and New Zealand Superannuation amounts are model state, not concepts, so neither is in the sum, and public pension income, a donor program receipt that transport drops, is left out; realized capital gains are left out; and annual flows averaged over 52 weeks stand in for the weekly income at assessment.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scaled_sum" + } + }, + { + "canonical_input": "nz:statutes/social_security/orphans_unsupported_child_benefit/core#input.caregiver_age_years", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "caregiver_age_years", + "module": "nz/statutes/social_security/orphans_unsupported_child_benefit/core.yaml", + "note": "Consumed in nz/statutes/social_security/orphans_unsupported_child_benefit/core.yaml by is_eligible_caregiver (source: Social Security Act 2018 s 44, excerpt 'P is aged 18 years or over'): 'caregiver_age_years >= ocb_caregiver_minimum_age and caregiver_is_not_a_parent_of_child and ...'. The module places one caregiver-child pair on a Person row (its tests set both caregiver_age_years and child_age_years on one request); this binding reads the row as the caregiver P, so it is the person's own age. Differences: completed years at the survey reference date versus age in the benefit week the rule evaluates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/winter_energy_payment/core#input.winter_energy_payment_has_dependent_children", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "winter_energy_payment_has_dependent_children", + "module": "nz/statutes/social_security/winter_energy_payment/core.yaml", + "note": "nz/statutes/social_security/winter_energy_payment/core.yaml rule winter_energy_payment_rate_per_winter_period (Social Security Act 2018 Schedule 4 Part 8): 'if winter_energy_payment_single and not winter_energy_payment_has_dependent_children: ...'. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. Schedule 4 Part 8 clause 2 defines dependent child for this Part (the repository's corpus summary of Part 8; the module summary names Part 8's dependent-child category), and the module does not encode that definition, so max_child_age 17 is this mapping's reading of 'dependent child' as under 18. Dependent children with no parent pointer to the person (or living elsewhere) are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/winter_energy_payment/core#input.winter_energy_payment_person_age", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "winter_energy_payment_person_age", + "module": "nz/statutes/social_security/winter_energy_payment/core.yaml", + "note": "nz/statutes/social_security/winter_energy_payment/core.yaml rules winter_energy_payment_aged_65_or_over_for_residential_care (Social Security Act 2018 s 72(2)(c): '>= winter_energy_payment_residential_care_older_age_threshold', 65) and winter_energy_payment_aged_50_to_64_for_residential_care (s 72(2)(ca): 50 to 64). Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/winter_energy_payment/core#input.winter_energy_payment_receiving_new_zealand_superannuation", + "concepts": [ + "fact:person.public_pension_income" + ], + "engine_entity": "Person", + "engine_input": "winter_energy_payment_receiving_new_zealand_superannuation", + "module": "nz/statutes/social_security/winter_energy_payment/core.yaml", + "note": "Consumed in nz/statutes/social_security/winter_energy_payment/core.yaml by winter_energy_payment_receiving_qualifying_benefit (source: Social Security Act 2018 s 71 and s 72(1)(a)), whose formula includes 'or winter_energy_payment_receiving_new_zealand_superannuation'. Read as positive(public_pension_income); the concept's definition names NZ Superannuation. Differences: other old-age pensions the concept holds also set the flag, such as an overseas state pension, or a Veteran's Pension recorded as a public pension (the rule reads Veteran's Pension through its own input). s 72 entitles for days in the winter period on which a qualifying benefit is received, while the concept counts receipt at any time in the reference year. Transport drops the concept, so the binding executes only on frames built from NZ's own data.", + "relation": "approximate", + "transform": { + "kind": "positive" + } + }, + { + "canonical_input": "nz:statutes/social_security/winter_energy_payment/core#input.winter_energy_payment_single", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "winter_energy_payment_single", + "module": "nz/statutes/social_security/winter_energy_payment/core.yaml", + "note": "nz/statutes/social_security/winter_energy_payment/core.yaml rule winter_energy_payment_rate_per_winter_period (Social Security Act 2018 Schedule 4 Part 8): 'if winter_energy_payment_single and not winter_energy_payment_has_dependent_children: ..._single_no_dependent_children_rate_per_winter_period else: ..._other_rate_per_winter_period'. Difference: no_partner means no co-resident spouse, civil partner or cohabiting partner. The module does not define 'single'; a person whose spouse or partner lives elsewhere (for example in care) has no partner pointer and reads single here, and a survey-recorded cohabitant may not meet the Act's relationship test.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "no_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/winter_energy_payment/core#input.winter_energy_payment_valid_election_not_to_receive_in_force", + "concepts": [ + "fact:person.take_up_seed" + ], + "engine_entity": "Person", + "engine_input": "winter_energy_payment_valid_election_not_to_receive_in_force", + "module": "nz/statutes/social_security/winter_energy_payment/core.yaml", + "note": "Consumed in nz/statutes/social_security/winter_energy_payment/core.yaml by winter_energy_payment_not_elected_out (source: Social Security Act 2018 s 73): 'not winter_energy_payment_valid_election_not_to_receive_in_force'. An opt-out election, drawn like policyengine-uk's child_benefit_opts_out (TakeUpThreshold uk.child_benefit_opt_out): true when the person's nz.winter_energy_payment_opt_out draw from the persistent seed falls below an opt-out rate supplied at encode time. Differences: the value is imputed, not an observed election. s 73 requires both spouses or partners to elect for a relationship-rate payment, but each partner gets an independent draw, so partners can disagree.", + "relation": "approximate", + "transform": { + "kind": "take_up_threshold", + "program": "nz.winter_energy_payment_opt_out" + } + }, + { + "canonical_input": "nz:statutes/social_security/youth_young_parent_payment/core#input.young_person_age_years", + "concepts": [ + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "young_person_age_years", + "module": "nz/statutes/social_security/youth_young_parent_payment/core.yaml", + "note": "nz/statutes/social_security/youth_young_parent_payment/core.yaml rules youth_payment_entitled (Social Security Act 2018 s 49: 'young_person_age_years >= yp_youth_min_age and young_person_age_years <= yp_youth_max_age', 16 and 17), young_parent_payment_entitled (s 56: age bands 16-17, 18-19 via ypp_category_ii_min_age 18 and ypp_max_age 19) and applicable_weekly_rate (Schedule 4 Part 6 items 1-5). Difference: the concept is age in completed years at the survey reference date; the rule reads the person's age when the entitlement is assessed, which the module does not date, so ages near the threshold can differ by the gap between the two dates.", + "relation": "approximate", + "transform": { + "kind": "identity" + } + }, + { + "canonical_input": "nz:statutes/social_security/youth_young_parent_payment/core#input.young_person_has_dependent_child", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "young_person_has_dependent_child", + "module": "nz/statutes/social_security/youth_young_parent_payment/core.yaml", + "note": "nz/statutes/social_security/youth_young_parent_payment/core.yaml rule youth_payment_entitled (Social Security Act 2018 s 49; excerpt 'P has no dependent children'): '... and not young_person_has_dependent_child and ...'. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. max_child_age 17 is this mapping's reading of 'dependent child' as under 18; the module does not encode the definition's age limit or its care and financial-dependence tests, and dependent children with no parent pointer to the person (or living elsewhere) are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/youth_young_parent_payment/core#input.young_person_has_dependent_child_for_part6_rates", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "young_person_has_dependent_child_for_part6_rates", + "module": "nz/statutes/social_security/youth_young_parent_payment/core.yaml", + "note": "nz/statutes/social_security/youth_young_parent_payment/core.yaml rule applicable_weekly_rate (Social Security Act 2018 Schedule 4 Part 6 items 1-5): 'if young_person_has_dependent_child_for_part6_rates: yp_rate_..._with_child'; excerpt 'In this Part, dependent child (as defined in Schedule 2) excludes a child in respect of whom an orphan's benefit or an unsupported child's benefit is being paid'. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. max_child_age 17 is this mapping's reading of 'dependent child' as under 18; the module does not encode the definition's age limit or its care and financial-dependence tests, and dependent children with no parent pointer to the person (or living elsewhere) are missed. The clause 6 exclusion depends on another program's payment and cannot be applied from the concepts.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/social_security/youth_young_parent_payment/core#input.young_person_is_in_relationship", + "concepts": [ + "fact:person.partner_person_id" + ], + "engine_entity": "Person", + "engine_input": "young_person_is_in_relationship", + "module": "nz/statutes/social_security/youth_young_parent_payment/core.yaml", + "note": "nz/statutes/social_security/youth_young_parent_payment/core.yaml rules applicable_weekly_rate (Social Security Act 2018 Schedule 4 Part 6 items 1-5: 'if young_person_is_in_relationship: ... yp_rate_partnered_...') and base_weekly_payment_after_income_test (subparts 1 and 4). Difference: has_partner means a co-resident spouse, civil partner or cohabiting partner; a partner living elsewhere is missed, and a survey-recorded cohabitant may not meet the Act's relationship test. The s 49/56 'is or has been in a relationship' test uses the separate input young_person_has_never_been_in_relationship, left unbound.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "role": "has_partner" + } + }, + { + "canonical_input": "nz:statutes/social_security/youth_young_parent_payment/core#input.young_person_is_parent_or_step_parent_of_dependent_child", + "concepts": [ + "fact:person.parent_1_person_id", + "fact:person.parent_2_person_id", + "fact:person.age" + ], + "engine_entity": "Person", + "engine_input": "young_person_is_parent_or_step_parent_of_dependent_child", + "module": "nz/statutes/social_security/youth_young_parent_payment/core.yaml", + "note": "nz/statutes/social_security/youth_young_parent_payment/core.yaml rule young_parent_payment_entitled (Social Security Act 2018 s 56; excerpts 'P is a parent or step-parent of at least 1 dependent child' and 'a dependent child of a young person's spouse or partner must also be treated as a dependent child of the young person'). Parent pointers cover birth, adoptive and step parents; a partner's child counts only when the survey records the young person as that child's (step) parent. Difference: flags a person named as parent (birth, adoptive or step) by a co-resident person aged 17 or under. max_child_age 17 is this mapping's reading of 'dependent child' as under 18; the module does not encode the definition's age limit or its care and financial-dependence tests, and dependent children with no parent pointer to the person (or living elsewhere) are missed.", + "relation": "approximate", + "transform": { + "kind": "relationship_role", + "max_child_age": 17, + "role": "parent_of_coresident_child" + } + }, + { + "canonical_input": "nz:statutes/student_loan/repayments#input.student_loan_weekly_earnings", + "concepts": [ + "fact:person.employment_income" + ], + "engine_entity": "Person", + "engine_input": "student_loan_weekly_earnings", + "module": "nz/statutes/student_loan/repayments.yaml", + "note": "nz/statutes/student_loan/repayments.yaml rule student_loan_weekly_deduction (Student Loan Scheme Act 2011 s 37; IRD excerpt \"You repay 12% of every dollar you earn over the pay period repayment threshold when you use a tax code with 'SL' for your main job (M SL or ME SL).\"): 'max(0, student_loan_weekly_earnings - student_loan_weekly_repayment_threshold) * student_loan_repayment_rate', rule period Week; student_loan_weekly_repayment_threshold is 464, one fifty-second of the 24,128 annual threshold (s 37(4)(a)). Scale 1/52: weekly = annual / 52. Difference: annual gross wages averaged over 52 weeks, against salary or wages in a weekly pay period from the main job; for part-year workers or several jobs the averaged figure and the pay-period figure differ, and the weekly threshold makes that difference non-linear. The module has no borrower input, so student_loan_weekly_deduction is computed for everyone whose earnings are fed; a build must restrict it to student loan borrowers, whom the concepts do not identify.", + "relation": "approximate", + "transform": { + "factor": 0.019230769230769232, + "kind": "scale" + } + } + ], + "engine": "axiom:nz", + "engine_version": "6fe181fc4c65763150fe97501ef3443774e64869", + "entity_correspondence": { + "household": "Household", + "person": "Person" + }, + "format": "microcosm.concept_mapping.v1", + "input_declaration": "usage_inferred", + "structural_inputs": [], + "unmapped": { + "fact:household.property_tax": "The only rates input, rr_rates_payable_before_rebate (Person) in statutes/rates_rebates/rates_rebate.yaml, cannot be bound at 6fe181f, because the dense engine could not compile that module and nz.json lists it only under cli_walk_inputs, which the adapter's surface loader does not read; once the module compiles, allocate_to_reference_person of property_tax is the candidate (approximate, because the ratepayer need not be the reference person).", + "fact:household.source_household_id": "Original donor household lineage is build provenance and weight diagnostic support, not a rulespec-nz legal input.", + "fact:person.educational_attainment": "rulespec-nz at 6fe181f has no input for completed education: no rule or input name mentions a qualification, degree, diploma or attainment level; the education inputs are current enrollment or school attendance (this mapping binds some of them to education_enrollment and enrolled_full_time); and young_person_is_study_ready is what youth_young_parent_payment/core.yaml calls an agency-adjudicated composite input (s 50).", + "fact:person.realized_capital_gains": "rulespec-nz at 6fe181f has no input for gains on disposals: no rule mentions gains, disposals or the bright-line test, and the only capital input, income_tax_expenditure_or_loss_is_capital_nature (income_tax/core/taxable_income.yaml, s DA 2), classifies expenditure for the general deduction limitation.", + "fact:person.sex": "rulespec-nz at 6fe181f has no sex- or gender-dependent input: none of the 668 dense-surface input names or 40 module YAMLs mention sex, gender, male, female, man, woman, wife or husband, and the only related hit, sole_parent_is_mother_or_father_or_child_regarded_as_child (social_security/main_benefits/entitlement.yaml), tests parenthood, which this mapping binds to the parent_of_coresident_child role.", + "fact:person.usual_weekly_hours": "rulespec-nz at 6fe181f has no input that takes hours worked: the work-hours inputs are threshold statuses no transform can compute from hours, namely acc_self_employed_more_than_30_hours_per_week (regulations/acc/earners_levy.yaml, reg 6, which also needs self-employment hours alone), jobseeker_in_full_time_employment (main_benefits/entitlement.yaml, s 21), acc_weekly_compensation_is_full_time_earner and the Family-level in_work_tax_credit_normally_full_time_earner; the remaining hours_per_week inputs are childcare, programme-participation or work-capacity hours.", + "fact:person.weeks_worked": "rulespec-nz at 6fe181f has no input the concept determines: the closest, in_work_tax_credit_weekly_periods (Family, income_tax/family_scheme/tax_credits.yaml, s MD 10(2)), counts weeks in which the person or their partner meets the earner requirement, which needs the union of two partners' work weeks that no group rule gives (reference_member drops a working partner; sum_over_members double-counts and adds children's weeks), and minimum_family_tax_credit_weekly_periods and minimum_family_full_time_earner_weeks count only weeks as a full-time earner." + } +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/country_package.json b/packages/microcosm-build/src/microcosm/build/nz/country_package.json index 5e89805587..4b134065a0 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/nz/country_package.json @@ -196,6 +196,61 @@ "path": "precalibration_stages.json", "kind": "legacy_json", "schema_id": "legacy_json" + }, + { + "path": "transport_inputs.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "transport_atomic_geography_support.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "concept_mapping.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "geography_assignment.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "money_normalization_hold_fixed.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "transport_graph.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "entitlement_graph.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "gap_annualisation.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "holdout_comparator_bindings.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "as_encoding.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "export_replay_bindings.json", + "kind": "legacy_json", + "schema_id": "legacy_json" } ] } diff --git a/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json new file mode 100644 index 0000000000..02a615f729 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json @@ -0,0 +1,1224 @@ +{ + "schema_version": 1, + "nodes": [], + "scenario_nodes": [ + { + "id": "nz.scn.{scenario}", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.{scenario}.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.{scenario}.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "{scenario}", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.{scenario}.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "{scenario}" + } + }, + { + "id": "nz.scn.{scenario}.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.{scenario}.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "{scenario}" + } + } + ], + "scenario_gap": "nz.scn.{scenario}.gap", + "variant_gap": "nz.v.{variant}.gap", + "bands": { + "id": "nz.as.bands", + "population": "nz.terminal", + "baseline_scenario": "S0" + }, + "package": { + "id": "nz.package", + "artifact_name": "bands" + }, + "checkpoints": [ + "nz.as.bands" + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json index 2f3240c525..b683e5d1d1 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json @@ -1,5 +1,5 @@ { - "_description": "This closed roster declares the New Zealand v0 export inputs. Donor records remain US support records. The graph must select exact entity-qualified export and gate slices from the required and optional columns. Encoded inputs enter only when axiom_input_closure.json and this roster both name them. The export kernel writes every column that its selected frame carries; this roster alone does not project or enforce those slices. formula_owned_excluded names every output that the graph requests from the bound rulespec-nz modules, and the graph must exclude those outputs from its export slices.", + "_description": "The graph enforces this closed entity-qualified roster at composition. The export and terminal gate slices retain replay inputs and assigned receipt flags and exclude formula outputs, scratch cents and reporting state. Frame projection supplies structural identifiers and memberships automatically.", "_source": { "rules_bindings": "axiom_rules_bindings.json", "unit_rule": "benefit_unit_rule.json" @@ -58,17 +58,169 @@ "family_weight" ], "optional": [ - "source_household_id", - "family_source_household_id", + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents", "age", - "sex", - "region_code", - "support_stratum", + "dividend_income", "donor_country_code", + "donor_support_stratum", + "family_source_household_id", + "farm_self_employment_income", + "household_region_code", + "interest_income", + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_income_test_assessable_income", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "mortgage_interest", + "mortgage_principal", + "nonfarm_self_employment_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", + "private_pension_income", + "property_tax", + "realized_capital_gains", "receives_jobseeker_support", + "receives_nz_super", "receives_sole_parent_support", "receives_supported_living_payment", - "receives_nz_super" + "region_code", + "rent", + "rental_income", + "sex", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "sole_parent_youngest_dependent_child_age", + "source_household_id", + "support_stratum", + "supported_living_applicant_age", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind", + "tenure" ], "formula_owned_excluded": [ "accommodation_supplement_cash_assets_within_limit", @@ -101,5 +253,351 @@ "receives_supported_living_payment": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt.", "receives_nz_super": "The receipt kernel assigns this person-level snapshot flag; the donor does not observe NZ receipt." }, - "_slice_requirement": "G8-w3b must declare the exact entity-qualified export and terminal-gate slices. H12 still requires closed-roster enforcement for all replay-required normalized or encoded inputs. export.prepare@1 currently accepts entities, weight_entity, time_period and optional bindings, then emits a descriptor that materialize_export writes; it does not read this roster. The hub must resolve any required shared-code enforcement separately." + "_slice_requirement": "The graph selects export_contract for opt-in composition validation and declares its exact export and terminal gate slices.", + "replay_bindings": { + "mapping": "axiom:nz", + "closure": "axiom_input_closure", + "receipt_contract": "receipt_contract", + "assignment": "assigned snapshot receipt" + }, + "entity_slices": { + "export": { + "person": [ + "age", + "dividend_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_income_test_assessable_income", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "nonfarm_self_employment_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", + "private_pension_income", + "realized_capital_gains", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sex", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ], + "household": [ + "donor_support_stratum", + "household_region_code", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "rent", + "source_household_id", + "tenure" + ], + "family": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents", + "family_household_id", + "family_source_household_id" + ] + }, + "gates": { + "person": [ + "age", + "dividend_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_income_test_assessable_income", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "nonfarm_self_employment_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", + "private_pension_income", + "realized_capital_gains", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sex", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ], + "household": [ + "donor_support_stratum", + "household_region_code", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "rent", + "source_household_id", + "tenure" + ], + "family": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents", + "family_household_id", + "family_source_household_id" + ] + } + } } diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json new file mode 100644 index 0000000000..e18b3faa39 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json @@ -0,0 +1,4 @@ +{ + "export_contract_sha256": "3f6c9fff388d51aa2d8cc3e75883e5637db1537f56c161d9d29de0bbb30c4155", + "axiom_input_closure_sha256": "28724fc0535093d12802430546eed74b4f8729b33dff936ef7a85c16f09de14c" +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/gap_annualisation.json b/packages/microcosm-build/src/microcosm/build/nz/gap_annualisation.json new file mode 100644 index 0000000000..77d1804ac5 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/gap_annualisation.json @@ -0,0 +1,4 @@ +{ + "msd_accommodation_supplement_recipients_national": 1, + "msd_annual_report_accommodation_assistance_expenditure": 52 +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/gates.json b/packages/microcosm-build/src/microcosm/build/nz/gates.json index e6a84bb0ad..62c44ffebf 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/gates.json +++ b/packages/microcosm-build/src/microcosm/build/nz/gates.json @@ -227,7 +227,8 @@ "V1", "V2", "V3", - "V4" + "V4", + "VHF" ], "required_cells": [ "income_decile_by_family_type/1/single", @@ -314,7 +315,8 @@ "V1", "V2", "V3", - "V4" + "V4", + "VHF" ], "required_cells": [ "income_decile_by_family_type/1/single", diff --git a/packages/microcosm-build/src/microcosm/build/nz/geography_assignment.json b/packages/microcosm-build/src/microcosm/build/nz/geography_assignment.json new file mode 100644 index 0000000000..5f1d03f7d8 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/geography_assignment.json @@ -0,0 +1,65 @@ +{ + "version": 1, + "identity": [ + "household_id" + ], + "stream": [ + "sha256-u53-v1", + "nz-joint-geography", + 0, + 21 + ], + "outputs": { + "area": "nz_atomic_area", + "system": "nz_area_system", + "basis": "nz_area_basis" + }, + "systems": [ + { + "id": "nz-joint", + "level": "ta_region_as_area", + "code_system": "stats_nz_joint_ta_regc_as", + "vintage": "ta2026_regc2025_au2017", + "source": "nz_chronicle_facts", + "selector": {}, + "constraints": [], + "observed_area": null, + "stages": [ + { + "level": "area", + "weight": "population" + } + ], + "layers": [ + { + "input": "ta_code", + "output": "ta_code", + "vintage": "ta2026_regc2025_au2017", + "relation": "exact", + "source": "atomic_geography_support.json" + }, + { + "input": "region_code", + "output": "household_region_code", + "vintage": "ta2026_regc2025_au2017", + "relation": "exact", + "source": "atomic_geography_support.json" + }, + { + "input": "as_area", + "output": "as_area", + "vintage": "ta2026_regc2025_au2017", + "relation": "exact", + "source": "atomic_geography_support.json" + }, + { + "input": "as_area_alt", + "output": "as_area_alt", + "vintage": "ta2026_regc2025_au2017", + "relation": "exact", + "source": "atomic_geography_support.json" + } + ] + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json new file mode 100644 index 0000000000..6b2ca5f263 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json @@ -0,0 +1,28 @@ +{ + "schema_version": 1, + "required_inputs": { + "family": [ + "accommodation_supplement_rounded_weekly_payment" + ] + }, + "input_domains": { + "family": { + "accommodation_supplement_rounded_weekly_payment": { + "kind": "nonnegative_number" + } + } + }, + "columns": [ + { + "entity": "family", + "name": "accommodation_supplement_positive_payment_indicator", + "predicates": [ + { + "column": "accommodation_supplement_rounded_weekly_payment", + "operator": "gt", + "value": 0 + } + ] + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/money_normalization_hold_fixed.json b/packages/microcosm-build/src/microcosm/build/nz/money_normalization_hold_fixed.json new file mode 100644 index 0000000000..807d7199af --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/money_normalization_hold_fixed.json @@ -0,0 +1,110 @@ +{ + "schema_version": 1, + "description": "The hold-fixed sensitivity converts the same donor columns to NZD and holds all four index families fixed at factor one. It uses the central reference-aging profile.", + "status": "The VHF scenario selects this sibling declaration in its own normalization node.", + "from_currency": "USD", + "to_currency": "NZD", + "rate": { + "form": "decimal_text", + "text": "1.654", + "citation": { + "publisher": "Internal Revenue Service", + "title": "Yearly average currency exchange rates", + "url": "https://www.irs.gov/individuals/international-taxpayers/yearly-average-currency-exchange-rates", + "table": "Yearly average exchange rates for converting foreign currencies into U.S. dollars", + "row": "New Zealand, Dollar", + "column": "2024", + "conversion_rule": "\"To convert from U.S. dollars to foreign currency, multiply the U.S. dollar amount by the applicable yearly average exchange rate in the table below.\"", + "page_last_reviewed": "2026-09-17", + "retrieved_on": "2026-10-07", + "retrieved_sha256": "8c765c8c88a6a6ad4fe325a0344ff69d2fa2ab174dcac2e8c13e1a5ea747fff8", + "retrieved_note": "SHA-256 of the HTML bytes fetched on the retrieval date; the page is re-rendered by the publisher, so it is a receipt, not a stable content key." + } + }, + "quote": "to_per_from", + "rounding": { + "digits": 2, + "mode": "half_even" + }, + "donor_money_period": { + "type": "calendar_year", + "value": 2024, + "basis": "declared_convention", + "evidence": [ + "tools/build_us_fiscal_refresh_release.py declares the module constant PERIOD = 2024, and its _dataset_from_frame passes PERIOD as time_period to USSingleYearDataset.", + "microcosm.frame.adapters.policyengine_us.PolicyEngineUSEngine._write_and_verify writes the supplied model period as a one-row integer _time_period table. This is model-period lineage evidence, not authentication of the monetary basis of donor amounts." + ] + }, + "target_period": 2027, + "columns": { + "person": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ], + "household": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + }, + "factor_profile": { + "dimension": "aging_index", + "profiles": [ + "low", + "central", + "high" + ], + "central_profile": "central" + }, + "index_family_factors": { + "mixed_income": { + "identity": true, + "reason": "The declared hold-fixed sensitivity holds this donor index family at factor one." + }, + "capital_income": { + "identity": true, + "reason": "The declared hold-fixed sensitivity holds this donor index family at factor one." + }, + "pensions": { + "identity": true, + "reason": "The declared hold-fixed sensitivity holds this donor index family at factor one." + }, + "owner_housing_costs": { + "identity": true, + "reason": "The declared hold-fixed sensitivity holds this donor index family at factor one." + } + }, + "cents_suffix": "_cents", + "quantile_mapped": { + "person": { + "employment_income": { + "awaits": [ + "P1: precal_references ird_wage_salary_people_by_band rows 7 to 241" + ], + "reason": "MC4 quantile-maps earnings onto IRD wage bands; P1 is parked until its source-period wage bridge and intervals exist (d1952 option A, earnings first)." + }, + "liquid_financial_assets": { + "awaits": [ + "P3: precal_references stats_nz_household_financial_net_worth_distribution", + "C2: an all-household liquid-asset distribution" + ], + "reason": "MC4 quantile-maps liquid assets; no all-household distribution exists yet (C2), and any interim producer is Max's call (M1)." + } + }, + "household": { + "rent": { + "awaits": [ + "C1: Census 2023 household weekly rent bands (G8-d1)" + ], + "reason": "MC4 quantile-maps rent onto the Census 2023 weekly-rent bands for renting households (C1); the MBIE bond reference P2 is parked." + } + } + }, + "pending": {}, + "notes": "The rate is the IRS 2024 yearly average for the New Zealand dollar, quoted in NZD per USD, so a donor amount is multiplied by it. Calendar-2024 money is a declared convention covering flows and asset stocks; the donor monetary basis has not been authenticated against a producing manifest. The US build's PERIOD = 2024 and the exporter's _time_period write provide model-period lineage evidence. Money normalization refuses a donor whose recorded _time_period differs from calendar 2024 (G8-w H1); this runtime check is a consistency check, not authentication. No donor file is opened to establish this declaration. Variants V1 and V2 age with their own aging_index profile (G8-w H2). public_pension_income is dropped at CREATE and is not declared." +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json index 62de0fa6b3..112472f981 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json +++ b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json @@ -66,26 +66,26 @@ }, { "entity": "person", - "column": "jobseeker_support_gross_weekly_payment", + "column": "jobseeker_support_annual_gross", "kind": "benefit", "tax_basis": "before_tax", - "annualisation_factor": 52, + "annualisation_factor": 1, "receipt_column": "receives_jobseeker_support" }, { "entity": "person", - "column": "sole_parent_support_gross_weekly_payment", + "column": "sole_parent_support_annual_gross", "kind": "benefit", "tax_basis": "before_tax", - "annualisation_factor": 52, + "annualisation_factor": 1, "receipt_column": "receives_sole_parent_support" }, { "entity": "person", - "column": "supported_living_payment_gross_weekly_payment", + "column": "supported_living_payment_annual_gross", "kind": "benefit", "tax_basis": "before_tax", - "annualisation_factor": 52, + "annualisation_factor": 1, "receipt_column": "receives_supported_living_payment" }, { @@ -168,7 +168,8 @@ "V1", "V2", "V3", - "V4" + "V4", + "VHF" ], "join_column": "family_id", "variant_rule": "carry_baseline_cell_by_unit_id", diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index 0c9d418dbb..d8350682e4 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -2,7 +2,7 @@ "version": 1, "country": "nz", "method_card_row": "MC3", - "description": "The hub declares Accommodation Supplement entitlement scenarios S0, S1, S2, S3 and S5 after calibration, and calibration variants V1 to V4 from the raw nz.open branch. Each non-central scenario changes one central knob. Bands report the minimum, S0 and maximum gap across the declared scenarios and identify each bound-setting scenario.", + "description": "The hub declares Accommodation Supplement entitlement scenarios S0, S1, S2, S3 and S5 after calibration, and calibration variants V1 to V4 and the VHF hold-fixed sensitivity from the raw nz.open branch. Each non-central scenario changes one central knob. Bands report the minimum, S0 and maximum gap across the declared scenarios and identify each bound-setting scenario.", "status": "The hub adopts the declared scenario set under H7; C1 rent ageing and D2 publication approval remain open.", "tiers": { "entitlement": { @@ -20,7 +20,8 @@ "superannuitant_treatment": "exclude_and_count", "aging_index": "central", "beneficiary_assignment": "central", - "census_residual_allocation": "mar" + "census_residual_allocation": "mar", + "donor_money_index": "awe" }, "knob_domains": { "rent_allocation": [ @@ -52,6 +53,10 @@ "census_residual_allocation": [ "mar", "small_households" + ], + "donor_money_index": [ + "awe", + "hold_fixed" ] }, "knob_method_card_rows": { @@ -62,7 +67,8 @@ "superannuitant_treatment": "MC11", "aging_index": "MC5", "beneficiary_assignment": "MC6", - "census_residual_allocation": "MC5" + "census_residual_allocation": "MC5", + "donor_money_index": "MC5" }, "scenarios": [ { @@ -70,7 +76,1222 @@ "tier": "entitlement", "method_card_row": "MC3", "knobs": {}, - "description": "central defaults: the central value of every MC3 band" + "description": "central defaults: the central value of every MC3 band", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.scn.S0", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S0.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S0.income_decile", + "kernel": "reporting.income_decile@1", + "structural": "none", + "population": "nz.scn.S0", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "dividend_income", + "employment_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_support_annual_gross", + "nonfarm_self_employment_income", + "nz_super_weekly_amount_before_tax", + "private_pension_income", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S0", + "entities": [ + "person", + "household", + "family" + ] + } + }, + { + "id": "nz.scn.S0.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S0", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S0" + } + }, + { + "id": "nz.scn.S0.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S0", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S0.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S0" + } + } + ] }, { "id": "S1", @@ -85,70 +1306,28538 @@ "variable": "accommodation_supplement_cash_assets", "value": 0 } - ] - }, - { - "id": "S2", - "tier": "entitlement", - "method_card_row": "MC8", - "knobs": { - "rent_allocation": "per_adult_share" - }, - "description": "household rent split per adult share instead of allocated to the reference unit (upper sensitivity)" - }, - { - "id": "S3", - "tier": "entitlement", - "method_card_row": "MC9", - "knobs": { - "area_column": "as_area_alt" - }, - "description": "the alternative territorial authority to Accommodation Supplement area crosswalk (as_area_crosswalk.json alternative)" - }, - { - "id": "S5", - "tier": "entitlement", - "method_card_row": "MC11", - "knobs": { - "superannuitant_treatment": "reg17_superannuitant_base_rate" - }, - "description": "reg 17 superannuitant treatment, the alternative to the MC11 default. The override is the engine-calling bridge, which rewrites the base rate; a non-engine override would hand-compute policy (as_rate_bridge.json superannuitant_units)" - }, - { - "id": "V1", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "aging_index": "low" - }, - "description": "low aging index for the calibration references (MC5 ages IRD bands from TY2024 to TY2026-27 by a declared index)" - }, - { - "id": "V2", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "aging_index": "high" - }, - "description": "high aging index" - }, - { - "id": "V3", - "tier": "calibration", - "method_card_row": "MC6", - "knobs": { - "beneficiary_assignment": "variant" - }, - "description": "V3 starts from the raw nz.open branch and uses the resolved beneficiary_assignment variant profile in receipt_contract.json to draw a separate deterministic receipt stream for NZ Super, SLP, SPS and JS with the same targets and eligibility definitions." - }, - { - "id": "V4", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "census_residual_allocation": "small_households" + ], + "encoding_knobs": { + "asset_test": false }, - "description": "d1886: allocate each region's Census size residual only to one- and two-person households in their stated proportions; tenure remains proportionally allocated" + "nodes": [ + { + "id": "nz.scn.S1", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S1.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", + "rewrite": true + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S1.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S1.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S1", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.S1.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S1" + } + }, + { + "id": "nz.scn.S1.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S1.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S1" + } + } + ] + }, + { + "id": "S2", + "tier": "entitlement", + "method_card_row": "MC8", + "knobs": { + "rent_allocation": "per_adult_share" + }, + "description": "household rent split per adult share instead of allocated to the reference unit (upper sensitivity)", + "encoding_knobs": { + "rent_allocation": "per_adult_share" + }, + "nodes": [ + { + "id": "nz.scn.S2", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S2.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", + "rewrite": true + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S2.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S2.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S2", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.S2.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S2", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S2" + } + }, + { + "id": "nz.scn.S2.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S2", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S2.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S2" + } + } + ] + }, + { + "id": "S3", + "tier": "entitlement", + "method_card_row": "MC9", + "knobs": { + "area_column": "as_area_alt" + }, + "description": "the alternative territorial authority to Accommodation Supplement area crosswalk (as_area_crosswalk.json alternative)", + "encoding_knobs": { + "area_column": "as_area_alt" + }, + "nodes": [ + { + "id": "nz.scn.S3", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S3.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S3", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", + "rewrite": true + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S3.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S3.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S3", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S3", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.S3.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S3", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S3" + } + }, + { + "id": "nz.scn.S3.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S3", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S3.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S3" + } + } + ] + }, + { + "id": "S5", + "tier": "entitlement", + "method_card_row": "MC11", + "knobs": { + "superannuitant_treatment": "reg17_superannuitant_base_rate" + }, + "description": "reg 17 superannuitant treatment, the alternative to the MC11 default. The override is the engine-calling bridge, which rewrites the base rate; a non-engine override would hand-compute policy (as_rate_bridge.json superannuitant_units)", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.scn.S5", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.scn.S5.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S5.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S5", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S5", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.S5.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S5", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "S5" + } + }, + { + "id": "nz.scn.S5.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S5", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S5.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S5" + } + } + ] + }, + { + "id": "V1", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "aging_index": "low" + }, + "description": "low aging index for the calibration references (MC5 ages IRD bands from TY2024 to TY2026-27 by a declared index)", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V1", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V1.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V1", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V1.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V1.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V1.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V1.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V1.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V1.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V1.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V1.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V1.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V1.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V1.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V1.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V1", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V1", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.v.V1.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.V1.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V1.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V1", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V1.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V1.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V1.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V1.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V1.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V1.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V1.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V1", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V1.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V1" + } + }, + { + "id": "nz.v.V1.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "V1" + } + } + ] + }, + { + "id": "V2", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "aging_index": "high" + }, + "description": "high aging index", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V2", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V2.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V2", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V2.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V2.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V2.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V2.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V2.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V2.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V2.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V2.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V2.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V2", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V2", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.v.V2.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.V2.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V2.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V2", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V2.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V2.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V2.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V2.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V2.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V2.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V2.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V2.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V2", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V2.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V2.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V2" + } + }, + { + "id": "nz.v.V2.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V2.housing", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "V2" + } + } + ] + }, + { + "id": "V3", + "tier": "calibration", + "method_card_row": "MC6", + "knobs": { + "beneficiary_assignment": "variant" + }, + "description": "V3 starts from the raw nz.open branch and uses the resolved beneficiary_assignment variant profile in receipt_contract.json to draw a separate deterministic receipt stream for NZ Super, SLP, SPS and JS with the same targets and eligibility definitions.", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V3", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V3.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V3", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V3.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V3", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V3.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V3.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V3.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V3.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V3.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V3.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V3", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V3.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V3.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V3", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V3", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V3", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.v.V3.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.V3.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V3.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V3", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V3.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V3.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V3.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V3.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V3.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V3.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V3.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V3", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V3.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V3" + } + }, + { + "id": "nz.v.V3.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "V3" + } + } + ] + }, + { + "id": "V4", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "census_residual_allocation": "small_households" + }, + "description": "d1886: allocate each region's Census size residual only to one- and two-person households in their stated proportions; tenure remains proportionally allocated", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V4", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V4.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V4", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V4.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V4", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V4.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V4.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V4.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V4.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V4.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V4.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V4", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V4.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V4.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V4", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V4", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V4", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.v.V4.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.V4.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V4.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V4", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V4.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V4.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V4.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V4.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V4.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.V4.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V4.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V4", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V4.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V4" + } + }, + { + "id": "nz.v.V4.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "V4" + } + } + ] + }, + { + "id": "VHF", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "donor_money_index": "hold_fixed" + }, + "description": "The hold-fixed sensitivity keeps all four donor index families at identity factors in its own money-normalization declaration while references retain the central aging profile.", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.VHF", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.VHF.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.VHF", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization_hold_fixed", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization_hold_fixed", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.VHF.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.VHF", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.VHF.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.VHF.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.VHF.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.VHF.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.VHF.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.VHF.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.VHF", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.VHF.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.VHF.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.VHF", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.VHF.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.VHF", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.VHF.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.VHF", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.v.VHF.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.VHF.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.VHF.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.VHF", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.VHF.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.VHF.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.VHF.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.VHF.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.VHF.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg17_0", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg17_0", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg17_0" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg17_1", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "bridge_evaluation_reg17_1", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 1, + "entity": "family", + "column": "bridge_evaluation_reg17_1" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 500 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.bridge.evaluate.reg18_all_other_units_payment_after_step", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + }, + { + "entity": "family", + "columns": [ + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 501 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "person", + "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + { + "id": "nz.v.VHF.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.VHF.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "VHF", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.VHF.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "VHF" + } + }, + { + "id": "nz.v.VHF.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.VHF.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "VHF" + } + } + ] } ], "gap_conventions": { diff --git a/packages/microcosm-build/src/microcosm/build/nz/transport_atomic_geography_support.json b/packages/microcosm-build/src/microcosm/build/nz/transport_atomic_geography_support.json new file mode 100644 index 0000000000..6e6e17011d --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/transport_atomic_geography_support.json @@ -0,0 +1,1734 @@ +{ + "version": 1, + "level": "ta_region_as_area", + "code_system": "stats_nz_joint_ta_regc_as", + "vintage": "ta2026_regc2025_au2017", + "columns": { + "area": { + "kind": "code", + "source": "Stats NZ Meshblock Higher Geographies 2026; G8-m SA1 to AS placement", + "vintage": "ta2026_regc2025_au2017", + "relation": "exact" + }, + "ta_code": { + "kind": "code", + "source": "Stats NZ Meshblock Higher Geographies 2026", + "vintage": "ta_2026", + "relation": "official_tabulation" + }, + "region_code": { + "kind": "code", + "source": "Stats NZ Meshblock Higher Geographies 2026", + "vintage": "regc_2025", + "relation": "official_tabulation" + }, + "as_area": { + "kind": "code", + "source": "G8-m SA1 interior-point/centroid AU2017 bridge", + "vintage": "au_2017", + "relation": "best_fit" + }, + "population_code": { + "kind": "code", + "source": "Stats NZ TA ERP target hierarchy", + "vintage": "ta_2025", + "relation": "exact" + }, + "population": { + "kind": "weight", + "source": "Stats NZ TA ERP at 30 June 2025", + "basis": "TA ERP apportioned by within-TA 2023 Census SA1 usually resident population shares" + }, + "as_area_alt": { + "kind": "code", + "source": "as_area_crosswalk.json modal_area", + "vintage": "ta_2025", + "relation": "best_fit" + } + }, + "rows": [ + { + "target": "stats_nz_population_by_territorial_authority__ta001", + "codes": { + "area": "001|01|2", + "ta_code": "001", + "region_code": "01", + "as_area": "2", + "population_code": "nz-ta-001", + "as_area_alt": "4" + }, + "population_share": 0.11744924124595402 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta001", + "codes": { + "area": "001|01|3", + "ta_code": "001", + "region_code": "01", + "as_area": "3", + "population_code": "nz-ta-001", + "as_area_alt": "4" + }, + "population_share": 0.24364201942074068 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta001", + "codes": { + "area": "001|01|4", + "ta_code": "001", + "region_code": "01", + "as_area": "4", + "population_code": "nz-ta-001", + "as_area_alt": "4" + }, + "population_share": 0.6389087393333053 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta002", + "codes": { + "area": "002|01|2", + "ta_code": "002", + "region_code": "01", + "as_area": "2", + "population_code": "nz-ta-002", + "as_area_alt": "2" + }, + "population_share": 0.6245147666221545 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta002", + "codes": { + "area": "002|01|4", + "ta_code": "002", + "region_code": "01", + "as_area": "4", + "population_code": "nz-ta-002", + "as_area_alt": "2" + }, + "population_share": 0.3754852333778454 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta003", + "codes": { + "area": "003|01|2", + "ta_code": "003", + "region_code": "01", + "as_area": "2", + "population_code": "nz-ta-003", + "as_area_alt": "4" + }, + "population_share": 0.20433221359898066 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta003", + "codes": { + "area": "003|01|3", + "ta_code": "003", + "region_code": "01", + "as_area": "3", + "population_code": "nz-ta-003", + "as_area_alt": "4" + }, + "population_share": 0.19390710066025715 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta003", + "codes": { + "area": "003|01|4", + "ta_code": "003", + "region_code": "01", + "as_area": "4", + "population_code": "nz-ta-003", + "as_area_alt": "4" + }, + "population_share": 0.6017606857407622 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta011", + "codes": { + "area": "011|03|2", + "ta_code": "011", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-011", + "as_area_alt": "4" + }, + "population_share": 0.31483737932327305 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta011", + "codes": { + "area": "011|03|3", + "ta_code": "011", + "region_code": "03", + "as_area": "3", + "population_code": "nz-ta-011", + "as_area_alt": "4" + }, + "population_share": 0.32533508295060454 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta011", + "codes": { + "area": "011|03|4", + "ta_code": "011", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-011", + "as_area_alt": "4" + }, + "population_share": 0.3598275377261224 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta012", + "codes": { + "area": "012|03|2", + "ta_code": "012", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-012", + "as_area_alt": "3" + }, + "population_share": 0.054350887074063645 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta012", + "codes": { + "area": "012|03|3", + "ta_code": "012", + "region_code": "03", + "as_area": "3", + "population_code": "nz-ta-012", + "as_area_alt": "3" + }, + "population_share": 0.5385806814981695 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta012", + "codes": { + "area": "012|03|4", + "ta_code": "012", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-012", + "as_area_alt": "3" + }, + "population_share": 0.40706843142776683 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta013", + "codes": { + "area": "013|03|1", + "ta_code": "013", + "region_code": "03", + "as_area": "1", + "population_code": "nz-ta-013", + "as_area_alt": "2" + }, + "population_share": 0.16983173916079033 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta013", + "codes": { + "area": "013|03|2", + "ta_code": "013", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-013", + "as_area_alt": "2" + }, + "population_share": 0.5660825246107659 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta013", + "codes": { + "area": "013|03|3", + "ta_code": "013", + "region_code": "03", + "as_area": "3", + "population_code": "nz-ta-013", + "as_area_alt": "2" + }, + "population_share": 0.09578998813097815 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta013", + "codes": { + "area": "013|03|4", + "ta_code": "013", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-013", + "as_area_alt": "2" + }, + "population_share": 0.16829574809746561 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta015", + "codes": { + "area": "015|03|2", + "ta_code": "015", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-015", + "as_area_alt": "4" + }, + "population_share": 0.2387878787878788 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta015", + "codes": { + "area": "015|03|3", + "ta_code": "015", + "region_code": "03", + "as_area": "3", + "population_code": "nz-ta-015", + "as_area_alt": "4" + }, + "population_share": 0.34715151515151516 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta015", + "codes": { + "area": "015|03|4", + "ta_code": "015", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-015", + "as_area_alt": "4" + }, + "population_share": 0.4140606060606061 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta016", + "codes": { + "area": "016|03|2", + "ta_code": "016", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-016", + "as_area_alt": "2" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta017", + "codes": { + "area": "017|03|2", + "ta_code": "017", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-017", + "as_area_alt": "2" + }, + "population_share": 0.8063081484510787 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta017", + "codes": { + "area": "017|03|4", + "ta_code": "017", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-017", + "as_area_alt": "2" + }, + "population_share": 0.19369185154892138 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta018", + "codes": { + "area": "018|03|3", + "ta_code": "018", + "region_code": "03", + "as_area": "3", + "population_code": "nz-ta-018", + "as_area_alt": "4" + }, + "population_share": 0.2672811059907834 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta018", + "codes": { + "area": "018|03|4", + "ta_code": "018", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-018", + "as_area_alt": "4" + }, + "population_share": 0.7327188940092166 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta019", + "codes": { + "area": "019|03|4", + "ta_code": "019", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-019", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta020", + "codes": { + "area": "020|03|4", + "ta_code": "020", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-020", + "as_area_alt": "4" + }, + "population_share": 0.995302223614156 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta020", + "codes": { + "area": "020|08|4", + "ta_code": "020", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-020", + "as_area_alt": "4" + }, + "population_share": 0.004697776385844034 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta021", + "codes": { + "area": "021|03|2", + "ta_code": "021", + "region_code": "03", + "as_area": "2", + "population_code": "nz-ta-021", + "as_area_alt": "2" + }, + "population_share": 0.6471157424637142 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta021", + "codes": { + "area": "021|03|4", + "ta_code": "021", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-021", + "as_area_alt": "2" + }, + "population_share": 0.34774841831038333 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta021", + "codes": { + "area": "021|04|4", + "ta_code": "021", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-021", + "as_area_alt": "2" + }, + "population_share": 0.0030517305545217713 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta021", + "codes": { + "area": "021|06|4", + "ta_code": "021", + "region_code": "06", + "as_area": "4", + "population_code": "nz-ta-021", + "as_area_alt": "2" + }, + "population_share": 0.002084108671380722 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta021", + "codes": { + "area": "021|08|4", + "ta_code": "021", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-021", + "as_area_alt": "2" + }, + "population_share": 0.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta022", + "codes": { + "area": "022|04|1", + "ta_code": "022", + "region_code": "04", + "as_area": "1", + "population_code": "nz-ta-022", + "as_area_alt": "4" + }, + "population_share": 0.16740487752814984 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta022", + "codes": { + "area": "022|04|2", + "ta_code": "022", + "region_code": "04", + "as_area": "2", + "population_code": "nz-ta-022", + "as_area_alt": "4" + }, + "population_share": 0.29894871658039385 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta022", + "codes": { + "area": "022|04|4", + "ta_code": "022", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-022", + "as_area_alt": "4" + }, + "population_share": 0.5336464058914563 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta023", + "codes": { + "area": "023|04|1", + "ta_code": "023", + "region_code": "04", + "as_area": "1", + "population_code": "nz-ta-023", + "as_area_alt": "1" + }, + "population_share": 0.997977775160011 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta023", + "codes": { + "area": "023|04|4", + "ta_code": "023", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-023", + "as_area_alt": "1" + }, + "population_share": 0.0020222248399890054 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta024", + "codes": { + "area": "024|03|4", + "ta_code": "024", + "region_code": "03", + "as_area": "4", + "population_code": "nz-ta-024", + "as_area_alt": "3" + }, + "population_share": 0.05248876108703576 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta024", + "codes": { + "area": "024|04|3", + "ta_code": "024", + "region_code": "04", + "as_area": "3", + "population_code": "nz-ta-024", + "as_area_alt": "3" + }, + "population_share": 0.8148313150540683 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta024", + "codes": { + "area": "024|04|4", + "ta_code": "024", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-024", + "as_area_alt": "3" + }, + "population_share": 0.13267992385889596 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta025", + "codes": { + "area": "025|04|3", + "ta_code": "025", + "region_code": "04", + "as_area": "3", + "population_code": "nz-ta-025", + "as_area_alt": "3" + }, + "population_share": 0.5886816824089771 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta025", + "codes": { + "area": "025|04|4", + "ta_code": "025", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-025", + "as_area_alt": "3" + }, + "population_share": 0.41131831759102283 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta026", + "codes": { + "area": "026|04|4", + "ta_code": "026", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-026", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta027", + "codes": { + "area": "027|04|4", + "ta_code": "027", + "region_code": "04", + "as_area": "4", + "population_code": "nz-ta-027", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta028", + "codes": { + "area": "028|05|3", + "ta_code": "028", + "region_code": "05", + "as_area": "3", + "population_code": "nz-ta-028", + "as_area_alt": "3" + }, + "population_share": 0.7519216100451799 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta028", + "codes": { + "area": "028|05|4", + "ta_code": "028", + "region_code": "05", + "as_area": "4", + "population_code": "nz-ta-028", + "as_area_alt": "3" + }, + "population_share": 0.24807838995482015 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta029", + "codes": { + "area": "029|06|4", + "ta_code": "029", + "region_code": "06", + "as_area": "4", + "population_code": "nz-ta-029", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta030", + "codes": { + "area": "030|06|2", + "ta_code": "030", + "region_code": "06", + "as_area": "2", + "population_code": "nz-ta-030", + "as_area_alt": "2" + }, + "population_share": 0.8852247347850363 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta030", + "codes": { + "area": "030|06|4", + "ta_code": "030", + "region_code": "06", + "as_area": "4", + "population_code": "nz-ta-030", + "as_area_alt": "2" + }, + "population_share": 0.1147752652149637 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta031", + "codes": { + "area": "031|06|2", + "ta_code": "031", + "region_code": "06", + "as_area": "2", + "population_code": "nz-ta-031", + "as_area_alt": "2" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta032", + "codes": { + "area": "032|06|3", + "ta_code": "032", + "region_code": "06", + "as_area": "3", + "population_code": "nz-ta-032", + "as_area_alt": "4" + }, + "population_share": 0.1506875847375557 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta032", + "codes": { + "area": "032|06|4", + "ta_code": "032", + "region_code": "06", + "as_area": "4", + "population_code": "nz-ta-032", + "as_area_alt": "4" + }, + "population_share": 0.8493124152624443 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta033", + "codes": { + "area": "033|07|2", + "ta_code": "033", + "region_code": "07", + "as_area": "2", + "population_code": "nz-ta-033", + "as_area_alt": "2" + }, + "population_share": 0.7049123775355319 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta033", + "codes": { + "area": "033|07|3", + "ta_code": "033", + "region_code": "07", + "as_area": "3", + "population_code": "nz-ta-033", + "as_area_alt": "2" + }, + "population_share": 0.12391334345246309 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta033", + "codes": { + "area": "033|07|4", + "ta_code": "033", + "region_code": "07", + "as_area": "4", + "population_code": "nz-ta-033", + "as_area_alt": "2" + }, + "population_share": 0.17117427901200497 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta034", + "codes": { + "area": "034|07|4", + "ta_code": "034", + "region_code": "07", + "as_area": "4", + "population_code": "nz-ta-034", + "as_area_alt": "4" + }, + "population_share": 0.9843195266272189 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta034", + "codes": { + "area": "034|08|4", + "ta_code": "034", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-034", + "as_area_alt": "4" + }, + "population_share": 0.015680473372781067 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta035", + "codes": { + "area": "035|07|3", + "ta_code": "035", + "region_code": "07", + "as_area": "3", + "population_code": "nz-ta-035", + "as_area_alt": "4" + }, + "population_share": 0.44359504132231403 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta035", + "codes": { + "area": "035|07|4", + "ta_code": "035", + "region_code": "07", + "as_area": "4", + "population_code": "nz-ta-035", + "as_area_alt": "4" + }, + "population_share": 0.5564049586776859 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta036", + "codes": { + "area": "036|08|4", + "ta_code": "036", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-036", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta037", + "codes": { + "area": "037|08|4", + "ta_code": "037", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-037", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta038", + "codes": { + "area": "038|06|4", + "ta_code": "038", + "region_code": "06", + "as_area": "4", + "population_code": "nz-ta-038", + "as_area_alt": "4" + }, + "population_share": 0.001530221882172915 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta038", + "codes": { + "area": "038|08|4", + "ta_code": "038", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-038", + "as_area_alt": "4" + }, + "population_share": 0.9984697781178271 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta039", + "codes": { + "area": "039|08|3", + "ta_code": "039", + "region_code": "08", + "as_area": "3", + "population_code": "nz-ta-039", + "as_area_alt": "3" + }, + "population_share": 0.6989824236817761 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta039", + "codes": { + "area": "039|08|4", + "ta_code": "039", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-039", + "as_area_alt": "3" + }, + "population_share": 0.30101757631822385 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta040", + "codes": { + "area": "040|08|3", + "ta_code": "040", + "region_code": "08", + "as_area": "3", + "population_code": "nz-ta-040", + "as_area_alt": "3" + }, + "population_share": 0.9638516886425449 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta040", + "codes": { + "area": "040|08|4", + "ta_code": "040", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-040", + "as_area_alt": "3" + }, + "population_share": 0.03614831135745516 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta041", + "codes": { + "area": "041|08|4", + "ta_code": "041", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-041", + "as_area_alt": "4" + }, + "population_share": 0.9996785599485696 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta041", + "codes": { + "area": "041|09|4", + "ta_code": "041", + "region_code": "09", + "as_area": "4", + "population_code": "nz-ta-041", + "as_area_alt": "4" + }, + "population_share": 0.0003214400514304082 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta042", + "codes": { + "area": "042|08|3", + "ta_code": "042", + "region_code": "08", + "as_area": "3", + "population_code": "nz-ta-042", + "as_area_alt": "3" + }, + "population_share": 0.7093583980384144 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta042", + "codes": { + "area": "042|08|4", + "ta_code": "042", + "region_code": "08", + "as_area": "4", + "population_code": "nz-ta-042", + "as_area_alt": "3" + }, + "population_share": 0.2906416019615856 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta043", + "codes": { + "area": "043|09|2", + "ta_code": "043", + "region_code": "09", + "as_area": "2", + "population_code": "nz-ta-043", + "as_area_alt": "2" + }, + "population_share": 0.787906427728297 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta043", + "codes": { + "area": "043|09|3", + "ta_code": "043", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-043", + "as_area_alt": "2" + }, + "population_share": 0.14781628930142718 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta043", + "codes": { + "area": "043|09|4", + "ta_code": "043", + "region_code": "09", + "as_area": "4", + "population_code": "nz-ta-043", + "as_area_alt": "2" + }, + "population_share": 0.06427728297027578 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta044", + "codes": { + "area": "044|09|2", + "ta_code": "044", + "region_code": "09", + "as_area": "2", + "population_code": "nz-ta-044", + "as_area_alt": "2" + }, + "population_share": 0.9965660034339966 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta044", + "codes": { + "area": "044|09|3", + "ta_code": "044", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-044", + "as_area_alt": "2" + }, + "population_share": 0.003433996566003434 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta045", + "codes": { + "area": "045|09|2", + "ta_code": "045", + "region_code": "09", + "as_area": "2", + "population_code": "nz-ta-045", + "as_area_alt": "2" + }, + "population_share": 0.9447977447059595 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta045", + "codes": { + "area": "045|09|3", + "ta_code": "045", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-045", + "as_area_alt": "2" + }, + "population_share": 0.05520225529404052 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta046", + "codes": { + "area": "046|09|2", + "ta_code": "046", + "region_code": "09", + "as_area": "2", + "population_code": "nz-ta-046", + "as_area_alt": "2" + }, + "population_share": 0.9936126296998773 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta046", + "codes": { + "area": "046|09|3", + "ta_code": "046", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-046", + "as_area_alt": "2" + }, + "population_share": 0.006387370300122727 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta047", + "codes": { + "area": "047|09|2", + "ta_code": "047", + "region_code": "09", + "as_area": "2", + "population_code": "nz-ta-047", + "as_area_alt": "2" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta048", + "codes": { + "area": "048|09|3", + "ta_code": "048", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-048", + "as_area_alt": "3" + }, + "population_share": 0.8647945354006289 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta048", + "codes": { + "area": "048|09|4", + "ta_code": "048", + "region_code": "09", + "as_area": "4", + "population_code": "nz-ta-048", + "as_area_alt": "3" + }, + "population_share": 0.13520546459937113 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta049", + "codes": { + "area": "049|09|3", + "ta_code": "049", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-049", + "as_area_alt": "3" + }, + "population_share": 0.5669828097213989 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta049", + "codes": { + "area": "049|09|4", + "ta_code": "049", + "region_code": "09", + "as_area": "4", + "population_code": "nz-ta-049", + "as_area_alt": "3" + }, + "population_share": 0.4330171902786011 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta050", + "codes": { + "area": "050|09|3", + "ta_code": "050", + "region_code": "09", + "as_area": "3", + "population_code": "nz-ta-050", + "as_area_alt": "4" + }, + "population_share": 0.37986270022883295 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta050", + "codes": { + "area": "050|09|4", + "ta_code": "050", + "region_code": "09", + "as_area": "4", + "population_code": "nz-ta-050", + "as_area_alt": "4" + }, + "population_share": 0.620137299771167 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta051", + "codes": { + "area": "051|16|2", + "ta_code": "051", + "region_code": "16", + "as_area": "2", + "population_code": "nz-ta-051", + "as_area_alt": "2" + }, + "population_share": 0.6058280618064917 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta051", + "codes": { + "area": "051|16|3", + "ta_code": "051", + "region_code": "16", + "as_area": "3", + "population_code": "nz-ta-051", + "as_area_alt": "2" + }, + "population_share": 0.02400705174738152 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta051", + "codes": { + "area": "051|16|4", + "ta_code": "051", + "region_code": "16", + "as_area": "4", + "population_code": "nz-ta-051", + "as_area_alt": "2" + }, + "population_share": 0.3701648864461267 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta052", + "codes": { + "area": "052|17|2", + "ta_code": "052", + "region_code": "17", + "as_area": "2", + "population_code": "nz-ta-052", + "as_area_alt": "2" + }, + "population_share": 0.9757700440025144 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta052", + "codes": { + "area": "052|17|4", + "ta_code": "052", + "region_code": "17", + "as_area": "4", + "population_code": "nz-ta-052", + "as_area_alt": "2" + }, + "population_share": 0.02422995599748557 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta053", + "codes": { + "area": "053|18|2", + "ta_code": "053", + "region_code": "18", + "as_area": "2", + "population_code": "nz-ta-053", + "as_area_alt": "2" + }, + "population_share": 0.6970525676086295 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta053", + "codes": { + "area": "053|18|3", + "ta_code": "053", + "region_code": "18", + "as_area": "3", + "population_code": "nz-ta-053", + "as_area_alt": "2" + }, + "population_share": 0.0956548161652993 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta053", + "codes": { + "area": "053|18|4", + "ta_code": "053", + "region_code": "18", + "as_area": "4", + "population_code": "nz-ta-053", + "as_area_alt": "2" + }, + "population_share": 0.2072926162260711 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta054", + "codes": { + "area": "054|13|3", + "ta_code": "054", + "region_code": "13", + "as_area": "3", + "population_code": "nz-ta-054", + "as_area_alt": "3" + }, + "population_share": 0.5217081850533808 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta054", + "codes": { + "area": "054|13|4", + "ta_code": "054", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-054", + "as_area_alt": "3" + }, + "population_share": 0.4782918149466192 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta055", + "codes": { + "area": "055|12|4", + "ta_code": "055", + "region_code": "12", + "as_area": "4", + "population_code": "nz-ta-055", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta056", + "codes": { + "area": "056|12|3", + "ta_code": "056", + "region_code": "12", + "as_area": "3", + "population_code": "nz-ta-056", + "as_area_alt": "3" + }, + "population_share": 0.6768671089236037 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta056", + "codes": { + "area": "056|12|4", + "ta_code": "056", + "region_code": "12", + "as_area": "4", + "population_code": "nz-ta-056", + "as_area_alt": "3" + }, + "population_share": 0.3231328910763963 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta057", + "codes": { + "area": "057|12|3", + "ta_code": "057", + "region_code": "12", + "as_area": "3", + "population_code": "nz-ta-057", + "as_area_alt": "4" + }, + "population_share": 0.39979757085020245 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta057", + "codes": { + "area": "057|12|4", + "ta_code": "057", + "region_code": "12", + "as_area": "4", + "population_code": "nz-ta-057", + "as_area_alt": "4" + }, + "population_share": 0.6002024291497976 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta058", + "codes": { + "area": "058|13|2", + "ta_code": "058", + "region_code": "13", + "as_area": "2", + "population_code": "nz-ta-058", + "as_area_alt": "4" + }, + "population_share": 0.1786660777385159 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta058", + "codes": { + "area": "058|13|3", + "ta_code": "058", + "region_code": "13", + "as_area": "3", + "population_code": "nz-ta-058", + "as_area_alt": "4" + }, + "population_share": 0.0706713780918728 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta058", + "codes": { + "area": "058|13|4", + "ta_code": "058", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-058", + "as_area_alt": "4" + }, + "population_share": 0.7506625441696113 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta059", + "codes": { + "area": "059|13|2", + "ta_code": "059", + "region_code": "13", + "as_area": "2", + "population_code": "nz-ta-059", + "as_area_alt": "2" + }, + "population_share": 0.5989854612980661 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta059", + "codes": { + "area": "059|13|4", + "ta_code": "059", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-059", + "as_area_alt": "2" + }, + "population_share": 0.401014538701934 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta060", + "codes": { + "area": "060|13|2", + "ta_code": "060", + "region_code": "13", + "as_area": "2", + "population_code": "nz-ta-060", + "as_area_alt": "2" + }, + "population_share": 0.9915452364344354 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta060", + "codes": { + "area": "060|13|4", + "ta_code": "060", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-060", + "as_area_alt": "2" + }, + "population_share": 0.00845476356556466 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta062", + "codes": { + "area": "062|13|2", + "ta_code": "062", + "region_code": "13", + "as_area": "2", + "population_code": "nz-ta-062", + "as_area_alt": "2" + }, + "population_share": 0.6331554087784648 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta062", + "codes": { + "area": "062|13|4", + "ta_code": "062", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-062", + "as_area_alt": "2" + }, + "population_share": 0.3668445912215353 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta063", + "codes": { + "area": "063|13|2", + "ta_code": "063", + "region_code": "13", + "as_area": "2", + "population_code": "nz-ta-063", + "as_area_alt": "2" + }, + "population_share": 0.6249352443446727 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta063", + "codes": { + "area": "063|13|3", + "ta_code": "063", + "region_code": "13", + "as_area": "3", + "population_code": "nz-ta-063", + "as_area_alt": "2" + }, + "population_share": 0.045933344845449836 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta063", + "codes": { + "area": "063|13|4", + "ta_code": "063", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-063", + "as_area_alt": "2" + }, + "population_share": 0.3291314108098774 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta064", + "codes": { + "area": "064|13|3", + "ta_code": "064", + "region_code": "13", + "as_area": "3", + "population_code": "nz-ta-064", + "as_area_alt": "3" + }, + "population_share": 0.7654554630330558 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta064", + "codes": { + "area": "064|13|4", + "ta_code": "064", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-064", + "as_area_alt": "3" + }, + "population_share": 0.23454453696694424 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta065", + "codes": { + "area": "065|13|3", + "ta_code": "065", + "region_code": "13", + "as_area": "3", + "population_code": "nz-ta-065", + "as_area_alt": "4" + }, + "population_share": 0.29115407147041594 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta065", + "codes": { + "area": "065|13|4", + "ta_code": "065", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-065", + "as_area_alt": "4" + }, + "population_share": 0.7088459285295841 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta066", + "codes": { + "area": "066|13|4", + "ta_code": "066", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-066", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta067", + "codes": { + "area": "067|99|4", + "ta_code": "067", + "region_code": "99", + "as_area": "4", + "population_code": "nz-ta-067", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta068", + "codes": { + "area": "068|13|4", + "ta_code": "068", + "region_code": "13", + "as_area": "4", + "population_code": "nz-ta-068", + "as_area_alt": "3" + }, + "population_share": 0.08082875047960097 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta068", + "codes": { + "area": "068|14|3", + "ta_code": "068", + "region_code": "14", + "as_area": "3", + "population_code": "nz-ta-068", + "as_area_alt": "3" + }, + "population_share": 0.6140171377413992 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta068", + "codes": { + "area": "068|14|4", + "ta_code": "068", + "region_code": "14", + "as_area": "4", + "population_code": "nz-ta-068", + "as_area_alt": "3" + }, + "population_share": 0.30515411177899987 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta069", + "codes": { + "area": "069|14|2", + "ta_code": "069", + "region_code": "14", + "as_area": "2", + "population_code": "nz-ta-069", + "as_area_alt": "4" + }, + "population_share": 0.2607032695866749 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta069", + "codes": { + "area": "069|14|3", + "ta_code": "069", + "region_code": "14", + "as_area": "3", + "population_code": "nz-ta-069", + "as_area_alt": "4" + }, + "population_share": 0.23022825416409623 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta069", + "codes": { + "area": "069|14|4", + "ta_code": "069", + "region_code": "14", + "as_area": "4", + "population_code": "nz-ta-069", + "as_area_alt": "4" + }, + "population_share": 0.5090684762492289 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta070", + "codes": { + "area": "070|14|1", + "ta_code": "070", + "region_code": "14", + "as_area": "1", + "population_code": "nz-ta-070", + "as_area_alt": "1" + }, + "population_share": 0.5776035131744041 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta070", + "codes": { + "area": "070|14|4", + "ta_code": "070", + "region_code": "14", + "as_area": "4", + "population_code": "nz-ta-070", + "as_area_alt": "1" + }, + "population_share": 0.422396486825596 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta071", + "codes": { + "area": "071|14|3", + "ta_code": "071", + "region_code": "14", + "as_area": "3", + "population_code": "nz-ta-071", + "as_area_alt": "3" + }, + "population_share": 0.9364698761523419 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta071", + "codes": { + "area": "071|14|4", + "ta_code": "071", + "region_code": "14", + "as_area": "4", + "population_code": "nz-ta-071", + "as_area_alt": "3" + }, + "population_share": 0.06353012384765806 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta072", + "codes": { + "area": "072|14|4", + "ta_code": "072", + "region_code": "14", + "as_area": "4", + "population_code": "nz-ta-072", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta073", + "codes": { + "area": "073|15|3", + "ta_code": "073", + "region_code": "15", + "as_area": "3", + "population_code": "nz-ta-073", + "as_area_alt": "4" + }, + "population_share": 0.07764062941675304 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta073", + "codes": { + "area": "073|15|4", + "ta_code": "073", + "region_code": "15", + "as_area": "4", + "population_code": "nz-ta-073", + "as_area_alt": "4" + }, + "population_share": 0.9223593705832469 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta074", + "codes": { + "area": "074|15|4", + "ta_code": "074", + "region_code": "15", + "as_area": "4", + "population_code": "nz-ta-074", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta075", + "codes": { + "area": "075|15|4", + "ta_code": "075", + "region_code": "15", + "as_area": "4", + "population_code": "nz-ta-075", + "as_area_alt": "4" + }, + "population_share": 1.0 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta076", + "codes": { + "area": "076|02|1", + "ta_code": "076", + "region_code": "02", + "as_area": "1", + "population_code": "nz-ta-076", + "as_area_alt": "1" + }, + "population_share": 0.9837162460784953 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta076", + "codes": { + "area": "076|02|2", + "ta_code": "076", + "region_code": "02", + "as_area": "2", + "population_code": "nz-ta-076", + "as_area_alt": "1" + }, + "population_share": 0.015863528013852966 + }, + { + "target": "stats_nz_population_by_territorial_authority__ta076", + "codes": { + "area": "076|02|4", + "ta_code": "076", + "region_code": "02", + "as_area": "4", + "population_code": "nz-ta-076", + "as_area_alt": "1" + }, + "population_share": 0.00042022590765173414 + } + ], + "share_tolerance": 1e-12, + "population_geography_level": "local_authority", + "population_code_column": "population_code" +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json new file mode 100644 index 0000000000..ede43712a5 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json @@ -0,0 +1,4266 @@ +{ + "schema_version": 1, + "country": "nz", + "description": "The NZ transport declaration retains named pending money producers and unresolved reviewed AS bridge assembly. The graph makes no estimate or publication claim.", + "export_contract": "export_contract", + "sources": [ + { + "name": "populace_us_donor", + "codec": "populace-us-h5-v1" + }, + { + "name": "nz_chronicle_facts", + "codec": "ledger-consumer-artifact-v1" + }, + { + "name": "nz_holdout_facts", + "codec": "ledger-consumer-artifact-v1" + }, + { + "name": "rulespec_nz", + "codec": "rulespec-tree-v1" + }, + { + "name": "nz_exported_dataset", + "codec": "axiom-entity-table-h5-v1" + } + ], + "nodes": [ + { + "id": "nz.create", + "kernel": "transport.create@1", + "structural": "create", + "sources": [ + "populace_us_donor", + "nz_chronicle_facts" + ], + "params": { + "donor_source": "populace_us_donor", + "facts_source": "nz_chronicle_facts", + "donor_sha256": { + "resource": "transport_inputs", + "path": [ + "donor", + "sha256" + ], + "encoding": "value" + }, + "donor_size": { + "resource": "transport_inputs", + "path": [ + "donor", + "size_bytes" + ], + "encoding": "value" + }, + "donor_pin_sha256": { + "resource": "source_stages", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "mass_reference": { + "resource": "mass_references", + "path": [], + "encoding": "json" + }, + "mass_reference_sha256": { + "resource": "mass_references", + "path": [], + "encoding": "sha256" + }, + "country": "nz", + "concept_schema_sha256": "5a55669d0447a686692911a6327ae298f19741dde29559f2654a75807878a141", + "seed_stream": "nz:takeup:v0" + } + }, + { + "id": "nz.open", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.create", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ] + }, + { + "id": "nz.facts.precal", + "kernel": "targets.compile@1", + "population": "nz.open", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "precal_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "precal_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.geo.support", + "kernel": "geography.support_from_facts@1", + "population": "nz.open", + "params": { + "definition": { + "resource": "transport_atomic_geography_support", + "path": [], + "encoding": "json" + }, + "definition_sha256": { + "resource": "transport_atomic_geography_support", + "path": [], + "encoding": "sha256" + }, + "system": "nz-joint" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.geo.assign", + "kernel": "geography.assign_atomic@1", + "population": "nz.open", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "household", + "column": "nz_atomic_area", + "dtype": "string" + }, + { + "entity": "household", + "column": "nz_area_system", + "dtype": "string" + }, + { + "entity": "household", + "column": "nz_area_basis", + "dtype": "string" + } + ], + "params": { + "definition": { + "resource": "geography_assignment", + "path": [], + "encoding": "json" + }, + "stream": { + "resource": "geography_assignment", + "path": [ + "stream" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "nz-joint", + "producer": "nz.geo.support", + "artifact": "support" + } + ] + }, + { + "id": "nz.geo.derive", + "kernel": "geography.derive@1", + "population": "nz.open", + "inputs": [ + { + "entity": "household", + "columns": [ + "nz_atomic_area", + "nz_area_system", + "nz_area_basis" + ] + } + ], + "outputs": [ + { + "entity": "household", + "column": "ta_code", + "dtype": "string" + }, + { + "entity": "household", + "column": "household_region_code", + "dtype": "string" + }, + { + "entity": "household", + "column": "as_area", + "dtype": "string" + }, + { + "entity": "household", + "column": "as_area_alt", + "dtype": "string" + } + ], + "params": { + "definition": { + "resource": "geography_assignment", + "path": [], + "encoding": "json" + }, + "stream": { + "resource": "geography_assignment", + "path": [ + "stream" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "nz-joint", + "producer": "nz.geo.support", + "artifact": "support" + } + ] + }, + { + "id": "nz.geo.gate", + "kernel": "geography.gate@1", + "population": "nz.open", + "inputs": [ + { + "entity": "household", + "columns": [ + "nz_atomic_area", + "nz_area_system", + "nz_area_basis", + "ta_code", + "household_region_code", + "as_area", + "as_area_alt" + ] + } + ], + "params": { + "definition": { + "resource": "geography_assignment", + "path": [], + "encoding": "json" + }, + "stream": { + "resource": "geography_assignment", + "path": [ + "stream" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "nz-joint", + "producer": "nz.geo.support", + "artifact": "support" + } + ] + }, + { + "id": "nz.units.attributes", + "kernel": "transport.unit_attributes@1", + "population": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "family_type", + "dtype": "string" + }, + { + "entity": "family", + "column": "n_dependent_children", + "dtype": "int64" + }, + { + "entity": "family", + "column": "is_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "is_partnered", + "dtype": "bool" + }, + { + "entity": "family", + "column": "is_single", + "dtype": "bool" + }, + { + "entity": "family", + "column": "n_adults", + "dtype": "int64" + }, + { + "entity": "family", + "column": "youngest_dependent_child_age", + "dtype": "Int64" + }, + { + "entity": "household", + "column": "n_family_units", + "dtype": "int64" + } + ], + "params": { + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.central", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ] + }, + { + "id": "nz.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.central", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": "{\"aging_index\":\"central\",\"area_column\":\"as_area\",\"asset_test\":\"on\",\"beneficiary_assignment\":\"central\",\"census_residual_allocation\":\"mar\",\"donor_money_index\":\"awe\",\"rent_allocation\":\"reference_unit\",\"rent_stock_factor\":1.0,\"superannuitant_treatment\":\"exclude_and_count\"}" + } + }, + { + "id": "nz.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.central", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.central", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.central", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.central", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.central", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.central", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" + }, + { + "entity": "person", + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_15_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_05_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.central", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.central", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] + }, + { + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.central", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" + }, + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" + }, + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.as", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ] + }, + { + "id": "nz.as.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "resource": "as_encoding", + "path": [], + "encoding": "json" + }, + "scenario_sha256": { + "resource": "as_encoding", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.terminal", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ] + }, + { + "id": "nz.calibration.diagnostics", + "kernel": "diagnostics.calibration@1", + "population": "nz.terminal", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "params": { + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.targets.problem", + "artifact": "problem" + }, + { + "name": "solution", + "producer": "nz.calibrate", + "artifact": "solution" + }, + { + "name": "result", + "producer": "nz.calibrate", + "artifact": "result" + }, + { + "name": "surface", + "producer": "nz.targets.compile", + "artifact": "surface" + } + ] + }, + { + "id": "nz.gates.terminal", + "kernel": "gates.battery@1", + "population": "nz.terminal", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "dividend_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_income_test_assessable_income", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "nonfarm_self_employment_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", + "private_pension_income", + "realized_capital_gains", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sex", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + }, + { + "entity": "household", + "columns": [ + "donor_support_stratum", + "household_region_code", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "rent", + "source_household_id", + "tenure" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents", + "family_household_id", + "family_source_household_id" + ] + } + ], + "params": { + "country": "nz", + "gates": { + "resource": "gates", + "path": [], + "encoding": "json" + }, + "gates_sha256": { + "resource": "gates", + "path": [], + "encoding": "sha256" + }, + "phase": "terminal", + "release_candidate": false, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.targets.problem", + "artifact": "problem" + }, + { + "name": "solution", + "producer": "nz.calibrate", + "artifact": "solution" + }, + { + "name": "diagnostics", + "producer": "nz.calibration.diagnostics", + "artifact": "diagnostics" + }, + { + "name": "surface", + "producer": "nz.targets.compile", + "artifact": "surface" + } + ] + }, + { + "id": "nz.export.prepare", + "kernel": "export.prepare@1", + "population": "nz.terminal", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "dividend_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_income_test_assessable_income", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "nonfarm_self_employment_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", + "private_pension_income", + "realized_capital_gains", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sex", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + }, + { + "entity": "household", + "columns": [ + "donor_support_stratum", + "household_region_code", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "rent", + "source_household_id", + "tenure" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents", + "family_household_id", + "family_source_household_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "time_period": { + "resource": "export_contract", + "path": [ + "_period", + "dataset_time_period" + ], + "encoding": "value" + }, + "bindings": { + "resource": "export_replay_bindings", + "path": [], + "encoding": "json" + } + }, + "artifact_inputs": [ + { + "name": "gate_report", + "producer": "nz.gates.terminal", + "artifact": "gate_report" + } + ] + }, + { + "id": "nz.export.readback", + "kernel": "export.readback@1", + "population": "nz.terminal", + "sources": [ + "nz_exported_dataset" + ], + "artifact_inputs": [ + { + "name": "export_descriptor", + "producer": "nz.export.prepare", + "artifact": "export_descriptor" + } + ] + }, + { + "id": "nz.package", + "kernel": "transport.package@1", + "population": "nz.terminal", + "params": { + "bindings": { + "prepared": "engine_refs" + } + }, + "artifact_inputs": [ + { + "name": "export_readback", + "producer": "nz.export.readback", + "artifact": "export_readback" + }, + { + "name": "gate_report", + "producer": "nz.gates.terminal", + "artifact": "gate_report" + }, + { + "name": "diagnostics", + "producer": "nz.calibration.diagnostics", + "artifact": "diagnostics" + }, + { + "name": "surface", + "producer": "nz.targets.compile", + "artifact": "surface" + } + ] + } + ], + "endpoints": { + "geography": "nz.geo.gate", + "calibration": "nz.calibrate", + "terminal": [ + "nz.export.prepare", + "nz.package" + ] + }, + "pending_outputs": [ + "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", + "A shared producer must carry assigned household region codes to persons before calibration", + "w4 support, release-input coverage and weight audit evidence", + "r2c income stand-in and reconciliation", + "P1 earnings, Census rent and liquid-assets quantile producers" + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/nz/transport_inputs.json b/packages/microcosm-build/src/microcosm/build/nz/transport_inputs.json new file mode 100644 index 0000000000..d10e37d5b9 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/nz/transport_inputs.json @@ -0,0 +1,20 @@ +{ + "donor": { + "kind": "public_microdata", + "format": "hdf5", + "vintage": "2024", + "locator": "populace_us_2024.h5", + "revision": "populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z", + "repository": { + "provider": "huggingface", + "owner": "policyengine", + "name_parts": [ + "populace-us" + ], + "repo_type": "dataset" + }, + "sha256": "48b9d479fb4fd1c3537f9383ce4697d130b6f618658409d74f6233c43b994c7e", + "size_bytes": 462915783, + "integrity_note": "The revision is the immutable release tag named by the public latest.json pointer on 2026-08-29. Execution must verify both SHA-256 and byte size before reading; main/latest fallback is forbidden." + } +} diff --git a/packages/microcosm-build/src/microcosm/build/transport/compose.py b/packages/microcosm-build/src/microcosm/build/transport/compose.py index 6f7b9a2d25..ebb2761a92 100644 --- a/packages/microcosm-build/src/microcosm/build/transport/compose.py +++ b/packages/microcosm-build/src/microcosm/build/transport/compose.py @@ -86,6 +86,8 @@ ) from microcosm.build.reference_profiles import resolve_reference_profiles from microcosm.calibrate.ordered_kernels import OUTPUT_TYPES +from microcosm.frame.materialize import _WEIGHT_COLUMN_SUFFIX +from microcosm.frame.unit_construction import BenefitUnitRule from microcosm.graph import ( ROWS_ALL, ArtifactInput, @@ -198,6 +200,7 @@ "endpoints", "pending_outputs", "mass_partition", + "export_contract", } ) _NODE_FIELDS = frozenset( @@ -1252,6 +1255,147 @@ def transport_graph_document(spec: Mapping[str, object]) -> Mapping: return document +def _check_export_contract( + spec: Mapping[str, object], graph: Graph, compiled: CompiledGraph +) -> None: + """Enforce an opt-in closed roster on export and terminal gate slices. + + The declaration names the resource; its entity-qualified slices govern the + actual node inputs. This composition check changes no kernel implementation. + """ + resource = transport_graph_document(spec).get("export_contract") + if resource is None: + return + if not _is_text(resource): + raise ValueError("Transport export_contract must name a resource.") + from .registry import transport_entity_schema + + schema, _ = transport_entity_schema( + BenefitUnitRule.from_spec(transport_resource(spec, "benefit_unit_rule")) + ) + automatic = { + entity: {schema.entity_id_column(entity)} for entity in schema.entities + } + automatic[schema.person_entity].update( + schema.membership_column(group) for group in schema.group_entities + ) + contract = transport_resource(spec, resource) + if contract.get("closed") is not True: + raise ValueError("Transport export_contract requires a closed roster.") + rosters = _mapping(contract.get("entity_slices"), "export_contract.entity_slices") + if set(rosters) != {"export", "gates"}: + raise ValueError("Export contract entity_slices must name export and gates.") + required = set(_sequence(contract.get("required"), "export_contract.required")) + allowed = required | set( + _sequence(contract.get("optional", ()), "export_contract.optional") + ) + excluded = set( + _sequence(contract.get("forbidden", ()), "export_contract.forbidden") + ) | set( + _sequence( + contract.get("formula_owned_excluded", ()), + "export_contract.formula_owned_excluded", + ) + ) + replay_by_version: dict[str, set[tuple[str, str]]] = {} + scratch = { + (binding["entity"], column) + for binding in transport_resource(spec, "axiom_rules_bindings").get( + "bindings", () + ) + for column in binding.get("variables", ()) + } + for node in graph.nodes: + outputs = {(item.entity, item.column) for item in node.outputs} + if node.kernel in { + "concepts.encode@1", + "concepts.encode_groups@1", + "takeup.assign@1", + }: + replay_by_version.setdefault(compiled.versions[node.id], set()).update( + outputs + ) + elif node.kernel == MONEY_NORMALIZE_REF: + replay_by_version.setdefault(compiled.versions[node.id], set()).update( + (item.entity, item.column) for item in node.outputs if item.rewrite + ) + scratch.update( + (item.entity, item.column) for item in node.outputs if not item.rewrite + ) + elif node.kernel in _MONEY_BRIDGES or node.kernel.startswith("reporting."): + scratch.update(outputs) + for role, kernel in ( + ("export", "export.prepare@1"), + ("gates", "gates.battery@1"), + ): + nodes = [ + node + for node in graph.nodes + if node.kernel == kernel + and (role != "gates" or node.params.get("phase") == "terminal") + ] + if not nodes: + raise ValueError(f"Export contract requires its {role} node.") + replay = set() + for node in nodes: + version = compiled.versions[node.id] + while version is not None: + replay.update(replay_by_version.get(version, ())) + version = graph.node(version).base + roster = _mapping(rosters[role], f"export_contract.entity_slices.{role}") + expected = set() + for entity, columns in roster.items(): + if not _is_text(entity): + raise ValueError("Export contract entities must be nonempty text.") + names = _sequence(columns, f"export_contract {role} {entity}") + if ( + not names + or any(not _is_text(name) for name in names) + or len(set(names)) != len(names) + ): + raise ValueError("Export contract columns must be distinct text.") + expected.update((entity, name) for name in names) + names = {column for _, column in expected} + # Export materializes typed weights; no table-column owner supplies them. + materialized_weights = { + f"{node.params['weight_entity']}{_WEIGHT_COLUMN_SUFFIX}" + for node in nodes + if _is_text(node.params.get("weight_entity")) + } + # The executor projects ids and person memberships for sliced entities. + automatic_names = { + column + for node in nodes + for item in node.inputs + for column in automatic.get(item.entity, ()) + } + effective_names = names | materialized_weights | automatic_names + if ( + effective_names - allowed + or effective_names & excluded + or expected & scratch + ): + raise ValueError( + f"Export contract {role} includes columns outside its closed roster " + "or includes scratch, reporting or formula outputs." + ) + missing_required = required - names - materialized_weights - automatic_names + if missing_required or replay - expected: + raise ValueError( + f"Export contract {role} omits required replay inputs: " + f"{sorted(replay - expected)}; required columns {sorted(missing_required)}." + ) + for node in nodes: + actual = { + (item.entity, column) for item in node.inputs for column in item.columns + } + if any(item.rows != ROWS_ALL for item in node.inputs) or actual != expected: + raise ValueError( + f"Export contract {role} node {node.id!r} must select its exact " + "entity-qualified whole-row slice." + ) + + def _ancestor_closure( predecessors: Mapping[str, Sequence[str]], roots: set[str] ) -> set[str]: @@ -3105,6 +3249,7 @@ def compose_transport_graph( and not gate_inputs ): _check_extension_checkpoints(spec, config, skeleton, compiled) + _check_export_contract(spec, skeleton, compiled) return skeleton skeleton_nodes = [] for node in skeleton.nodes: @@ -3134,6 +3279,7 @@ def compose_transport_graph( # Money ownership is checked after each graph pass of the ancestry guard. _check_single_money_normalization(spec, graph, extended) _check_money_bridge_owners(graph, extended) + _check_export_contract(spec, graph, extended) for node in skeleton.nodes: expected = ( set(compiled.predecessors[node.id]) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py index 467081a36d..0433fb1579 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py @@ -12,18 +12,31 @@ import json import re from dataclasses import replace +from fractions import Fraction +import numpy as np +import pandas as pd import pytest from microcosm.build.transport.compose import ( compose_transport_graph, load_transport_spec, ) -from microcosm.frame.adapters.axiom import axiom_concept_mapping +from microcosm.frame import Frame, WeightKind, Weights +from microcosm.frame.adapters.axiom import NZ_SCHEMA, axiom_concept_mapping from microcosm.frame.adapters.axiom_input_surface import load_axiom_input_surface from microcosm.frame.input_closure import ClosureClass, EncodedBy, InputClosure +from microcosm.frame.rules_kernels import SimulateSolveZeroKernel from microcosm.graph import Owned, StructuralDelta +from test_support.microcosm_build.nz_msd_gross_up import ( + ScheduleFixtureEngine, + _node, + exact_inverse, + exact_tax, + schedule_fixture, +) from test_support.microcosm_build.transport_composed import make_composed_fixture +from test_support.microcosm_frame.kernels import _context from test_support.paths import paths_for from tools.build_nz_benefit_gross_up import DISCLOSURE, PROGRAMMES, documents @@ -237,6 +250,18 @@ def composed_gross_up(tmp_path): spec["resources"]["axiom_rules_bindings"]["bindings"].extend(bindings) spec["resources"]["precalibration_stages"] = _load("precalibration_stages") rows = spec["resources"]["transport_graph"]["nodes"] + rows.append( + { + "id": "nz.central", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [{"entity": "person", "columns": ["age"]}], + } + ) + for row in rows: + if row["id"] == "nz.calibrate": + row["base"] = "nz.central" rows.extend(nodes) produced = {output["column"] for node in nodes for output in node["outputs"]} required = { @@ -264,6 +289,7 @@ def composed_gross_up(tmp_path): }, ) problem = next(row for row in rows if row["id"] == "nz.targets.problem") + problem["population"] = "nz.central" problem["inputs"].append( { "entity": "person", @@ -314,3 +340,61 @@ def test_private_tax_output_cannot_leak_to_calibration(composed_gross_up): ] with pytest.raises(ValueError, match="undeclared pre-calibration stage output"): compose_transport_graph(spec, config) + + +def _solve_fractional_weekly_nets(nets, ids): + spec = load_transport_spec("nz") + row = next( + row + for row in spec["resources"]["benefit_gross_up"]["nodes"] + if row["id"] == "nz.gross_up.jobseeker_support" + ) + engine_ref = "fractional-net-schedule-fixture" + node = _node(row, spec, engine_ref) + frame = Frame( + { + "person": pd.DataFrame( + { + "person_id": ids, + "person_household_id": ids, + "person_family_id": ids, + "jobseeker_support_net_weekly_payment": [ + float(net) for net in nets + ], + } + ), + "household": pd.DataFrame({"household_id": ids}), + "family": pd.DataFrame({"family_id": ids}), + }, + NZ_SCHEMA, + {"household": Weights(np.ones(len(ids)), WeightKind.DESIGN)}, + ) + kernel = SimulateSolveZeroKernel({engine_ref: ScheduleFixtureEngine()}) + return kernel.run(_context(frame, node, weighted_entities=("household",))) + + +def test_fractional_cent_nets_and_after_abatement_match_exact_inverse(): + nets = [Fraction("123.4567"), Fraction("123.4567") - Fraction("12.3456")] + assert all((net * 100).denominator != 1 for net in nets) + result = _solve_fractional_weekly_nets(nets, [801, 802]) + actual = result.columns["person", "jobseeker_support_annual_gross"] + brackets = schedule_fixture() + for net, gross in zip(nets, actual.tolist(), strict=True): + oracle = Fraction(round(exact_inverse(net * 52, brackets) * 100), 100) + assert Fraction(str(gross)) == oracle + residual = net * 52 + exact_tax(oracle, brackets) - oracle + assert abs(residual) + Fraction("0.000001") <= Fraction("0.0050001") + + +def test_fractional_cent_ties_refuse_direct_and_after_abatement_rows(): + nets = [Fraction("0.00111875"), Fraction("0.01111875") - Fraction("0.01")] + boundary = Fraction("0.065") + brackets = schedule_fixture() + assert exact_tax(boundary, brackets) == Fraction("0.006825") + assert all(net * 52 == Fraction("0.058175") for net in nets) + assert all(net * 52 + exact_tax(boundary, brackets) - boundary == 0 for net in nets) + with pytest.raises( + ValueError, + match=r"ambiguous quantization certificate within margin.*rows \[901, 902\]", + ): + _solve_fractional_weekly_nets(nets, [901, 902]) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index ec0259c7f4..d9c7f29514 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -2,10 +2,13 @@ from __future__ import annotations +import copy import json import os import subprocess import sys +from functools import cache +from hashlib import sha256 from pathlib import Path import numpy as np @@ -28,10 +31,15 @@ def _prove_mutant_import(): print(f"Mutant loaded compose.__file__={loaded}") -def _spec(): +@cache +def _pristine_spec(): return compose.load_transport_spec("nz") +def _spec(): + return copy.deepcopy(_pristine_spec()) + + def _references(spec): for resource, document in spec["resources"].items(): if "target_references" in document: @@ -290,3 +298,597 @@ def test_declaration_generators_round_trip_through_check(generator): check=False, ) assert result.returncode == 0, result.stdout + result.stderr + + +def _instantiated_nz_rows(spec): + from microcosm.build.transport.entitlement import _rows + + return [ + *spec["resources"]["transport_graph"]["nodes"], + *[row for row, _ in _rows(spec)[0]], + ] + + +def test_nz_every_variant_id_reaches_entitlement_rows_with_explicit_populations(): + from microcosm.build.transport.entitlement import _rows + + spec = _spec() + rows, gaps = _rows(spec) + variants = { + row["id"] + for row in spec["resources"]["scenarios"]["scenarios"] + if row["tier"] == "calibration" + } + assert variants == {"V1", "V2", "V3", "V4", "VHF"} + ids = [row["id"] for row, _ in rows] + assert len(ids) == len(set(ids)) + for variant in variants: + prefix = f"nz.v.{variant}" + branch = [ + row for row, scenario in rows if scenario and scenario["id"] == variant + ] + assert branch + start = next(row for row in branch if row["id"] == prefix) + assert start["structural"] == "filter" + assert start["base"] == "nz.open" + assert gaps[variant] == prefix + ".gap" + for row in branch: + if row.get("structural", "none") == "none": + assert row["population"].startswith(prefix), row["id"] + else: + assert row.get("base"), row["id"] + + +def test_nz_s5_ancestry_keeps_as_holds_and_inventory_after_each_calibration(): + spec = _spec() + compose.validate_transport_calibration_ancestry(spec) + rows = _instantiated_nz_rows(spec) + structural = { + row["id"]: row for row in rows if row.get("structural", "none") != "none" + } + by_id = {row["id"]: row for row in rows} + + def lineage(population): + result = [] + while population: + result.append(population) + population = structural[population].get("base") + return result + + for scenario in spec["resources"]["scenarios"]["scenarios"]: + variant = scenario["tier"] == "calibration" + prefix = ("nz.v." if variant else "nz.scn.") + scenario["id"] + calibration = prefix + ".calibrate" if variant else "nz.calibrate" + for suffix in (".as", ".positive_payment", ".gap", ".bridge.evaluate.reg17_1"): + row = by_id[prefix + suffix] + assert calibration in lineage(row["population"]), row["id"] + for row in rows: + if row["kernel"] == "transport.package@1": + assert "nz.calibrate" in lineage(row["population"]) + if variant: + target = by_id[prefix + ".targets.compile"] + assert target["params"]["references"]["resource"] == "target_references" + listed = { + stage["rules_binding"] + for stage in spec["resources"]["precalibration_stages"]["stages"] + } + for row in rows: + if row.get("structural", "none") != "none": + assert row.get("rules_binding") not in listed + text = json.dumps(row.get("params", {})) + assert not any(f'"binding": "{name}"' in text for name in listed) + + +@pytest.mark.parametrize("encoding", ["json", "sha256"]) +def test_nz_variant_holdout_selection_refuses_before_calibration(encoding): + spec, config = _synthetic_nz_composition_spec_and_config( + admit_unimplemented_roots=True + ) + variant = next( + row for row in spec["resources"]["scenarios"]["scenarios"] if row["id"] == "V1" + ) + target = next( + row for row in variant["nodes"] if row["id"] == "nz.v.V1.targets.compile" + ) + key = "references" if encoding == "json" else "references_sha256" + target["params"][key] = {"resource": "holdout_references", "encoding": encoding} + with pytest.raises( + ValueError, match="nz.v.V1.targets.compile.*holdout_references selection" + ): + compose.compose_transport_graph(spec, config) + + +def test_nz_money_profile_selection_equals_each_scenarios_own_knobs(): + from microcosm.build.transport.entitlement import _parameter, _rows + from microcosm.graph import Owned + + spec = _spec() + config = compose.TransportGraphConfig( + engine_refs={ + row["id"]: "fixture:" + row["id"] + for row in spec["resources"]["axiom_rules_bindings"]["bindings"] + }, + create_outputs=(Owned("person", "age", "int64"),), + ) + for row, scenario in _rows(spec)[0]: + if row["kernel"] != "money.normalize@1": + continue + parameters = { + key: _parameter(spec, config, value, scenario) + for key, value in row["params"].items() + } + resolved = compose._node( + spec, + row, + config, + {}, + resolved_params=parameters, + profile_selection=scenario["knobs"], + ) + assert json.loads(resolved.params["profile_selection"]) == scenario["knobs"], ( + row["id"] + ) + central = next( + row + for row in spec["resources"]["transport_graph"]["nodes"] + if row["kernel"] == "money.normalize@1" + ) + assert ( + json.loads(central["params"]["profile_selection"]) + == spec["resources"]["scenarios"]["central_knobs"] + ) + + +def test_nz_hold_fixed_has_identity_families_in_its_own_normalization_scenario(): + spec = _spec() + scenarios = spec["resources"]["scenarios"] + row = next(row for row in scenarios["scenarios"] if row["id"] == "VHF") + assert row["knobs"] == {"donor_money_index": "hold_fixed"} + assert "hold_fixed" not in scenarios["knob_domains"]["aging_index"] + normalizers = [ + node for node in row["nodes"] if node["kernel"] == "money.normalize@1" + ] + assert len(normalizers) == 1 + declaration = normalizers[0]["params"]["declaration"]["resource"] + assert declaration == "money_normalization_hold_fixed" + factors = spec["resources"][declaration]["index_family_factors"] + assert set(factors) == { + "mixed_income", + "capital_income", + "pensions", + "owner_housing_costs", + } + assert all(family.get("identity") is True for family in factors.values()) + + +def test_nz_only_s0_computes_deciles_and_every_other_scenario_carries_by_id(): + from microcosm.build.transport.entitlement import _rows + + spec = _spec() + rows = _rows(spec)[0] + classifiers = [ + (row, scenario) + for row, scenario in rows + if row["kernel"] + in {"reporting.income_decile@1", "reporting.carry_income_decile@1"} + ] + baseline = [ + row + for row, scenario in classifiers + if row["kernel"] == "reporting.income_decile@1" + ] + assert [row["id"] for row in baseline] == ["nz.scn.S0.income_decile"] + for row, scenario in classifiers: + assert row["params"]["scenario"] == scenario["id"] + if scenario["id"] == "S0": + continue + assert row["kernel"] == "reporting.carry_income_decile@1" + assert row["artifact_inputs"] == [ + { + "name": "baseline_cells", + "producer": baseline[0]["id"], + "artifact": "baseline_cells", + } + ] + assert all( + component["column"] not in item["columns"] + for component in spec["resources"]["reporting_classifiers"][ + "income_decile" + ]["components"] + for item in row["inputs"] + ) + assert ( + spec["resources"]["reporting_classifiers"]["income_decile"]["unit_id_column"] + == "family_id" + ) + + +def test_nz_h1_has_a_positive_payment_producer_and_native_annualisation_factors(): + from microcosm.build.transport.entitlement import _rows + + spec = _spec() + factors = spec["resources"]["gap_annualisation"] + assert factors == { + "msd_accommodation_supplement_recipients_national": 1, + "msd_annual_report_accommodation_assistance_expenditure": 52, + } + assert all(type(value) is int for value in factors.values()) + rows = _rows(spec)[0] + bindings = spec["resources"]["holdout_comparator_bindings"] + predicate = bindings["columns"][0] + assert predicate["predicates"] == [ + { + "column": "accommodation_supplement_rounded_weekly_payment", + "operator": "gt", + "value": 0, + } + ] + for row, _ in rows: + if row["kernel"] == "takeup.gap@1": + assert ( + row["params"]["annualisation_factors"]["resource"] + == "gap_annualisation" + ) + positive = next( + producer + for producer, _ in rows + if producer["id"] + == row["id"].removesuffix(".gap") + ".positive_payment" + ) + assert positive["kernel"] == "calibration.prepare@1" + assert positive["population"] == row["population"] + assert positive["outputs"] == [ + {"entity": "family", "column": predicate["name"], "dtype": "bool"} + ] + + +def test_nz_packaged_declaration_never_rewrites_a_money_bridge_column_later(): + rows = _instantiated_nz_rows(_spec()) + versions = { + row["id"]: row for row in rows if row.get("structural", "none") != "none" + } + bridge_outputs = [] + for index, row in enumerate(rows): + if row["kernel"] in {"money.minor_units@1", "money.annual_transfers@1"}: + bridge_outputs.extend( + (index, row["population"], output["entity"], output["column"]) + for output in row["outputs"] + ) + bridge_outputs.extend( + (index, row["population"], item["entity"], column) + for item in row.get("inputs", ()) + for column in item["columns"] + ) + assert bridge_outputs + for index, row in enumerate(rows): + population = row.get("population", row["id"]) + lineage = [] + while population: + lineage.append(population) + population = versions[population].get("base") + for output in row.get("outputs", ()): + for owner_index, owner_version, entity, column in bridge_outputs: + if ( + owner_index < index + and owner_version in lineage + and (entity, column) == (output["entity"], output["column"]) + ): + assert not output.get("rewrite"), row["id"] + + +def test_nz_packaged_declaration_has_no_entrant_expand_that_supplies_bridge_columns(): + rows = _instantiated_nz_rows(_spec()) + bridges = { + (output["entity"], output["column"]) + for row in rows + if row["kernel"] in {"money.minor_units@1", "money.annual_transfers@1"} + for output in row["outputs"] + } + bridges.update( + (item["entity"], column) + for row in rows + if row["kernel"] in {"money.minor_units@1", "money.annual_transfers@1"} + for item in row.get("inputs", ()) + for column in item["columns"] + ) + assert bridges + for row in rows: + if row.get("structural") == "expand" and row.get("entrants") is True: + assert not bridges.intersection( + (output["entity"], output["column"]) + for output in row.get("outputs", ()) + ), row["id"] + + +def test_nz_executable_support_keeps_region99_separate_from_ta999(): + spec = _spec() + resources = spec["resources"] + support_node = next( + row + for row in resources["transport_graph"]["nodes"] + if row["kernel"] == "geography.support_from_facts@1" + ) + resource = support_node["params"]["definition"]["resource"] + assert resource == "transport_atomic_geography_support" + rows = resources[resource]["rows"] + residual = [row for row in rows if row["codes"]["region_code"] == "99"] + assert residual + assert {row["codes"]["ta_code"] for row in residual} == {"067"} + assert all(row["codes"]["ta_code"] != "999" for row in rows) + assert all( + row["target"] == "stats_nz_population_by_territorial_authority__ta067" + for row in residual + ) + + +def _synthetic_nz_composition_spec_and_config(*, admit_unimplemented_roots): + """Supply compiler-only toy pins and an invented CREATE inventory. + + The synthetic quantile declarations certify no distribution or runtime + result. They only remove the three deliberate money-producer gaps while + the compiler checks the complete packaged node and population structure. + """ + from microcosm.graph import Owned + + spec = _spec() + resources = spec["resources"] + resources["axiom_rules_bindings"]["engine"].update( + commit="1" * 40, wheel_sha256="2" * 64 + ) + + def add_quantiles(rows): + money = next(row for row in rows if row["kernel"] == "money.normalize@1") + at = rows.index(money) + 1 + synthetic = [] + for entity, columns in resources["money_normalization"][ + "quantile_mapped" + ].items(): + for column in columns: + synthetic.append( + { + "id": money["id"] + ".synthetic_quantile." + column, + "kernel": "transport.quantile_map@1", + "population": money["population"], + "inputs": [{"entity": entity, "columns": [column]}], + "outputs": [ + { + "entity": entity, + "column": column, + "dtype": "float64", + "rewrite": True, + } + ], + "params": {}, + } + ) + rows[at:at] = synthetic + + add_quantiles(resources["transport_graph"]["nodes"]) + for scenario in resources["scenarios"]["scenarios"]: + if scenario["tier"] == "calibration": + add_quantiles(scenario["nodes"]) + rows = _instantiated_nz_rows(spec) + produced = { + (output["entity"], output["column"]) + for row in rows + for output in row.get("outputs", ()) + if not output.get("rewrite") + } + needed = { + (item["entity"], column) + for row in rows + for item in row.get("inputs", ()) + for column in item["columns"] + } - produced + unimplemented = { + ("person", "region_code"), + ("family", "accommodation_supplement_base_rate_weekly_amount"), + ( + "family", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + ), + } + from microcosm.frame import EntitySchema + from microcosm.frame.concepts import CONCEPTS, TransportRule + from microcosm.frame.unit_construction import BenefitUnitRule + + kinds = {"int": "int64", "float": "float64", "bool": "bool", "str": "string"} + inventory = { + (item.entity, item.name): "Int64" if item.nullable else kinds[item.dtype] + for item in CONCEPTS + if item.transport is not TransportRule.DROP + } + rule = BenefitUnitRule.from_spec(resources["benefit_unit_rule"]) + schema = EntitySchema(group_entities=("household", rule.entity)) + automatic = { + (schema.person_entity, schema.person_id_column), + *( + (schema.person_entity, schema.membership_column(group)) + for group in schema.group_entities + ), + *((group, schema.id_column(group)) for group in schema.group_entities), + } + # CLI preparation excludes these columns; frame projection carries them. + # A node must not name them as data reads that require a column owner. + needed -= automatic + inventory.update( + { + ("household", "donor_support_stratum"): "string", + (rule.entity, rule.household_column): "int64", + (rule.entity, rule.head_column): "int64", + (rule.entity, rule.source_household_column): "string", + } + ) + if admit_unimplemented_roots: + inventory.update( + { + key: "string" if key == ("person", "region_code") else "float64" + for key in unimplemented + } + ) + else: + needed -= unimplemented + assert needed <= inventory.keys(), ( + "The declaration reads donor columns outside the canonical concepts and actual CREATE/unit outputs", + sorted(needed - inventory.keys()), + ) + config = compose.TransportGraphConfig( + engine_refs={ + row["id"]: "synthetic:" + row["id"] + for row in resources["axiom_rules_bindings"]["bindings"] + }, + create_outputs=tuple( + Owned(entity, column, inventory[entity, column]) + for entity, column in sorted(needed) + ), + ) + return spec, config + + +def test_nz_packaged_graph_names_region_and_bridge_roots_without_inventing_producers(): + spec = _spec() + rows = _instantiated_nz_rows(spec) + outputs = { + (output["entity"], output["column"]) + for row in rows + for output in row.get("outputs", ()) + } + inputs = { + (item["entity"], column) + for row in rows + for item in row.get("inputs", ()) + for column in item["columns"] + } + missing = { + ("person", "region_code"), + ("family", "accommodation_supplement_base_rate_weekly_amount"), + ( + "family", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + ), + } + assert missing <= inputs + assert missing.isdisjoint(outputs) + assert spec["resources"]["transport_graph"]["pending_outputs"] + + +def test_nz_packaged_graph_compile_refuses_unimplemented_region_and_bridge_roots(): + from microcosm.graph import GraphError + + spec, config = _synthetic_nz_composition_spec_and_config( + admit_unimplemented_roots=False + ) + with pytest.raises( + GraphError, match="region_code|base_rate_weekly_amount|cutout_weekly_amount" + ): + compose.compose_transport_graph(spec, config) + + +def test_nz_packaged_graph_compiles_with_explicitly_synthetic_missing_root_inventory(): + from microcosm.graph import compile_graph + + spec, config = _synthetic_nz_composition_spec_and_config( + admit_unimplemented_roots=True + ) + graph = compose.compose_transport_graph(spec, config) + compiled = compile_graph(graph) + assert "nz.package" in compiled.order + assert "nz.scn.S0.income_decile" in compiled.order + for variant in ("V1", "V2", "V3", "V4", "VHF"): + assert f"nz.v.{variant}.calibrate" in compiled.order + assert f"nz.v.{variant}.gap" in compiled.order + + +def test_nz_as_area_state_bindings_compare_the_declared_string_geography_codes(): + resources = _spec()["resources"] + support = resources["transport_atomic_geography_support"]["rows"] + codes = {row["codes"]["as_area"] for row in support} + alternative = {row["codes"]["as_area_alt"] for row in support} + assert codes == {"1", "2", "3", "4"} + assert alternative <= codes + for area in ("1", "2", "3"): + entry = next( + row + for row in resources["axiom_input_closure"]["entries"] + if row["input"] == f"accommodation_supplement_resides_in_area_{area}" + ) + assert entry["state_binding"]["test"] == "equals" + value = entry["state_binding"]["value"] + assert type(value) is str + assert value == area + assert value in codes + + +_IMMUTABLE_PROFILE_VIEWS = {} + + +@pytest.fixture(autouse=True) +def _memoize_immutable_reference_profile_views(monkeypatch): + """Reuse real resolved views by content while isolating each test's copy. + + This file leaves profile resources unchanged within a test. Each new spec + gets a content digest of every input the resolver reads, so mutations in a + later test select a different cache entry. Deep copies isolate returned + views from the file-level immutable cache. + """ + original = compose.reference_profile_view + views = {} + retained_specs = {} + input_digests = {} + + def cached(spec, selection=None): + if not compose._has_resource(spec, "reference_profiles"): + return original(spec, selection) + declarations = compose._raw_transport_resource(spec, "reference_profiles") + dimensions = declarations.get("dimensions", {}) + selected = { + name: value + for name, value in (selection or {}).items() + if name in dimensions + } + selected_json = json.dumps(selected, sort_keys=True) + key = (id(spec), selected_json) + retained_specs[id(spec)] = spec + if id(spec) not in input_digests: + names = { + "reference_profiles", + declarations.get("reference_resource", "target_references"), + *( + declarations[field] + for field in ("interval_resource", "factor_context_resource") + if declarations.get(field) is not None + ), + } + if compose._has_resource(spec, compose.CHRONICLE_FEED_RESOURCE): + names.add(compose.CHRONICLE_FEED_RESOURCE) + documents = { + name: compose._raw_transport_resource(spec, name) + for name in sorted(names) + } + input_digests[id(spec)] = sha256( + json.dumps(documents, sort_keys=True, separators=(",", ":")).encode() + ).hexdigest() + if key not in views: + content_key = (input_digests[id(spec)], selected_json) + if content_key not in _IMMUTABLE_PROFILE_VIEWS: + _IMMUTABLE_PROFILE_VIEWS[content_key] = original(spec, selection) + views[key] = copy.deepcopy(_IMMUTABLE_PROFILE_VIEWS[content_key]) + return views[key] + + monkeypatch.setattr(compose, "reference_profile_view", cached) + + +def test_nz_every_instantiated_encoder_output_declares_an_explicit_graph_dtype(): + from microcosm.graph import DTYPES + + encoders = { + "concepts.encode@1", + "concepts.encode_groups@1", + "transport.scenario_override@1", + } + rows = [row for row in _instantiated_nz_rows(_spec()) if row["kernel"] in encoders] + assert rows + for row in rows: + assert row["outputs"], row["id"] + for output in row["outputs"]: + assert output.get("dtype") in DTYPES, (row["id"], output) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py new file mode 100644 index 0000000000..39b2e01ce1 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py @@ -0,0 +1,465 @@ +"""Execute the synthetic NZ-shaped transport without an installed country engine.""" + +from __future__ import annotations + +import copy +import importlib +import json +import os +from fractions import Fraction +from hashlib import sha256 +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.transport.artifact_types import INCOME_CELLS_TYPE +from microcosm.build.transport.cli import through +from microcosm.build.transport.compose import ( + compose_transport_graph, + validate_transport_activation, +) +from microcosm.build.transport.reporting_kernels import ( + REPORTING_INCOME_DECILE, + decode_income_cells, +) +from microcosm.build.transport.takeup_kernels import ( + decode_bands, + decode_cell_diagnostics, + decode_gap, + source_cell_diagnostics, +) +from microcosm.build.transport.target_kernels import decode_target_surface +from microcosm.frame import WeightKind, Weights +from microcosm.frame.reporting import carry_baseline_deciles +from microcosm.graph import ( + ArtifactOutput, + KernelContext, + Node, + NodeRejectedError, + Owned, + compile_graph, + run_graph, +) +from microcosm.graph.canonical import canonical_json +from test_support.microcosm_build.money_normalization import DIMENSION +from test_support.microcosm_build.transport_composed import _slice +from test_support.microcosm_build.transport_entitlement import run_entitlement_graph +from test_support.microcosm_build.transport_nz_toy import ( + DEMOGRAPHY, + SCENARIOS, + _cell_gates, + _classifiers, + make_nz_toy_fixture, + toy_donor_factor, +) + + +@pytest.fixture(scope="module", autouse=True) +def prove_mutant_import_paths(): + root = os.environ.get("NZ_MUTANT_PATH") + if root is None: + return + root = Path(root).resolve() + for name in ( + "microcosm.build.transport.compose", + "microcosm.build.transport.reporting_kernels", + "microcosm.frame.reporting", + "microcosm.build.transport.takeup_kernels", + "test_support.microcosm_build.transport_nz_toy", + ): + module = importlib.import_module(name) + path = Path(module.__file__).resolve() + print(f"MUTANT_IMPORT {name} {path}", flush=True) + assert path.is_relative_to(root), (name, path, root) + + +def _artifact(run, node, name): + manifest, store, _ = run + return store.load_bytes(manifest.nodes[node].opaque_artifacts[name]) + + +@pytest.fixture(scope="module") +def toy(tmp_path_factory): + root = tmp_path_factory.mktemp("synthetic-nz") + fixture = make_nz_toy_fixture(root / "fixture") + run = run_entitlement_graph(root / "run", fixture) + return fixture, run + + +def test_synthetic_nz_graph_exports_and_packages_every_scenario(toy): + fixture, run = toy + manifest, _, exported = run + assert exported.exists() + assert "nz.package" in manifest.nodes + assert len(manifest.populations["nz.create"].table("household")) == 40 + assert len(manifest.populations["nz.create"].table("person")) == 120 + assert validate_transport_activation(fixture.spec) is None + assert set(compile_graph(fixture.graph()).order) == set(manifest.nodes) + bands = decode_bands(_artifact(run, "nz.as.bands", "bands")) + assert bands["baseline_scenario"] == "S0" + diagnostics = decode_cell_diagnostics( + _artifact(run, "nz.as.bands.cell_diagnostics", "cell_diagnostics") + ) + assert {row["scenario"] for row in diagnostics["scenarios"]} == set(SCENARIOS) + report = json.loads(_artifact(run, "nz.gates.terminal", "gate_report")) + assert report["enforcement"]["artifact_permitted"] is True + + +def test_s0_deciles_carry_by_unit_id_and_each_scenario_reports_shares(toy): + fixture, run = toy + manifest = run[0] + graph = fixture.graph() + baseline = manifest.populations["nz.scn.S0"].table("family").set_index("family_id") + cells = decode_income_cells( + _artifact(run, "nz.scn.S0.reporting.income_decile", "baseline_cells") + ) + assert ( + dict(zip(cells["unit_ids"], cells["deciles"], strict=True)) + == baseline.income_decile.to_dict() + ) + for scenario in SCENARIOS[1:]: + population = ( + f"nz.scn.{scenario}" + if scenario.startswith("S") + else f"nz.v.{scenario}.housing" + ) + prefix = ( + f"nz.scn.{scenario}" if scenario.startswith("S") else f"nz.v.{scenario}" + ) + current = ( + manifest.populations[population].table("family").set_index("family_id") + ) + pd.testing.assert_series_equal( + current.income_decile.sort_index(), baseline.income_decile.sort_index() + ) + node = graph.node(f"{prefix}.reporting.income_decile") + assert node.kernel == "reporting.carry_income_decile@1" + assert node.artifact_inputs[0].producer == "nz.scn.S0.reporting.income_decile" + receipt = manifest.nodes[node.id].receipt + assert sum(receipt["weighted_shares"]) == pytest.approx(1) + assert len(receipt["weighted_shares"]) == 10 + + +def test_income_decile_carry_joins_reordered_units(): + labels = carry_baseline_deciles([70, 10, 40], [10, 40, 70], [2, 8, 5], 10) + np.testing.assert_array_equal(labels, [5, 2, 8]) + + +def test_superannuitant_reporting_equals_the_member_receipt_exclusion_set(toy): + _, run = toy + frame = run[0].populations["nz.scn.S0"] + person = frame.table("person") + family = frame.table("family").set_index("family_id") + pension_units = set(person.loc[person.receives_pension, "person_family_id"]) + assert pension_units + assert set(family.index[family.receipt_group == "superannuitant"]) == pension_units + assert ( + not person.loc[person.receives_pension, ["receives_main", "receives_other"]] + .any() + .any() + ) + + +def test_source_household_ess_survives_a_clone_split(): + original = source_cell_diagnostics([2.0, 3.0], [10.0, 20.0], [100, 200]) + split = source_cell_diagnostics( + [0.75, 1.25, 3.0], [10.0, 10.0, 20.0], [100, 100, 200] + ) + for metric in ( + "source_household_ess", + "dollar_contribution_ess", + "contribution_cv", + "maximum_single_donor_dollar_share", + ): + assert split[metric] == pytest.approx(original[metric]) + assert split["source_household_ess"] == pytest.approx(25 / 13) + + +def test_variants_normalize_once_with_their_knobs_and_hold_fixed_uses_identity(toy): + fixture, run = toy + manifest = run[0] + raw = manifest.populations["nz.open"].table("person").set_index("person_id") + scenarios = { + row["id"]: row for row in fixture.spec["resources"]["scenarios"]["scenarios"] + } + graph = fixture.graph() + for name, population, node in ( + ("S0", "nz.central", "nz.central.normalize"), + ("V1", "nz.v.V1", "nz.v.V1.central.normalize"), + ("V3", "nz.v.V3", "nz.v.V3.central.normalize"), + ("VHF", "nz.v.VHF", "nz.v.VHF.central.normalize"), + ): + assert ( + json.loads(graph.node(node).params["profile_selection"]) + == scenarios[name]["knobs"] + ) + person = manifest.populations[population].table("person").set_index("person_id") + factor = ( + Fraction(1) + if name == "VHF" + else toy_donor_factor(scenarios[name]["knobs"][DIMENSION]) + ) + expected = [ + round(round(Fraction(str(value)) * Fraction(5, 4) * 100) * factor) + for value in raw.interest_income + ] + np.testing.assert_array_equal(person.interest_income_cents, expected) + assert ( + manifest.populations["nz.central"] + .table("person") + .interest_income_cents.tolist() + != manifest.populations["nz.v.VHF"] + .table("person") + .interest_income_cents.tolist() + ) + + +def test_each_activated_calibration_row_compiles_once_and_exempt_rows_stay_out(toy): + fixture, run = toy + expected = { + row["name"] + for row in fixture.spec["resources"]["target_references"]["target_references"] + if row["metadata"]["activation_status"] == "active" + } + surface = decode_target_surface(_artifact(run, "nz.targets.compile", "surface")) + names = [row.name for row in surface.registry.specs] + assert len(names) == len(set(names)) + assert set(names) == expected + + +def test_as_reporting_alias_and_count_dollar_comparators_use_declared_measures(): + resources = {"scenarios": {}, "gates": {"gates": []}} + _cell_gates(resources) + reporting = resources["scenarios"]["gap_conventions"]["reporting_cells"] + assert reporting["measure"] == "toy_as_weekly" + assert reporting["annualisation_factor"] == 52 + + +def test_count_dollar_comparators_execute_with_separate_native_factors(toy): + fixture, run = toy + resources = fixture.spec["resources"] + factors = resources["entitlement_annualisation"] + assert factors["toy_as_recipients"] == 1 + assert factors["toy_as_expenditure"] == 52 + gap = decode_gap(_artifact(run, "nz.scn.S0.gap", "gap")) + assert gap["scenario"] == "S0" + + +def test_toy_support_gate_blocks_export_with_its_name(toy, tmp_path): + fixture, run = toy + spec = copy.deepcopy(fixture.spec) + spec["resources"]["gates"]["gates"].append( + { + "id": "synthetic_support_pending", + "gate": "support", + "phase": "terminal", + "criticality": "release_blocking", + "evidence_absent_blocks": True, + "parameters": {}, + } + ) + fixture = fixture.reprepare(spec) + graph = fixture.graph() + blocked = run_graph( + compile_graph(through(graph, "nz.gates.terminal")), + sources=fixture.sources, + store=run[1], + kernels=fixture.registry.kernels, + ) + report = json.loads( + _artifact((blocked, run[1], None), "nz.gates.terminal", "gate_report") + ) + assert report["enforcement"]["blocking"] == ["synthetic_support_pending"] + assert report["enforcement"]["artifact_permitted"] is False + with pytest.raises(NodeRejectedError, match="blocking gate report"): + run_entitlement_graph(tmp_path / "blocked", fixture, store=run[1], graph=graph) + + +def test_second_variant_normalization_refuses(toy): + fixture, _ = toy + spec = copy.deepcopy(fixture.spec) + variant = next( + row for row in spec["resources"]["scenarios"]["scenarios"] if row["id"] == "V1" + ) + normalizer = copy.deepcopy( + next(row for row in variant["nodes"] if row["kernel"] == "money.normalize@1") + ) + normalizer["id"] += ".again" + variant["nodes"].append(normalizer) + with pytest.raises(ValueError, match="normaliz|money producer"): + compose_transport_graph(spec, fixture.config) + + +def test_consumed_pending_money_names_its_missing_producer(toy): + fixture, _ = toy + spec = copy.deepcopy(fixture.spec) + row = next( + row + for row in spec["resources"]["transport_graph"]["nodes"] + if row["id"] == "nz.encode.person" + ) + row["inputs"].append(_slice("person", ["dividend_income"])) + with pytest.raises( + ValueError, match="dividend_income.*pending|pending.*dividend_income" + ): + validate_transport_activation(spec) + + +def test_parked_unexempt_reference_refuses_preflight_with_its_name(toy): + fixture, _ = toy + spec = copy.deepcopy(fixture.spec) + spec["resources"]["reference_selection"]["resources"]["target_references"][ + "exempt" + ] = [] + with pytest.raises(ValueError, match="toy_parked_calibration"): + validate_transport_activation(spec) + + +def test_required_exempt_receipt_target_refuses_preflight_with_its_name(toy): + fixture, _ = toy + spec = copy.deepcopy(fixture.spec) + name = "toy_receipt_pension" + row = next( + row + for row in spec["resources"]["precal_references"]["target_references"] + if row["name"] == name + ) + row["metadata"]["activation_status"] = "pending" + spec["resources"]["reference_selection"]["resources"]["precal_references"] = { + "exempt": [ + { + "name": name, + "activation_status": "pending", + "reason": "Synthetic tripwire.", + } + ] + } + with pytest.raises(ValueError, match="toy_receipt_pension"): + validate_transport_activation(spec) + + +def test_variant_decile_recomputation_refuses(): + classifier = _classifiers()["income"] + params = { + "classifier": canonical_json(classifier).decode(), + "classifier_sha256": sha256(canonical_json(classifier)).hexdigest(), + "scenario": "V1", + "entities": ("person", "household", "family"), + } + person = pd.DataFrame( + { + "person_id": [1, 2], + "person_household_id": [10, 20], + "person_family_id": [101, 102], + "employment_income": [100.0, 200.0], + "interest_income": [1.0, 2.0], + "rental_income": [-1.0, 0.0], + "toy_pension_payment": [10.0, 20.0], + "receives_pension": [False, True], + "receives_main": [True, False], + "receives_other": [False, False], + "toy_main_annual_gross": [50.0, 60.0], + "toy_other_annual_gross": [30.0, 40.0], + } + ) + node = Node( + "variant.income", + REPORTING_INCOME_DECILE.ref, + population="variant", + outputs=(Owned("family", "income_decile", "int64"),), + params=params, + artifact_outputs=(ArtifactOutput("baseline_cells", INCOME_CELLS_TYPE),), + ) + context = KernelContext( + node=node, + tables={ + "person": person, + "household": pd.DataFrame({"household_id": [10, 20]}), + "family": pd.DataFrame( + {"family_id": [101, 102], "family_household_id": [10, 20]} + ), + }, + weights={"household": Weights(np.array([1.0, 2.0]), WeightKind.CALIBRATED)}, + strata=pd.Series(["synthetic", "synthetic"]), + params=params, + rng=np.random.default_rng(0), + sources={}, + artifacts={}, + ) + with pytest.raises( + ValueError, match="only computes the declared baseline scenario" + ): + REPORTING_INCOME_DECILE.run(context) + + +def test_synthetic_create_covers_both_teen_parent_branches_and_nonpartnered_coparents( + toy, +): + frame = toy[1][0].populations["nz.create"] + person = frame.table("person").set_index("person_id") + assert person.loc[10007, "age"] == 16 + assert ( + person.loc[10007, "person_family_id"] != person.loc[10006, "person_family_id"] + ) + assert person.loc[10010, "age"] == 15 + assert ( + person.loc[10010, "person_family_id"] == person.loc[10009, "person_family_id"] + ) + assert pd.isna(person.loc[10012, "partner_person_id"]) + assert pd.isna(person.loc[10013, "partner_person_id"]) + assert person.loc[10014, "parent_1_person_id"] == 10012 + assert person.loc[10014, "parent_2_person_id"] == 10013 + assert ( + person.loc[10014, "person_family_id"] == person.loc[10012, "person_family_id"] + ) + assert pd.isna(person.loc[10017, "parent_1_person_id"]) + + +def test_receipt_v2_integrates_stratified_targets_and_independent_draw_profile(toy): + fixture, run = toy + manifest = run[0] + central = manifest.nodes["nz.takeup.assign"].receipt + variant = manifest.nodes["nz.v.V3.takeup.assign"].receipt + for program in central["programs"].values(): + for stratum in program["strata"]: + assert stratum["rate"] * stratum["eligible_mass"] == pytest.approx( + stratum["target"] + ) + assert ( + fixture.spec["resources"]["receipt_contract"]["receipts"]["contract_version"] + == 2 + ) + assert central["assignment_profile"] != variant["assignment_profile"] + + +def test_integer_annual_transfers_follow_quantized_gross_and_assigned_flags(toy): + person = toy[1][0].populations["nz.central"].table("person") + for short in ("main", "other"): + gross = person[f"toy_{short}_annual_gross"] + net = person[f"toy_{short}_payment"] + assert (abs(gross * 0.8 - net * 52) <= 0.0050001).all() + cents = person[f"toy_{short}_annual_gross_cents"] + np.testing.assert_array_equal( + person[f"toy_{short}_transfer_cents"], + cents * person[f"receives_{short}"].astype("int64"), + ) + np.testing.assert_array_equal( + person.toy_pension_transfer_cents, + person.toy_pension_weekly_cents * 52 * person.receives_pension.astype("int64"), + ) + + +def test_four_regional_age_cells_prepare_and_calibrate_once(toy): + fixture, run = toy + frame = run[0].populations["nz.central"] + names = [name + "_indicator" for name, _, _, _ in DEMOGRAPHY] + assert frame.table("person")[names].sum(axis=1).eq(1).all() + assert run[0].nodes["nz.targets.problem"].receipt["n_targets"] == 4 + rows = fixture.spec["resources"]["target_references"]["target_references"] + assert { + row["measure"] + for row in rows + if row["metadata"]["activation_status"] == "active" + } == set(names) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py index 843bf54a89..250e62f646 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py @@ -39,6 +39,7 @@ import copy import hashlib import json +import os import re import shutil import time @@ -59,7 +60,10 @@ from microcosm.build.transport import cli as cli_module from microcosm.build.transport import compose as compose_module from microcosm.build.transport import target_kernels as target_kernels_module -from microcosm.build.transport.artifact_types import COMPARISON_TYPE +from microcosm.build.transport.artifact_types import ( + CALIBRATION_PREPARATION_TYPE, + COMPARISON_TYPE, +) from microcosm.build.transport.cli import ( EXPORT_FILENAME, execute_transport_graph, @@ -2059,6 +2063,238 @@ def _run_prepare(node, incomes): ) +def _positive_payment_preparation(payments): + """Run the existing preparation kernel on invented comparator payments.""" + bindings = { + "schema_version": 1, + "required_inputs": {"family": ["weekly_payment"]}, + "input_domains": {"family": {"weekly_payment": {"kind": "nonnegative_number"}}}, + "columns": [ + { + "entity": "family", + "name": "positive_payment", + "predicates": [ + {"column": "weekly_payment", "operator": "gt", "value": 0} + ], + } + ], + } + node = Node( + id="positive_payment", + kernel=CALIBRATION_PREPARE.ref, + population="open", + inputs=(Slice("family", ("weekly_payment",)),), + outputs=(Owned("family", "positive_payment", "bool"),), + params={ + "bindings": canonical_json(bindings).decode(), + "references": canonical_json({"target_references": []}).decode(), + "references_sha256": "0" * 64, + }, + artifact_outputs=(ArtifactOutput("preparation", CALIBRATION_PREPARATION_TYPE),), + ) + return CALIBRATION_PREPARE.run( + KernelContext( + node=node, + tables={ + "family": pd.DataFrame( + {"family_id": range(len(payments)), "weekly_payment": payments} + ) + }, + weights={}, + strata=pd.Series([], dtype=object), + params=node.params, + rng=np.random.default_rng(0), + ) + ) + + +def test_h1_positive_payment_producer_counts_recipients_and_h2_annualises_dollars(): + payments = [0, 0.5, 3.25] + result = _positive_payment_preparation(payments) + indicator = result.columns["family", "positive_payment"] + assert indicator.tolist() == [False, True, True] + weights = np.asarray([2, 3, 5]) + assert np.sum(weights * indicator.to_numpy() * 1) == 8 + assert np.sum(weights * np.asarray(payments) * 52) == 923 + receipt = json.loads(result.artifacts["preparation"]) + assert receipt["bindings"]["columns"][0]["predicates"][0]["operator"] == "gt" + + +@pytest.mark.parametrize("payment", [-0.01, float("nan"), float("inf"), True, "1"]) +def test_h1_positive_payment_producer_refuses_invalid_money(payment): + with pytest.raises(ValueError, match="missing values|outside its declared domain"): + _positive_payment_preparation([payment]) + + +def _closed_export_spec(fixture): + """Opt a synthetic package into exact terminal slices without formula outputs.""" + spec = copy.deepcopy(fixture.spec) + document = spec["resources"]["transport_graph"] + formula = { + variable + for row in spec["resources"]["axiom_rules_bindings"]["bindings"] + for variable in row["variables"] + } + structural = { + "person": {"person_id", "person_household_id", "person_family_id"}, + "household": {"household_id"}, + "family": {"family_id"}, + } + rosters = {} + for row in document["nodes"]: + if row["kernel"] == "export.prepare@1": + role = "export" + elif ( + row["kernel"] == "gates.battery@1" and row["params"]["phase"] == "terminal" + ): + role = "gates" + else: + continue + for item in row["inputs"]: + item["columns"] = [ + name + for name in item["columns"] + if name not in formula | structural[item["entity"]] + ] + rosters[role] = {item["entity"]: item["columns"] for item in row["inputs"]} + spec["resources"]["closed_export"] = { + "closed": True, + "required": [ + "person_id", + "person_household_id", + "person_family_id", + "household_id", + "family_id", + "family_household_id", + "household_weight", + ], + "optional": sorted( + { + name + for roster in rosters.values() + for columns in roster.values() + for name in columns + } + - {"person_id", "household_id", "family_id"} + ), + "formula_owned_excluded": sorted(formula), + "entity_slices": rosters, + } + document["export_contract"] = "closed_export" + return spec + + +def test_closed_export_contract_enforces_exact_entity_slices(composed): + spec = _closed_export_spec(composed) + graph = compose_transport_graph(spec, composed.config) + compile_graph(graph) + export = graph.node("nz.export.prepare") + selected = {name for item in export.inputs for name in item.columns} + assert not selected & { + "toy_main_payment", + "person_id", + "person_household_id", + "person_family_id", + "household_id", + "family_id", + } + assert "family_household_id" in selected + spec["resources"]["transport_graph"]["nodes"] = [ + {**row, "inputs": [{"entity": "person", "columns": ["age"]}]} + if row["id"] == "nz.export.prepare" + else row + for row in spec["resources"]["transport_graph"]["nodes"] + ] + with pytest.raises(ValueError, match="exact entity-qualified whole-row slice"): + compose_transport_graph(spec, composed.config) + + +def test_closed_export_contract_refuses_missing_replay_inputs(composed): + spec = _closed_export_spec(composed) + for roster in spec["resources"]["closed_export"]["entity_slices"].values(): + roster["person"].remove("input_income") + with pytest.raises(ValueError, match="omits required replay inputs.*input_income"): + compose_transport_graph(spec, composed.config) + + +def test_closed_export_contract_requires_ordinary_family_household_link(composed): + spec = _closed_export_spec(composed) + for roster in spec["resources"]["closed_export"]["entity_slices"].values(): + roster["family"].remove("family_household_id") + with pytest.raises(ValueError, match="required columns.*family_household_id"): + compose_transport_graph(spec, composed.config) + + +def test_closed_export_contract_applies_roster_to_automatic_structural_columns( + composed, +): + spec = _closed_export_spec(composed) + spec["resources"]["closed_export"]["forbidden"] = ["person_id"] + with pytest.raises(ValueError, match="outside its closed roster"): + compose_transport_graph(spec, composed.config) + + +@pytest.mark.parametrize("kind", ["scratch_cents", "reporting", "formula"]) +def test_closed_export_contract_refuses_scratch_reporting_and_formula_outputs( + composed, kind +): + spec = _closed_export_spec(composed) + graph = compose_transport_graph(spec, composed.config) + column = { + "scratch_cents": "scratch_cents", + "reporting": "income_decile", + "formula": "toy_main_payment", + }[kind] + if kind != "formula": + kernel = ( + "money.minor_units@1" + if kind == "scratch_cents" + else "reporting.income_decile@1" + ) + graph = replace( + graph, + nodes=( + *graph.nodes, + Node( + id="extra_output", + kernel=kernel, + population="nz.terminal", + outputs=(Owned("person", column, "int64"),), + ), + ), + ) + contract = spec["resources"]["closed_export"] + contract["optional"].append(column) + for roster in contract["entity_slices"].values(): + roster["person"].append(column) + graph = replace( + graph, + nodes=tuple( + replace( + node, + inputs=tuple( + replace(item, columns=(*item.columns, column)) + if item.entity == "person" + else item + for item in node.inputs + ), + ) + if node.id in {"nz.gates.terminal", "nz.export.prepare"} + else node + for node in graph.nodes + ), + ) + if mutant_root := os.environ.get("NZ_TRANSPORT_MUTANT_ROOT"): + assert ( + Path(compose_module.__file__) + .resolve() + .is_relative_to(Path(mutant_root).resolve()) + ) + print(f"Mutation imports compose from {compose_module.__file__}") + with pytest.raises(ValueError, match="scratch, reporting or formula outputs"): + compose_module._check_export_contract(spec, graph, compile_graph(graph)) + + def test_composition_supplies_each_variant_its_own_effective_interval_companion(): spec, row = _interval_prepare_spec() incomes = [104_999, 107_000, 112_000, 114_000, 116_000] @@ -2446,7 +2682,9 @@ def test_cli_arguments(): _GAPS = ( "axiom_rules_bindings.engine.commit", "axiom_rules_bindings.engine.wheel_sha256", - "transport_graph.json", + "money column person.employment_income awaits quantile map", + "money column person.liquid_financial_assets awaits quantile map", + "money column household.rent awaits quantile map", ) @@ -2456,14 +2694,9 @@ def test_packaged_spec_refuses_with_every_activation_gap_named(): validate_transport_activation(spec) for gap in _GAPS: assert gap in str(error.value), gap - assert ( - len( - str(error.value) - .removeprefix("Transport spec is not activated: ") - .split("; ") - ) - == 3 - ) + assert len( + str(error.value).removeprefix("Transport spec is not activated: ").split("; ") + ) == len(_GAPS) for removed in ( "placeholder reference precal_references.", "placeholder reference target_references.", @@ -7410,3 +7643,33 @@ def test_composition_checks_a_normalized_companion_on_each_pass( assert compose_transport_graph(spec, config).node(writer.id).kernel == ( writer.kernel ) + + +def test_cold_build_executes_create_for_inventory_and_graph( + composed, tmp_path, monkeypatch +): + calls = [] + create = cli_module.TRANSPORT_CREATE.run + + def counted(context): + calls.append(context.node.id) + return create(context) + + monkeypatch.setattr(cli_module.TRANSPORT_CREATE, "run", counted) + prepared = prepare_transport_build( + composed.spec, + sources=composed.sources, + engines_by_binding=composed.engines_by_binding, + inventory_store=tmp_path / "inventory", + resume="forbid", + ) + assert calls == ["nz.create"] + execute_transport_graph( + prepared.graph, + prepared.registry, + prepared.sources, + out=tmp_path / "cold-run", + endpoints=prepared.endpoints, + resume="forbid", + ) + assert calls == ["nz.create", "nz.create"] diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py index 9af18e8e91..afc76ddc57 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_weight_quality.py @@ -496,7 +496,7 @@ def test_adopted_cell_targets_are_flagged_and_never_block(): outcome = report.outcomes[0] assert outcome.status is GateStatus.FAILED flags = outcome.result.details["meets_tracked_target"] - assert len(flags) == 43 * 9 + assert len(flags) == 43 * 10 assert not any(flags.values()) assert not report.blocking_outcomes(release_candidate=True) diff --git a/packages/microcosm-build/tests/golden/nz_country_spec.json b/packages/microcosm-build/tests/golden/nz_country_spec.json index 610e9b8ccb..3b424dabe2 100644 --- a/packages/microcosm-build/tests/golden/nz_country_spec.json +++ b/packages/microcosm-build/tests/golden/nz_country_spec.json @@ -1,6 +1,6 @@ { "country": "nz", - "fingerprint": "1add016352d551575a3141ad78deac1aa525b587b68d93cdf29738ed7c04f1e3", + "fingerprint": "e35055f63946fbd6b84a3963803e7655d86e6cd1eede111f351a6fc827993077", "gate_ids": [ "calibration_per_family_fit", "demography_per_family_fit", @@ -39,24 +39,32 @@ }, "resource_hashes": { "as_area_crosswalk.json": "56eeb638d77c73fd92ca541d9d2f249fd3062bece0503470e0e85dde70c4c05b", + "as_encoding.json": "91e0e9972abfaaa202a13ede6e2dbc815a4c6c9514726c970928a47adfef0e32", "as_rate_bridge.json": "c6e21af7b090283431973a5610cc3adf5d783a4a01fb0051d5dc6c8347eeabb0", "atomic_geography_support.json": "6efd09d5cde2f16d4d01e522a721191a829a754d2ce019d75bb0407085ecb4b7", - "axiom_input_closure.json": "b1bfdbff21c80b4c9aaad8dfe03c7912a9cbfebe9f2415a741e2ffc85ec017d6", + "axiom_input_closure.json": "28724fc0535093d12802430546eed74b4f8729b33dff936ef7a85c16f09de14c", "axiom_rules_bindings.json": "fb163e4842c8a910d63bd0ecf0fc81e5a55a2dddaa9cde66a52d9f4ff2c791f3", - "benefit_gross_up.json": "9194f3cf46b1e361d744d47efe6e77af03a7459cb7af8f8587d5a3e799e2c147", + "benefit_gross_up.json": "0f5779b2d0c78f8435867fc8bacd4bb471dad62bc2f55720dfaea30ce15ee862", "benefit_unit_rule.json": "a9e8cbfd38a64d2f8db0002fe8c31bb5a18fb34dbe59fa943336487ce95e2ca8", "calibration_bindings.json": "abf5278b51a13530e2c589a932942a185f5dda095c1eb3e4bc703999c24852b3", "calibration_settings.json": "56e4d1da8468245da6bd41daf263425cc65e4e9c9f11ff45eee459d3aed1989e", "chronicle_feed.json": "60a80dd0042838b0412baf9dd0985c961b4253a6876d16bcdbb8a2c6c03de0c7", - "country_package.json": "28094ea675dafa42bb2a7b20c3dbc18733e8e9af36cd09b63303487a9113f715", + "concept_mapping.json": "25171d7599a9d565e158af9ca010477db87ff0876bd374374329c0c58bf9f8bf", + "country_package.json": "18e57f36d4d5f3d047e1a9c7b832371332205a25c78140d38bf5876dbd2e39bd", "currency_bridge.json": "a23fcf09d364d22f346d3faf2ed59ddb6d2b2da88c9757e46f1d624b175ad21b", - "export_contract.json": "38496d0ea00ddfd0f9609dd965fad666e84360e6c65647f6e03f44167aa29c32", + "entitlement_graph.json": "f2395ad3a92b8e9594d12b00b70cff9a4ce99ca7ea1f4649acbb2c1ca5215d92", + "export_contract.json": "3f6c9fff388d51aa2d8cc3e75883e5637db1537f56c161d9d29de0bbb30c4155", + "export_replay_bindings.json": "0c4eda95e7f9c9d50876c6f6e8370e83e86b28aac33ec47b2e8d649b05345e13", "family_reconciliation.json": "20e3f9f3ce6266d57828d721c99d15bd3642e6c6314a7076ec38972de02bc69e", - "gates.json": "628a2f96e00c2c221b0f2c614481f6879ca3db16f2addddf7940628486ed47f0", + "gap_annualisation.json": "54762c18c549d2f1f35a630358080e3d581abab901b52a62b4f279830f3f8536", + "gates.json": "f6cab4f965f9fe278ada6ebd6d315df0b727b0b3e29962103ab8649cdc1bb96e", + "geography_assignment.json": "e25c687e061dc0eac863570d233236329c62e253585bea194af2d7213b1ac088", "geography_spine.json": "5f2b1bdd9f8768249912ffd0fbcb2f7d4ed493b51c74306f793ec12441fd383f", + "holdout_comparator_bindings.json": "6207ad2043dc5abf8526b672738f5a63db40b77edae4a1b1fe196d47ccbac8a0", "holdout_references.json": "2b8ccb4a5bdc427ccf5247994dfbfe703877f5c05baa66dfeda6883f83677daf", "mass_references.json": "1c1e7e6e1af8917917fc84072ed39b4298ad0444f04906fa6a594ebc2e48a926", "money_normalization.json": "5e817f0b859eacc44a4f96a57923b8af8498b0bbe169565650312b9547c8157c", + "money_normalization_hold_fixed.json": "0c18df28a18a8cc80cf7249ddc4e094b9931cdcdeb52e964155f8d56ae1b718d", "msd_benefit_rates_20260401.json": "1d03bcbe2ff34a27e6efe42e69871a71271c4e16fe9e3327f79acb8dba7d6b26", "msd_pre_activation_reconciliation.json": "375f69ae216b4a8ea553ad85b7fabc97b6b96dc2d6ac064df2cde076b9451be4", "precal_references.json": "a66dac9acd9becd3cc901dbd2d386813923400d403bd32b72db240ff351b3e30", @@ -68,8 +76,8 @@ "reference_profiles.json": "703f3eec0fe7071d601487c314e76e697dd242c1ce174a02b90fb2b56fcc6fec", "reference_selection.json": "687ab45531b5d45a07508b9ea035a70ae1ded6dd572c8ae6b031d950450714c5", "release_contract.json": "6cd5e3a4a2bf30e4025e04e964c393b24040937d13db7e6a07b3966a55f3b114", - "reporting_classifiers.json": "31e03f8be77e5056b8761daca7ee0ac308f0b0e67edb11cb86a7f1299012f9d6", - "scenarios.json": "e2f80a66f3974594248553f714cdd6bcdc0f55cba3e1465f80d9f952a6896b6d", + "reporting_classifiers.json": "a1ec2a1d50ae97a76ec0c663621796fa8015aa26c983cd8e6cf47842c63c3c2e", + "scenarios.json": "808dc7a2beb7e3d322a815f66a5f7a09183c8df13b0a9cfe5461b93d4da693e8", "source_stages.json": "cc82c68878ac0fc07ecbd796c1a66de6f34786ef8785125046425c37f26aff31", "spec/bundle.yaml": "e9716ce827e9006d4efdc392e7aaf9cbc33c16112a8fbc423e8f3e74ec506d8e", "spec/catalogs.yaml": "3ab2025af39cba93ead707b9463e428430a45b30696a43d0906cbcd97ed36631", @@ -77,7 +85,10 @@ "spec/sources.yaml": "afdaa4bef98cf520a1c72b6013d1e453162c761cd4b3c1548620184f6ba41297", "spec/spine.yaml": "b3e6a2832ff7671777cae113b7fc45f5e3492bb519526f229118d0851083533e", "spec/vintages.yaml": "1ecc1a3f952bd25b834c394314e8c933ddb5b095fd64ba492dddb03e3cdd803e", - "target_references.json": "feb8630eac964e616dfb9a3de264a551a3834fb891e5b54417868965118ef5b3" + "target_references.json": "feb8630eac964e616dfb9a3de264a551a3834fb891e5b54417868965118ef5b3", + "transport_atomic_geography_support.json": "53465827f67c87aaf5a06c305c082cbf1e6cdf28f3843e853d1e012635517d10", + "transport_graph.json": "e44f2065192bddac56d67a398b6161f2a18deb47795ce1e437aa70db9d824c84", + "transport_inputs.json": "16d3957214d6305e3d3f41fe6343143a411d6055c75c43d3f171db3ee659ec2d" }, "resources": [ "spec/bundle.yaml", @@ -118,7 +129,18 @@ "source_stages.json", "target_references.json", "benefit_gross_up.json", - "precalibration_stages.json" + "precalibration_stages.json", + "transport_inputs.json", + "transport_atomic_geography_support.json", + "concept_mapping.json", + "geography_assignment.json", + "money_normalization_hold_fixed.json", + "transport_graph.json", + "entitlement_graph.json", + "gap_annualisation.json", + "holdout_comparator_bindings.json", + "as_encoding.json", + "export_replay_bindings.json" ], "stage_names": [ "load_populace_us_support_pool" diff --git a/test_support/microcosm_build/transport_nz_toy.py b/test_support/microcosm_build/transport_nz_toy.py new file mode 100644 index 0000000000..e5a8c7aee8 --- /dev/null +++ b/test_support/microcosm_build/transport_nz_toy.py @@ -0,0 +1,1211 @@ +"""Synthetic end-to-end NZ-shaped graph; no output estimates New Zealand. + +The forty invented donor households, facts, tax, benefit amounts, exchange +rate, factors and AS rules serve software tests only. The graph exercises the +real transport kernels with pure Python toy engine adapters, never real data +or a country engine. Toy tax applies one flat invented rate and carries no +claim about NZ law, withholding or policy accuracy. +""" + +from __future__ import annotations + +import copy +import json +from dataclasses import replace +from fractions import Fraction +from hashlib import sha256 + +import pandas as pd + +from microcosm.build.ledger_artifact import ( + chronicle_feed_identity, + load_ledger_consumer_artifact, +) +from microcosm.build.reference_factors import resolve_reference_factor +from microcosm.build.transport.codecs import FACTS_SOURCE_CODEC +from microcosm.build.transport.compose import TransportGraphConfig +from microcosm.build.transport.registry import build_transport_registry +from microcosm.build.transport.takeup_kernels import reporting_cell_declarations +from microcosm.frame import Frame, VariableMetadata, WeightKind, Weights +from microcosm.frame.adapters.axiom import NZ_SCHEMA +from microcosm.frame.concepts import concept_for_column, split_for_transport +from microcosm.frame.transport import derive_transport_seed, read_populace_us_donor +from microcosm.frame.unit_construction import build_benefit_units +from microcosm.graph import Owned +from microcosm.graph.canonical import canonical_json +from microcosm.graph.population import dtype_for_token +from test_support.microcosm_build.chronicle_feed import write_pinned_artifact +from test_support.microcosm_build.money_normalization import ( + DIMENSION, + graph_declaration, + money_factor_declaration, + money_feed_facts, +) +from test_support.microcosm_build.transport_composed import ( + PERIOD, + ToyRulesEngine, + _calibration_totals, + _document, + _edge, + _fact, + _node, + _owned, + _references, + _select, + _slice, +) +from test_support.microcosm_build.transport_entitlement import ( + TOY_PROGRAMS, + EntitlementFixture, + EntitlementToyEngine, + _as_and_gap, + _boundary, + _bridge, + _seed, + make_entitlement_fixture, +) +from test_support.microcosm_build.transport_graph import reference_row, write_facts +from test_support.microcosm_build.transport_population import ( + UNIT_RULE as BASE_UNIT_RULE, +) +from test_support.microcosm_build.transport_population import ( + donor_pin, + write_population_sources, +) + +UNIT_RULE = replace( + BASE_UNIT_RULE, + dependent_child=replace( + BASE_UNIT_RULE.dependent_child, parent_independence_min_age=16 + ), + split_parents="first_parent_unit", +) + +SCENARIOS = ("S0", "S1", "V1", "V3", "VHF") +FLAGS = ("receives_main", "receives_other", "receives_pension") +GROSS = ("toy_main_annual_gross", "toy_other_annual_gross") +DEMOGRAPHY = tuple( + (f"toy_demography_{region}_{band}", region, lower, upper) + for region in ("R1", "R2") + for band, lower, upper in (("younger", 0, 40), ("older", 40, 100)) +) + + +def synthetic_households(tables): + """Replace the donor tables with forty invented households and clone lineage.""" + template = tables["person"].iloc[:3].to_dict("records") + persons, households = [], [] + for h in range(40): + household = 1000 + h + source = 1000 if h == 1 else household + ages = (18 + h % 23, 40 + h % 25, 15 + h % 3) + if h >= 30: + ages = (65 + (h - 30), 70 + (h - 30), 16) + for member, raw in enumerate(template): + row = dict(raw) + identity = 10000 + h * 3 + member + row.update( + person_id=identity, + person_household_id=household, + source_household_id=source, + source_person_id=f"synthetic-{identity}", + person_source_id=f"synthetic-{identity}", + age=ages[member], + A_LINENO=member + 1, + A_SPOUSE=(2 if member == 0 else 1) if member < 2 else 0, + PEPAR1=1 if member == 2 else -1, + PEPAR2=2 if member == 2 else -1, + A_EXPRRP=1 if member == 0 else (4 if member == 1 else 5), + is_household_head=member == 0, + employment_income_before_lsr=float(10 + h * 3 + member), + taxable_interest_income=float(h + member + 1), + tax_exempt_interest_income=0.0, + rental_income=-120.5 if h == 0 and member == 0 else float(h), + farm_operations_income=float(member), + pre_subsidy_rent=float(100 + h) if member == 0 else 0.0, + bank_account_assets=float(h * 2 + member), + ) + persons.append(row) + households.append( + { + "household_id": household, + "household_weight": 0.5 if h < 2 else 1.0, + "household_support_channel": "asec", + } + ) + # Teen parents retain co-resident parent pointers; a parentless child and + # non-partnered coparents exercise distinct unit-construction inputs. + for h, age in ((2, 16), (3, 15)): + first, parent, child = persons[3 * h : 3 * h + 3] + first.update(A_SPOUSE=0) + parent.update(age=age, A_SPOUSE=0, PEPAR1=1, A_EXPRRP=5) + child.update(age=1, PEPAR1=2, PEPAR2=-1) + persons[12].update(A_SPOUSE=0) + persons[13].update(A_SPOUSE=0) + persons[14].update(PEPAR2=2) + persons[17].update(PEPAR1=-1, PEPAR2=-1) + tables["person"] = pd.DataFrame(persons) + tables["household"] = pd.DataFrame(households) + + +class NzToyRulesEngine(ToyRulesEngine): + """Invented tax and region-age program adapter, carrying no country estimate.""" + + def variables(self): + if self.program().get("kind") == "tax": + return ("taxable_income",) + return super().variables() + + def variable_metadata(self, name): + if self.program().get("kind") == "tax": + return VariableMetadata(name, "person", "float", "year") + return super().variable_metadata(name) + + def materialize(self, bundle, variables, period): + if self.program().get("kind") != "tax": + program = self.program() + simple = [ + name + for name in variables + if program["outputs"][name]["operation"] != "region_age" + ] + result = super().materialize(bundle, simple, period) + person = bundle.table("person") + for name in set(variables) - set(simple): + row = program["outputs"][name] + regions = person["person_household_id"].map( + bundle.table("household").set_index("household_id")["region"] + ) + age = person[row["input"]] + result[name] = ( + (regions == row["region"]) + & (age >= row["lower"]) + & (age < row["upper"]) + ).to_numpy(dtype="int64") + return result + self.calls.append((tuple(variables), period)) + tax = bundle.table("person")["taxable_income"].to_numpy() * 0.2 + return {name: tax for name in variables} + + +class NzEntitlementToyEngine(EntitlementToyEngine): + """Feed assigned member receipts into the synthetic AS input bridge.""" + + def cache_identity(self): + return {"formula": "synthetic-assigned-receipt-as-v2"} + + def materialize(self, bundle, variables, period): + result = super().materialize(bundle, variables, period) + if self.program()["kind"] == "as": + person = bundle.table("person") + units = bundle.table("family")["family_id"] + for name, columns in ( + ("seed_as_super", ["receives_pension"]), + ("seed_as_beneficiary", ["receives_main", "receives_other"]), + ): + if name in variables and set(columns) <= set(person): + flags = ( + person[columns] + .any(axis=1) + .groupby(person["person_family_id"]) + .any() + ) + result[name] = units.map(flags).fillna(False).to_numpy(dtype=float) + return result + + +def _reprepare(fixture, spec=None): + spec = fixture.spec if spec is None else spec + bindings = spec["resources"]["axiom_rules_bindings"] + tree = fixture.sources["rulespec_nz"] + engines = { + row["id"]: ( + NzEntitlementToyEngine if row["id"] in TOY_PROGRAMS else NzToyRulesEngine + )(tree, row) + for row in bindings["bindings"] + } + registry = build_transport_registry( + bindings, tree, unit_rule=UNIT_RULE, engines_by_binding=engines + ) + return replace( + fixture, + spec=spec, + registry=registry, + engines_by_binding=engines, + config=replace(fixture.config, engine_refs=registry.engine_refs, extensions=()), + ) + + +class NzToyFixture(EntitlementFixture): + def reprepare(self, spec=None): + return _reprepare(self, spec) + + +def _normalizer(population, prefix, *, scenario=False, hold_fixed=False): + declaration = "money_hold_fixed" if hold_fixed else "money_normalization" + columns = graph_declaration()["columns"] + return _node( + f"{prefix}.normalize", + "money.normalize@1", + population=population, + sources=["money_facts"], + inputs=[_slice(entity, names) for entity, names in columns.items()], + outputs=[ + output + for entity, names in columns.items() + for name in names + for output in ( + _owned(entity, name, "float64", rewrite=True), + _owned(entity, name + "_cents", "int64"), + ) + ], + params={ + "declaration": _select(declaration), + "declaration_sha256": _select(declaration, "sha256"), + "factor_context": _select("money_factors"), + "factor_context_sha256": _select("money_factors", "sha256"), + "profile_selection": {"scenario": "knobs", "encoding": "json"} + if scenario + else _select("central_knobs"), + "chronicle_feed_pin": _select("money_feed_pin"), + }, + ) + + +def _money_bridges(population, prefix): + nodes = [] + for short, source in (("main", "toy_main_payment"), ("other", "toy_other_payment")): + output = f"toy_{short}_annual_gross" + nodes.append( + _node( + f"{prefix}.gross_up.{short}", + "simulate.solve_zero@1", + population=population, + sources=["rulespec_nz"], + inputs=[_slice("person", [source])], + outputs=[_owned("person", output, "float64")], + params={ + "engine_ref": {"binding": "toy_tax", "field": "engine_ref"}, + "period": {"binding": "toy_tax", "field": "period"}, + "variables": ["toy_tax"], + "input_overrides": "[]", + "output_coefficients": canonical_json( + [ + { + "source_entity": "person", + "source_column": source, + "coefficient": 52, + "entity": "person", + "column": output, + }, + { + "variable": "toy_tax", + "coefficient": 1, + "entity": "person", + "column": output, + }, + { + "trial": True, + "coefficient": -1, + "entity": "person", + "column": output, + }, + ] + ).decode("utf-8"), + "solve_input": canonical_json( + {"entity": "person", "column": "taxable_income"} + ).decode("utf-8"), + "bracket": [0, 1000000], + "tolerance": 0.00000001, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "quantized_residual_bound": "0.0050001", + "certificate_margin": "0.000001", + "extra_evaluation_budget": 9, + }, + ) + ) + minor = { + "entity": "person", + "columns": [ + { + "source_column": source, + "output_column": source + "_cents", + "quantum": "0.01", + "rounding": "exact", + } + for source in GROSS + ] + + [ + { + "source_column": "toy_pension_payment", + "output_column": "toy_pension_weekly_cents", + "quantum": "0.01", + "rounding": "half_even", + "source_tax_basis": "before_tax", + } + ], + } + nodes.append( + _node( + f"{prefix}.gross_up.cents", + "money.minor_units@1", + population=population, + inputs=[_slice("person", [*GROSS, "toy_pension_payment"])], + outputs=[ + _owned("person", row["output_column"], "int64") + for row in minor["columns"] + ], + params={ + "declaration": canonical_json(minor).decode("utf-8"), + }, + ) + ) + return nodes + + +def _annual_transfers(population, prefix): + transfers = [ + { + "flag_column": flag, + "source_column": source, + "source_basis": basis, + "output_column": f"toy_{short}_transfer_cents", + "source_tax_basis": "before_tax", + } + for short, flag, source, basis in ( + ("main", FLAGS[0], GROSS[0] + "_cents", "annual_gross_cents"), + ("other", FLAGS[1], GROSS[1] + "_cents", "annual_gross_cents"), + ( + "pension", + FLAGS[2], + "toy_pension_weekly_cents", + "weekly_before_tax_cents", + ), + ) + ] + declaration = { + "entity": "person", + "weeks_per_year": 52, + "exposure": {"central": 1, "convention": "full_year_stock_equivalent"}, + "transfers": transfers, + } + return _node( + f"{prefix}.annual_transfers", + "money.annual_transfers@1", + population=population, + inputs=[ + _slice("person", [*FLAGS, *(row["source_column"] for row in transfers)]) + ], + outputs=[_owned("person", row["output_column"], "int64") for row in transfers], + params={ + "declaration": canonical_json(declaration).decode("utf-8"), + }, + ) + + +def _classifiers(): + income = { + "entity": "family", + "person_entity": "person", + "unit_id_column": "family_id", + "membership_column": "person_family_id", + "weight_entity": "household", + "expected_weight_kind": "calibrated", + "tie_key": "family_id", + "boundary_scenario": "S0", + "n_bins": 10, + "rank_method": "weighted_midpoint", + "components": [ + { + "entity": "person", + "column": name, + "kind": "market", + "tax_basis": "before_tax", + "annualisation_factor": 1, + } + for name in ("employment_income", "interest_income", "rental_income") + ] + + [ + { + "entity": "person", + "column": "toy_pension_payment", + "kind": "benefit", + "tax_basis": "before_tax", + "annualisation_factor": 52, + "receipt_column": "receives_pension", + } + ], + "excluded_columns": [{"entity": "family", "column": "toy_as_weekly"}], + } + receipt = { + "entity": "family", + "person_entity": "person", + "unit_id_column": "family_id", + "membership_column": "person_family_id", + "predicates": { + "superannuitant": { + "entity": "person", + "columns": ["receives_pension"], + "reduction": "any", + }, + "beneficiary": { + "entity": "person", + "columns": ["receives_main", "receives_other"], + "reduction": "any", + }, + }, + "priority": ["superannuitant", "beneficiary"], + "default": "other", + } + income["components"] += [ + { + "entity": "person", + "column": column, + "kind": "benefit", + "tax_basis": "before_tax", + "annualisation_factor": 1, + "receipt_column": flag, + } + for column, flag in zip(GROSS, FLAGS[:2], strict=True) + ] + return {"income": income, "receipt": receipt} + + +def _reporting(population, prefix, scenario): + baseline = scenario == "S0" + income = _node( + f"{prefix}.reporting.income_decile", + "reporting.income_decile@1" if baseline else "reporting.carry_income_decile@1", + population=population, + inputs=[ + _slice( + "person", + [ + "employment_income", + "interest_income", + "rental_income", + "toy_pension_payment", + *GROSS, + *FLAGS, + ], + ), + _slice("household", ["source_household_id"]), + ], + outputs=[_owned("family", "income_decile", "int64")], + params={ + "classifier": _select("toy_reporting", "json", "income"), + "classifier_sha256": _select("toy_reporting", "sha256"), + "scenario": scenario, + "entities": ["person", "household", "family"], + }, + ) + if not baseline: + income["artifact_inputs"] = [ + _edge("baseline_cells", "nz.scn.S0.reporting.income_decile") + ] + receipt = _node( + f"{prefix}.reporting.receipt_group", + "reporting.receipt_group@1", + population=population, + inputs=[_slice("person", FLAGS)], + outputs=[_owned("family", "receipt_group", "string")], + params={ + "classifier": _select("toy_reporting", "json", "receipt"), + "classifier_sha256": _select("toy_reporting", "sha256"), + "scenario": scenario, + }, + ) + return [income, receipt] + + +def make_nz_toy_fixture(root): + """Prepare forty synthetic households and the complete transport declaration.""" + base = make_entitlement_fixture(root, variants=False) + spec = copy.deepcopy(base.spec) + r = spec["resources"] + population = write_population_sources( + root / "forty-households", + mass=120, + edit_tables=synthetic_households, + time_period=2024, + ) + frame = _synthetic_frame(population) + structural = { + "person": {"person_id", "person_household_id", "person_family_id"}, + "household": {"household_id"}, + "family": {"family_id"}, + } + create_outputs = tuple( + Owned(entity, column, str(frame.table(entity)[column].dtype)) + for entity in ("person", "household", "family") + for column in frame.table(entity) + if column not in structural[entity] + ) + r["benefit_unit_rule"] = UNIT_RULE.to_dict() + sources = dict(base.sources) + sources["donor_pool"] = population.donor + r["donor_pin"] = donor_pin(population.donor) + facts = [ + json.loads(row) + for row in sources["nz_calibration_facts"].read_text().splitlines() + ] + totals = {name: value for name, _, value in _calibration_totals(frame)} + for fact in facts: + name = fact["semantic_fact_key"].rsplit(":", 1)[-1] + if name in totals: + fact["value"] = totals[name] + write_facts(sources["nz_calibration_facts"], facts) + path, pin, context = _quarterly_money_feed(root / "money-feed") + sources["money_facts"] = path + r.update( + money_normalization=graph_declaration(), + money_feed_pin=pin, + money_factors=context, + central_knobs={DIMENSION: "central", "receipt_draw": "central"}, + toy_reporting=_classifiers(), + ) + r["money_hold_fixed"] = copy.deepcopy(r["money_normalization"]) + r["money_hold_fixed"]["index_family_factors"] = { + family: {"identity": True, "reason": "Synthetic hold-fixed sensitivity."} + for family in r["money_normalization"]["index_family_factors"] + } + # Extend the same content-pinned toy rule module, never a statutory module. + bindings = r["axiom_rules_bindings"]["bindings"] + for binding in bindings: + tree_path = sources["rulespec_nz"] / binding["rulespec_path"] + program = json.loads(tree_path.read_text()) + if binding["id"] == "main_benefit": + program["outputs"]["toy_main_payment"].update( + input="input_age", coefficient=0.04 + ) + program["outputs"]["toy_other_eligible"] = { + "input": "input_age", + "operation": "at_most", + "threshold": 64, + "dtype": "int64", + } + program["outputs"]["toy_other_adult"] = { + "input": "input_age", + "operation": "at_least", + "threshold": 18, + "dtype": "int64", + } + program["outputs"]["toy_other_payment"] = { + "input": "input_age", + "operation": "linear", + "coefficient": 0.02, + "offset": 3, + "dtype": "float64", + } + for name, region, lower, upper in DEMOGRAPHY: + program["outputs"][name] = { + "input": "input_age", + "operation": "region_age", + "region": region, + "lower": lower, + "upper": upper, + "dtype": "int64", + } + if binding["id"] == "pension": + program["outputs"]["toy_pension_eligible"]["threshold"] = 65 + payload = canonical_json(program) + tree_path.write_bytes(payload) + binding.update( + sha256=sha256(payload).hexdigest(), variables=list(program["outputs"]) + ) + r["target_references"] = _references( + [ + reference_row(name, entity="person", measure=name + "_indicator") + for name, _, _, _ in DEMOGRAPHY + ] + ) + for name, region, lower, upper in DEMOGRAPHY: + fact = _fact(name, 30) + fact["label"] = f"Synthetic {region} population ages {lower} to {upper - 1}" + fact["geography"].update(level="region", id=region, name=f"Synthetic {region}") + age_band = f"{lower}-{upper - 1}" + fact["dimensions"] = {"age_band": age_band} + fact["dimension_labels"] = {"age_band": "Synthetic age band"} + fact["dimension_value_labels"] = { + "age_band": {age_band: f"Synthetic ages {lower} to {upper - 1}"} + } + facts.append(fact) + tax = { + "entity": "person", + "kind": "tax", + "relations": [], + "outputs": {"toy_tax": {"dtype": "float64"}}, + } + tax_path = sources["rulespec_nz"] / "toy/tax.yaml" + tax_path.write_bytes(canonical_json(tax)) + bindings.append( + { + "id": "toy_tax", + "rulespec_path": "toy/tax.yaml", + "sha256": sha256(tax_path.read_bytes()).hexdigest(), + "entity": "person", + "engine_entity": "Person", + "period": PERIOD, + "variables": ["toy_tax"], + } + ) + skeleton = r["transport_graph"] + rows = skeleton["nodes"] + rows[:] = [row for row in rows if row["id"] != "nz.transport.currency"] + rows.insert( + next( + i for i, row in enumerate(rows) if row["id"].startswith("nz.transport.qmap") + ), + _boundary("nz.central", "nz.open"), + ) + central_members = { + "nz.encode.person", + "nz.rules.main_benefits", + "nz.rules.pension", + "nz.takeup.assign", + "nz.targets.compile", + "nz.targets.problem", + } + for row in rows: + if row["id"] in central_members or row["id"].startswith("nz.transport.qmap"): + row["population"] = "nz.central" + if row["id"] == "nz.calibrate": + row["base"] = "nz.central" + if row["id"] == "nz.rules.main_benefits": + row["inputs"].append(_slice("household", ["region"])) + row["outputs"] += [ + _owned("person", name, "int64") for name, _, _, _ in DEMOGRAPHY + ] + row["outputs"] += [ + _owned("person", name, dtype) + for name, dtype in ( + ("toy_other_eligible", "int64"), + ("toy_other_adult", "int64"), + ("toy_other_payment", "float64"), + ) + ] + index = next(i for i, row in enumerate(rows) if row["id"] == "nz.central") + 1 + rows.insert(index, _normalizer("nz.central", "nz.central")) + # The compiler orders these stages through their declared inputs. + rows.extend(_money_bridges("nz.central", "nz.central")) + rows.append(_annual_transfers("nz.central", "nz.central")) + _receipts(r, facts, rows) + sources["nz_calibration_facts"] = write_facts( + sources["nz_calibration_facts"], facts + ) + skeleton["sources"].append({"name": "money_facts", "codec": FACTS_SOURCE_CODEC}) + by_id = {row["id"]: row for row in rows} + by_id["nz.units.attributes"]["inputs"] = [ + _slice( + "person", + ["age", "partner_person_id", "parent_1_person_id", "parent_2_person_id"], + ), + _slice("household", ["reference_person_id"]), + _slice( + "family", + [ + "family_household_id", + "family_head_person_id", + "family_source_household_id", + ], + ), + ] + problem = by_id["nz.targets.problem"] + problem["inputs"].append(_slice("person", ["receives_other"])) + _prepare(r, rows, problem) + # A closed replay slice excludes every scratch cent, formula and reporting output. + export_inputs = [ + _slice( + "person", + [ + "age", + "employment_income", + "interest_income", + "rental_income", + "farm_self_employment_income", + "liquid_financial_assets", + *FLAGS, + "input_age", + "input_income", + "input_pension_age", + ], + ), + _slice("household", ["rent", "source_household_id", "ta", "region"]), + _slice("family", ["family_source_household_id", "family_household_id"]), + ] + by_id["nz.export.prepare"]["inputs"] = export_inputs + by_id["nz.gates.terminal"]["inputs"] = export_inputs + r["calibration"]["epochs"] = 4 + scenarios = [ + {"id": "S0", "tier": "entitlement", "knobs": r["central_knobs"]}, + { + "id": "S1", + "tier": "entitlement", + "knobs": { + "input_overrides": [ + {"entity": "family", "column": "as_assets", "value": 0} + ] + }, + }, + { + "id": "V1", + "tier": "calibration", + "knobs": {DIMENSION: "low", "receipt_draw": "central"}, + }, + { + "id": "V3", + "tier": "calibration", + "knobs": {DIMENSION: "central", "receipt_draw": "variant"}, + }, + { + "id": "VHF", + "tier": "calibration", + "knobs": { + DIMENSION: "central", + "receipt_draw": "central", + "hold_fixed": True, + }, + }, + ] + entitlement = r["entitlement_graph"] + entitlement["scenario_nodes"] = [] + for scenario in scenarios: + name = scenario["id"] + if name in ("S0", "S1"): + pop = f"nz.scn.{name}" + nodes = [_boundary(pop, "nz.as")] + if name == "S1": + nodes.append( + _seed(pop, f"{pop}.override", scenario=True, fields=("as_assets",)) + ) + nodes += _as_and_gap(pop, pop, name) + else: + nodes, pop = _variant(r, rows, name) + gap = next(row for row in nodes if row["kernel"] == "takeup.gap@1") + # Reporting edges govern the cell diagnostics' columns. + gap["inputs"].append(_slice("family", ["income_decile", "receipt_group"])) + nodes += _reporting( + pop, f"nz.scn.{name}" if name.startswith("S") else f"nz.v.{name}", name + ) + scenario["nodes"] = nodes + r["scenarios"] = {"scenarios": scenarios, "central_knobs": r["central_knobs"]} + # Seed bridge nodes explicitly read assigned receipt flags after calibration. + for row in [ + *entitlement["nodes"], + *(node for scenario in scenarios for node in scenario["nodes"]), + ]: + if any( + name in row.get("params", {}).get("variables", ()) + for name in ("seed_as_super", "seed_as_beneficiary") + ): + row["inputs"][0]["columns"] += list(FLAGS) + _cell_gates(r) + _exemptions(r) + for row in r["entitlement_gap"]["target_references"]: + r["entitlement_annualisation"][row["name"]] = ( + 52 if row["measure"] == "toy_as_weekly" else 1 + ) + fixture = NzToyFixture( + root, + spec, + TransportGraphConfig( + engine_refs=base.config.engine_refs, create_outputs=create_outputs + ), + base.registry, + sources, + base.engines_by_binding, + ) + return fixture.reprepare() + + +def _receipts(resources, facts, rows): + bindings = { + "schema_version": 1, + "required_inputs": {"person": ["age"]}, + "input_domains": {"person": {"age": {"kind": "nonnegative_integer"}}}, + "columns": [ + { + "entity": "person", + "name": name, + "predicates": [ + {"column": "age", "operator": "ge", "value": lower}, + {"column": "age", "operator": "lt", "value": upper}, + ], + } + for name, lower, upper in (("toy_young", 18, 30), ("toy_adult", 30, 65)) + ], + } + resources["calibration_bindings"] = bindings + programs = [] + for short, flag, judgments, payment in ( + ("main", FLAGS[0], ["toy_main_eligible"], "toy_main_payment"), + ( + "other", + FLAGS[1], + ["toy_other_eligible", "toy_other_adult"], + "toy_other_payment", + ), + ): + strata = [] + for filter_ in ("toy_young", "toy_adult"): + name = f"toy_receipt_{short}_{filter_}" + strata.append({"target": name, "filter": filter_}) + resources["precal_references"]["target_references"].append( + reference_row(name, entity="person", measure=flag, filter_=filter_) + ) + facts.append(_fact(name, 0.25 if short == "other" else 1.0)) + programs.append( + { + "program": f"toy.{short}", + "output": flag, + "judgment_columns": judgments, + "judgment_reduction": "all", + "payment_column": payment, + "strata": strata, + "outside_strata": "not_assigned", + } + ) + programs.append( + { + "program": "toy.pension", + "output": FLAGS[2], + "judgment_columns": ["toy_pension_eligible"], + "judgment_reduction": "all", + "payment_column": "toy_pension_payment", + "target": "toy_receipt_pension", + } + ) + resources["precal_references"]["target_references"].append( + reference_row("toy_receipt_pension", entity="person", measure=FLAGS[2]) + ) + facts.append(_fact("toy_receipt_pension", 10)) + resources["receipt_contract"] = { + "receipts": { + "contract_version": 2, + "seed_column": "take_up_seed", + "default_assignment_profile": "central", + "assignment_knob": "receipt_draw", + "assignment_profiles": { + "central": {"draw_key_suffix": ""}, + "variant": {"draw_key_suffix": "variant"}, + }, + "programs": programs, + "exclusion_groups": [[FLAGS[2], FLAGS[0], FLAGS[1]]], + } + } + receipt = next(row for row in rows if row["id"] == "nz.takeup.assign") + receipt["outputs"] = [_owned("person", flag, "bool") for flag in FLAGS] + receipt["inputs"] = [ + _slice( + "person", + [ + "age", + "take_up_seed", + "toy_main_eligible", + "toy_main_payment", + "toy_other_eligible", + "toy_other_adult", + "toy_other_payment", + "toy_pension_eligible", + "toy_pension_payment", + *(name for name, _, _, _ in DEMOGRAPHY), + ], + ) + ] + receipt["artifact_inputs"] = [_edge("surface", "nz.facts.precal")] + receipt["params"].update( + **_document("calibration_bindings", "calibration_bindings"), + profile_selection=_select("central_knobs"), + ) + + +def _prepare(resources, rows, problem): + bindings = resources["calibration_bindings"] + for name, _, _, _ in DEMOGRAPHY: + bindings["required_inputs"]["person"].append(name) + bindings["input_domains"]["person"][name] = {"kind": "nonnegative_integer"} + bindings["columns"].append( + { + "entity": "person", + "name": name + "_indicator", + "predicates": [{"column": name, "operator": "eq", "value": 1}], + } + ) + prepare = _node( + "nz.calibration.prepare", + "calibration.prepare@1", + population="nz.central", + inputs=[_slice("person", bindings["required_inputs"]["person"])], + outputs=[_owned("person", row["name"], "bool") for row in bindings["columns"]], + params={ + "bindings": _select("calibration_bindings"), + **_document("references", "target_references"), + }, + ) + rows.append(prepare) + problem["artifact_inputs"].append(_edge("preparation", prepare["id"])) + problem["inputs"].append( + _slice("person", [row["name"] for row in bindings["columns"]]) + ) + + +def _variant(resources, rows, name): + prefix = f"nz.v.{name}" + own = [_boundary(prefix, "nz.open")] + selected = [] + for row in rows: + if row.get("population") == "nz.central": + clone = copy.deepcopy(row) + clone["id"] = prefix + "." + row["id"].removeprefix("nz.") + clone["population"] = prefix + selected.append(clone) + names = { + old["id"]: new["id"] + for old, new in zip( + [row for row in rows if row.get("population") == "nz.central"], + selected, + strict=True, + ) + } + for row in selected: + if row["kernel"] == "money.normalize@1": + row["params"]["profile_selection"] = { + "scenario": "knobs", + "encoding": "json", + } + if name == "VHF": + row["params"]["declaration"] = _select("money_hold_fixed") + row["params"]["declaration_sha256"] = _select( + "money_hold_fixed", "sha256" + ) + if row["kernel"] == "takeup.assign@1": + row["params"]["profile_selection"] = { + "scenario": "knobs", + "encoding": "json", + } + for edge in row.get("artifact_inputs", []): + edge["producer"] = names.get(edge["producer"], edge["producer"]) + own += selected + calibration = copy.deepcopy( + next(row for row in rows if row["id"] == "nz.calibrate") + ) + calibration.update(id=f"{prefix}.calibrate", base=prefix) + calibration["artifact_inputs"][0]["producer"] = names["nz.targets.problem"] + population = prefix + ".housing" + group = copy.deepcopy(next(row for row in rows if row["id"] == "nz.as.inputs")) + group.update(id=prefix + ".inputs", population=population) + own += [ + calibration, + _boundary(population, calibration["id"]), + group, + _seed(population, prefix + ".seed"), + *_bridge(population, prefix), + *_as_and_gap(population, prefix, name), + ] + return own, population + + +def _cell_gates(resources): + grid = { + "entity": "family", + "measure": "toy_as_weekly", + "period": PERIOD, + "annualisation_factor": 52, + "tables": [ + { + "name": "toy_income", + "axes": [{"column": "income_decile", "values": list(range(1, 11))}], + }, + { + "name": "toy_receipt", + "axes": [ + { + "column": "receipt_group", + "values": ["beneficiary", "superannuitant", "other"], + } + ], + }, + ], + } + resources["scenarios"]["gap_conventions"] = {"reporting_cells": grid} + resources["gates"]["gates"] += [ + { + "id": "toy_weight_ess", + "gate": "weight_ess", + "phase": "terminal", + "criticality": "release_blocking", + "parameters": { + "minimum_ess_fraction": 0.1, + "aggregation_column": "source_household_id", + }, + }, + { + "id": "toy_cell_support", + "gate": "cell_support", + "phase": "terminal", + "criticality": "release_blocking", + "evidence_absent_blocks": True, + "parameters": { + "required_scenarios": list(SCENARIOS), + "required_cells": [ + row["name"] for row in reporting_cell_declarations(grid) + ], + "aggregation_column": "source_household_id", + "required_weight_entity": "household", + "required_weight_kind": "calibrated", + "minimum_cell_ess": 0.1, + "maximum_contribution_cv": 100, + "maximum_single_donor_dollar_share": 1, + "target_minimum_cell_ess": 0.1, + "target_maximum_single_donor_dollar_share": 1, + }, + }, + ] + + +def _exemptions(resources): + selections = {} + for resource, name, entity, measure in ( + ("target_references", "toy_parked_calibration", "person", "age"), + ("holdout_references", "toy_parked_tripwire", "person", "receives_main"), + ): + row = reference_row( + name, entity=entity, measure=measure, activation_status="pending" + ) + resources[resource]["target_references"].append(row) + selections[resource] = { + "exempt": [ + { + "name": name, + "activation_status": "pending", + "reason": "The synthetic negative fixture awaits its reviewed producer.", + } + ] + } + resources["reference_selection"] = {"schema_version": 1, "resources": selections} + + +def toy_donor_factor(profile): + """An independent exact oracle for the toy's four-quarter pay factor.""" + q = { + "low": Fraction(101, 100), + "central": Fraction(102, 100), + "high": Fraction(103, 100), + }[profile] + ratio = Fraction(110) * sum(q**i for i in range(4)) / 4 / 101 + return Fraction(round(ratio * 10**6), 10**6) + + +def _quarterly_money_feed(root): + facts = money_feed_facts() + quarters = [ + (f"2024-Q{i + 1}", f"2024-{3 * i + 1:02d}-01", end) + for i, end in enumerate( + ("2024-03-31", "2024-06-30", "2024-09-30", "2024-12-31") + ) + ] + target = [ + (f"2027-Q{i + 1}", f"2027-{3 * i + 1:02d}-01", end) + for i, end in enumerate( + ("2027-03-31", "2027-06-30", "2027-09-30", "2027-12-31") + ) + ] + source = [] + for i, (period, start, end) in enumerate(quarters): + fact = copy.deepcopy(facts[i // 2]) + fact.update( + aggregate_fact_key=f"source-{i}", + period={"type": "quarter", "value": period}, + period_coverage={"start_date": start, "end_date": end}, + ) + source.append(fact) + anchor = copy.deepcopy(facts[2]) + anchor.update( + period={"type": "quarter", "value": target[0][0]}, + period_coverage={"start_date": target[0][1], "end_date": target[0][2]}, + ) + growth = copy.deepcopy(facts[3]) + growth["value"] = 8.243216 + path, pin = write_pinned_artifact(root, [*source, anchor, growth]) + pin["source_commit"] = "c" * 40 + artifact = load_ledger_consumer_artifact(path, feed_pin=pin, lexical_floats=True) + identity = chronicle_feed_identity(pin) + entries = [] + for profile, delta in ( + ("low", "-4.182815"), + ("central", "0"), + ("high", "4.307665"), + ): + declaration = money_factor_declaration(profile, identity) + + def slots(template, schedule, *, projected): + result = [] + for i, (period, start, end) in enumerate(schedule): + row = copy.deepcopy(template) + row["selector"].update(period_type="quarter", period_value=period) + row["validation"]["period_coverage"] = { + "start_date": start, + "end_date": end, + } + row["sequence"] = i + if projected: + row["projection_offset"] = i + result.append(row) + return result + + declaration["source_schedule"] = slots( + declaration["source_schedule"][0], quarters, projected=False + ) + declaration["target_schedule"] = slots( + declaration["target_schedule"][0], target, projected=True + ) + declaration["subperiods_per_year"] = 4 + declaration["growth"]["scenario_delta"] = delta + declaration["expected_operational_factor"] = { + "numerator": int(toy_donor_factor(profile) * 10**6), + "denominator": 10**6, + } + factor, receipt = resolve_reference_factor( + declaration, artifact.facts, identity + ) + entries.append( + { + "declaration": declaration, + "operational_factor": factor, + "receipt": receipt, + } + ) + return ( + path, + pin, + {"schema_version": 1, "feed_identity": identity, "factors": entries}, + ) + + +def _synthetic_frame(sources): + donor = read_populace_us_donor(sources.donor, **donor_pin(sources.donor)) + tables, _ = split_for_transport(donor.tables) + for entity, table in tables.items(): + for name in table: + concept = concept_for_column(entity, name) + if concept is not None and concept.dtype == "str": + table[name] = pd.array(table[name], dtype=dtype_for_token("string")) + person, household = tables["person"], tables["household"] + family, membership = build_benefit_units(person, household, UNIT_RULE) + person[UNIT_RULE.membership_column] = membership + person["take_up_seed"] = derive_transport_seed( + donor.source_person_ids, "synthetic:composed:takeup" + ) + household["donor_support_stratum"] = pd.array( + donor.support_strata, dtype=dtype_for_token("string") + ) + tables["family"] = family + weights = pd.Series(donor.weights, index=household["household_id"]) + scale = 120 / person["person_household_id"].map(weights).sum() + return Frame( + tables, + NZ_SCHEMA, + {"household": Weights(donor.weights * scale, WeightKind.DESIGN)}, + ) diff --git a/tools/build_nz_benefit_gross_up.py b/tools/build_nz_benefit_gross_up.py index 765d3451b6..2674e37a6f 100644 --- a/tools/build_nz_benefit_gross_up.py +++ b/tools/build_nz_benefit_gross_up.py @@ -66,7 +66,7 @@ def documents(nz=NZ): { "id": "nz.benefits.rates", "kernel": "simulate.rules_by_ref@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "rules_binding": "main_benefits_rates", "inputs": [_slice(rate_inputs)], @@ -95,7 +95,7 @@ def documents(nz=NZ): { "id": f"nz.gross_up.{programme}", "kernel": "simulate.solve_zero@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [_slice([net])], "outputs": [_owned(annual)], @@ -138,7 +138,7 @@ def documents(nz=NZ): { "id": "nz.gross_up.annual_cents", "kernel": "money.minor_units@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [_slice(gross)], "outputs": [_owned(column, "int64") for column in cents], @@ -151,7 +151,7 @@ def documents(nz=NZ): { "id": "nz.gross_up.super_cents", "kernel": "money.minor_units@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [_slice([nzs_source])], "outputs": [_owned(nzs_cents, "int64")], @@ -208,7 +208,7 @@ def documents(nz=NZ): { "id": "nz.benefits.annual_transfers", "kernel": "money.annual_transfers@1", - "population": "nz.open", + "population": "nz.central", "structural": "none", "inputs": [_slice([*flags, *cents, nzs_cents])], "outputs": [_owned(column, "int64") for column in transfer_columns], @@ -219,7 +219,7 @@ def documents(nz=NZ): "schema_version": 1, "country": "nz", "generator": "tools/build_nz_benefit_gross_up.py", - "status": "reusable graph declarations; packaged transport graph wiring remains pending", + "status": "The central branch and each calibration variant run these reusable declarations after their own money normalization.", "disclosure": DISCLOSURE, "monotonicity": "For the pinned Schedule 1, every marginal tax rate falls below one; 52*n + T(G) - G decreases or stays constant as each person's own G increases.", "authoritative_value": "money.minor_units@1 recovers annual integer cents exactly from certified float64 quantum multiples and preserves the bridge's float64 output contract.", diff --git a/tools/build_nz_entitlement_graph.py b/tools/build_nz_entitlement_graph.py new file mode 100644 index 0000000000..e3ea77ed42 --- /dev/null +++ b/tools/build_nz_entitlement_graph.py @@ -0,0 +1,425 @@ +#!/usr/bin/env python3 +"""Generate NZ's post-calibration entitlement branch declarations. + +The bridge evaluations preserve the committed reg 17/18 recipes. No kernel +currently assembles their nonlinear expressions, so the graph deliberately +leaves the two final bridge inputs without a producer. The hub must close +that conflict before activation; this generator never substitutes a schedule. +""" + +from __future__ import annotations + +import argparse +import copy +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +NZ = ROOT / "packages/microcosm-build/src/microcosm/build/nz" +AS_BINDING = "accommodation_supplement" +BRIDGE_COLUMNS = ( + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", +) +PAYMENT = "accommodation_supplement_rounded_weekly_payment" +POSITIVE = "accommodation_supplement_positive_payment_indicator" +ENTITIES = ["person", "household", "family"] + + +def read(nz, name): + return json.loads((nz / f"{name}.json").read_text()) + + +def select(resource, encoding="json", *path): + result = {"resource": resource, "encoding": encoding} + if path: + result["path"] = list(path) + return result + + +def slices(entity, columns): + from build_nz_transport_graph import slice_ + + return slice_(entity, sorted(set(columns))) + + +def owned(entity, column, dtype="float64", *, rewrite=False): + result = {"entity": entity, "column": column, "dtype": dtype} + if rewrite: + result["rewrite"] = True + return result + + +def node(id, kernel, population=None, **fields): + result = {"id": id, "kernel": kernel, "structural": "none"} + if population: + result["population"] = population + return {**result, **fields} + + +def boundary(id, base): + return node( + id, + "transport.boundary@1", + structural="filter", + base=base, + inputs=[slices("person", ["age"])], + params={}, + ) + + +def binding(name, field="engine_ref"): + return {"binding": name, "field": field} + + +def _overrides(rows): + result = [] + for row in rows: + item = {"entity": "person", "column": row["variable"]} + if "unit_attribute" in row: + entity, _, column = row["unit_attribute"].partition(".") + item.update(source_entity=entity, source_column=column) + else: + item["value"] = row["value"] + result.append(item) + return result + + +def bridge_evaluations(nz, population, prefix): + """Expose the declared engine calls while leaving final assembly pending.""" + bridge = read(nz, "as_rate_bridge") + bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} + closure = read(nz, "axiom_input_closure") + rate_path = bindings["main_benefits_rates"]["rulespec_path"] + rate_inputs = [ + entry["input"] + for entry in closure["entries"] + if entry["rulespec_path"] == rate_path + ] + family_inputs = [ + "n_dependent_children", + "is_partnered", + "is_single", + "is_sole_parent", + "youngest_dependent_child_age", + ] + result = [] + evaluations = [] + reg17, reg18 = bridge["outputs"] + for index, term in enumerate(reg17["terms"]): + evaluations.append((f"reg17_{index}", term)) + for branch in reg18["branches"]: + for evaluation in branch["evaluations"]: + evaluations.append((f"reg18_{branch['id']}_{evaluation['id']}", evaluation)) + for label, evaluation in evaluations: + name = evaluation["binding"] + entity = bindings[name]["entity"] + inputs = [slices("person", rate_inputs), slices("family", family_inputs)] + overrides = _overrides(evaluation["input_overrides"]) + if entity == "family": + for override in overrides: + override["entity"] = "family" + variable = evaluation["variable"] + column = f"bridge_evaluation_{label}" + result.append( + node( + f"{prefix}.bridge.evaluate.{label}", + "simulate.counterfactual@1", + population, + sources=["rulespec_nz"], + inputs=inputs, + outputs=[owned(entity, column)], + params={ + "engine_ref": binding(name), + "period": binding(name, "period"), + "variables": [variable], + "input_overrides": overrides, + "output_coefficients": [ + { + "variable": variable, + "coefficient": 1, + "entity": entity, + "column": column, + } + ], + "resource_sha256": select("as_rate_bridge", "sha256"), + }, + description="The engine evaluates this declared bridge component; the hub still must supply the approved final assembly.", + ) + ) + return result + + +def group_node(nz, population, prefix, *, rewrite=False, scenario=True): + skeleton = read(nz, "transport_graph") + baseline = next(row for row in skeleton["nodes"] if row["id"] == "nz.as.inputs") + result = copy.deepcopy(baseline) + result.update(id=f"{prefix}.inputs", population=population) + result["kernel"] = ( + "transport.scenario_override@1" if rewrite else "concepts.encode_groups@1" + ) + for output in result["outputs"]: + if rewrite: + output["rewrite"] = True + else: + output.pop("rewrite", None) + if scenario: + result["params"]["knobs"] = {"scenario": "encoding_knobs", "encoding": "json"} + result["params"]["scenario_sha256"] = { + "scenario": "encoding_knobs", + "encoding": "sha256", + } + return result + + +def reporting_nodes(nz, population, prefix, scenario, *, baseline=False): + classifiers = read(nz, "reporting_classifiers") + income = classifiers["income_decile"] + income_columns = { + component["column"] + for component in income["components"] + if component["entity"] == "person" + } + income_columns.update( + component["receipt_column"] + for component in income["components"] + if "receipt_column" in component + ) + result = [ + node( + f"{prefix}.income_decile", + "reporting.income_decile@1" + if baseline + else "reporting.carry_income_decile@1", + population, + inputs=[ + slices("person", ["age", *income_columns] if baseline else ["age"]), + slices("household", ["source_household_id"]), + slices("family", ["family_type"]), + ], + outputs=[owned("family", "income_decile", "int64")], + params={ + "classifier": select("reporting_classifiers", "json", "income_decile"), + "classifier_sha256": select("reporting_classifiers", "sha256"), + "scenario": scenario, + "entities": ENTITIES, + }, + ) + ] + if not baseline: + result[0]["artifact_inputs"] = [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells", + } + ] + flags = { + column + for predicate in classifiers["receipt_group"]["predicates"].values() + for column in predicate["columns"] + } + result.append( + node( + f"{prefix}.receipt_group", + "reporting.receipt_group@1", + population, + inputs=[slices("person", flags), slices("family", ["family_type"])], + outputs=[owned("family", "receipt_group", "string")], + params={ + "classifier": select("reporting_classifiers", "json", "receipt_group"), + "classifier_sha256": select("reporting_classifiers", "sha256"), + "scenario": scenario, + }, + ) + ) + return result + + +def as_nodes(nz, population, prefix, scenario, *, baseline=False): + bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} + closure = read(nz, "axiom_input_closure") + as_inputs = [ + entry["input"] + for entry in closure["entries"] + if entry["rulespec_path"] == bindings[AS_BINDING]["rulespec_path"] + ] + variables = bindings[AS_BINDING]["variables"] + judgment = { + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + } + return [ + *bridge_evaluations(nz, population, prefix), + node( + f"{prefix}.as", + "simulate.rules_by_ref@1", + population, + sources=["rulespec_nz"], + inputs=[slices("person", ["age"]), slices("family", as_inputs)], + outputs=[ + owned( + "family", variable, "int64" if variable in judgment else "float64" + ) + for variable in variables + ], + rules_binding=AS_BINDING, + params={"variables": variables}, + ), + *reporting_nodes(nz, population, prefix, scenario, baseline=baseline), + node( + f"{prefix}.positive_payment", + "calibration.prepare@1", + population, + inputs=[slices("family", [PAYMENT])], + outputs=[owned("family", POSITIVE, "bool")], + params={ + "bindings": select("holdout_comparator_bindings"), + "references": select("holdout_references"), + "references_sha256": select("holdout_references", "sha256"), + }, + ), + node( + f"{prefix}.gap", + "takeup.gap@1", + population, + sources=["nz_holdout_facts"], + inputs=[ + slices("person", ["age"]), + slices("household", ["source_household_id"]), + slices( + "family", + [ + PAYMENT, + POSITIVE, + "family_type", + "income_decile", + "receipt_group", + ], + ), + ], + params={ + "country": "nz", + "references": select("holdout_references"), + "references_sha256": select("holdout_references", "sha256"), + "entities": ENTITIES, + "weight_entity": "household", + "annualisation_factors": select("gap_annualisation"), + "annualisation_sha256": select("gap_annualisation", "sha256"), + "scenario": scenario, + }, + ), + ] + + +def documents(nz=NZ): + from build_nz_transport_graph import calibration_nodes + + scenarios = read(nz, "scenarios")["scenarios"] + entitlement = [ + boundary("nz.scn.{scenario}", "nz.as"), + *as_nodes(nz, "nz.scn.{scenario}", "nz.scn.{scenario}", "{scenario}"), + ] + for scenario in scenarios: + if scenario["tier"] == "entitlement": + prefix = f"nz.scn.{scenario['id']}" + rows = [boundary(prefix, "nz.as")] + if scenario["id"] in {"S1", "S2", "S3"}: + rows.append(group_node(nz, prefix, prefix, rewrite=True)) + rows.extend( + as_nodes( + nz, prefix, prefix, scenario["id"], baseline=scenario["id"] == "S0" + ) + ) + else: + prefix = f"nz.v.{scenario['id']}" + resource = ( + "money_normalization_hold_fixed" + if scenario["id"] == "VHF" + else "money_normalization" + ) + rows = [ + boundary(prefix, "nz.open"), + *calibration_nodes(prefix, prefix, money_resource=resource), + ] + for row in rows: + if row["kernel"] == "money.normalize@1": + row["params"]["profile_selection"] = { + "scenario": "knobs", + "encoding": "json", + } + calibrated = next( + row["id"] for row in rows if row["kernel"] == "calibrate.ordered_adam@1" + ) + population = prefix + ".housing" + rows.extend( + [ + boundary(population, calibrated), + group_node(nz, population, prefix), + *as_nodes(nz, population, prefix, scenario["id"]), + ] + ) + scenario["nodes"] = rows + return { + "entitlement_graph": { + "schema_version": 1, + "nodes": [], + "scenario_nodes": entitlement, + "scenario_gap": "nz.scn.{scenario}.gap", + "variant_gap": "nz.v.{variant}.gap", + "bands": { + "id": "nz.as.bands", + "population": "nz.terminal", + "baseline_scenario": "S0", + }, + "package": {"id": "nz.package", "artifact_name": "bands"}, + "checkpoints": ["nz.as.bands"], + }, + "gap_annualisation": { + "msd_accommodation_supplement_recipients_national": 1, + "msd_annual_report_accommodation_assistance_expenditure": 52, + }, + "holdout_comparator_bindings": { + "schema_version": 1, + "required_inputs": {"family": [PAYMENT]}, + "input_domains": {"family": {PAYMENT: {"kind": "nonnegative_number"}}}, + "columns": [ + { + "entity": "family", + "name": POSITIVE, + "predicates": [{"column": PAYMENT, "operator": "gt", "value": 0}], + } + ], + }, + "scenarios": {**read(nz, "scenarios"), "scenarios": scenarios}, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--check", action="store_true") + args = parser.parse_args() + differs = [] + for name, document in documents().items(): + path = NZ / f"{name}.json" + text = json.dumps(document, indent=2) + "\n" + if args.check: + if not path.exists() or path.read_text() != text: + differs.append(str(path.relative_to(ROOT))) + else: + path.write_text(text) + if differs: + raise SystemExit( + "Generated NZ entitlement resources differ: " + ", ".join(differs) + ) + print( + "NZ entitlement resources match." + if args.check + else "Wrote NZ entitlement resources." + ) + + +if __name__ == "__main__": + main() diff --git a/tools/build_nz_transport_graph.py b/tools/build_nz_transport_graph.py new file mode 100644 index 0000000000..a37787d500 --- /dev/null +++ b/tools/build_nz_transport_graph.py @@ -0,0 +1,892 @@ +#!/usr/bin/env python3 +"""Generate NZ transport declarations without reading donor records. + +The graph leaves quantile producers and the reviewed AS assembly unresolved. +It declares the executable wiring that the current shared kernels support. +""" + +from __future__ import annotations + +import argparse +import copy +import hashlib +import json +from functools import cache +from pathlib import Path + +from microcosm.build.transport.codecs import ( + DONOR_SOURCE_CODEC, + FACTS_SOURCE_CODEC, + RULESPEC_SOURCE_CODEC, +) +from microcosm.build.transport.terminal_kernels import EXPORT_SOURCE_CODEC +from microcosm.frame import EntitySchema +from microcosm.frame.concepts import ( + CONCEPT_FRAME_SCHEMA, + SOURCE_HOUSEHOLD_ID_COLUMN, + TransportRule, + concept, + concept_schema_sha256, +) +from microcosm.frame.unit_construction import BenefitUnitRule + +ROOT = Path(__file__).resolve().parents[1] +NZ = ROOT / "packages/microcosm-build/src/microcosm/build/nz" +ENTITIES = ("person", "household", "family") + + +def read(name): + return json.loads((NZ / f"{name}.json").read_text()) + + +def select(resource, encoding="json", *path): + return {"resource": resource, "path": list(path), "encoding": encoding} + + +def document(name, resource): + return { + name: select(resource), + f"{name}_sha256": select(resource, "sha256"), + } + + +@cache +def unit_schema(): + rule = BenefitUnitRule.from_spec(read("benefit_unit_rule")) + return rule, EntitySchema( + group_entities=(*CONCEPT_FRAME_SCHEMA.group_entities, rule.entity) + ) + + +@cache +def automatic_columns(): + """Read the same auto-carried identity fields as CLI preparation.""" + _, schema = unit_schema() + return { + schema.person_entity: { + schema.person_id_column, + *(schema.membership_column(group) for group in schema.group_entities), + }, + **{group: {schema.id_column(group)} for group in schema.group_entities}, + } + + +def slice_(entity, columns): + rule, schema = unit_schema() + names = list( + dict.fromkeys( + column for column in columns if column not in automatic_columns()[entity] + ) + ) + if not names: + if entity == schema.person_entity: + names = [concept("fact:person.age").name] + elif entity == rule.entity: + names = [rule.head_column] + else: + names = [SOURCE_HOUSEHOLD_ID_COLUMN] + return {"entity": entity, "columns": names} + + +def owned(entity, column, dtype=None, **kwargs): + return { + "entity": entity, + "column": column, + **({"dtype": dtype} if dtype else {}), + **kwargs, + } + + +def edge(name, producer, artifact=None): + return {"name": name, "producer": producer, "artifact": artifact or name} + + +def node(id, kernel, **kwargs): + return {"id": id, "kernel": kernel, **kwargs} + + +def mapping_document(): + return json.loads( + ( + ROOT + / "packages/microcosm-frame/src/microcosm/frame/adapters/axiom_concept_mappings/nz.json" + ).read_text() + ) + + +def raw_slices(): + """Read maintained concepts and the unit builder's structural roster.""" + columns = { + "person": [ + "person_id", + "person_household_id", + "person_family_id", + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + ], + "household": [ + "household_id", + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + ], + "family": [ + "family_id", + "family_household_id", + "family_head_person_id", + "family_source_household_id", + ], + } + paths = set(read("axiom_input_closure")["rulespec_paths"]) + for binding in mapping_document()["bindings"]: + if binding["module"] in paths: + for id in binding["concepts"]: + item = concept(id) + if item.transport is not TransportRule.DROP: + columns[item.entity].append(item.name) + return [slice_(entity, names) for entity, names in columns.items()] + + +def closure_inputs(binding, entity): + bindings = {row["id"]: row for row in read("axiom_rules_bindings")["bindings"]} + path = bindings[binding]["rulespec_path"] + return [ + entry["input"] + for entry in read("axiom_input_closure")["entries"] + if entry["rulespec_path"] == path and entry["entity"] == entity + ] + + +def closure_entry_dtype(entry, mapping): + """Derive the graph dtype from the encoder's declared operation. + + Defaults follow apply_defaults; mapping and state values follow _apply, + _group_values and _state_values in frame/concept_mapping.py. Refuse an + unreviewed transform rather than inventing a narrower output type. + """ + if entry["class"] == "defaulted": + dtype = {bool: "bool", int: "int64", float: "float64"}.get(type(entry["value"])) + if dtype is None: + raise ValueError(f"Unsupported default dtype for {entry['input']!r}.") + return dtype + if entry.get("encoded_by") == "state_binding": + dtype = "bool" + group_rule = entry["state_binding"]["group_rule"] + elif entry.get("encoded_by") == "concept_binding": + matches = [ + binding + for binding in mapping["bindings"] + if binding["module"] == entry["rulespec_path"] + and binding["engine_entity"] == entry["entity"] + and binding["engine_input"] == entry["input"] + ] + if len(matches) != 1: + raise ValueError(f"Input {entry['input']!r} needs one concept binding.") + binding = matches[0] + transform = binding["transform"]["kind"] + if transform == "identity": + dtype = { + "bool": "bool", + "int": "int64", + "float": "float64", + "str": "string", + }[concept(binding["concepts"][0]).dtype] + elif transform in { + "predicate", + "relationship_role", + "positive", + "take_up_threshold", + "unit_composition", + }: + dtype = "bool" + elif transform == "coresident_child_count": + dtype = "int64" + elif transform in { + "share", + "sum", + "scaled_sum", + "signed_part", + "product", + "allocate_to_reference_person", + "scale", + "fraction", + }: + dtype = "float64" + else: + raise ValueError( + f"Input {entry['input']!r} has unsupported transform {transform!r}." + ) + group_rule = binding.get("group_rule") + else: + raise ValueError(f"Input {entry['input']!r} has no encoder-owned dtype.") + if group_rule == "any_member": + return "bool" + if group_rule == "sum_over_members": + if dtype in {"bool", "int64"}: + return "int64" + if dtype != "float64": + raise ValueError(f"Input {entry['input']!r} cannot sum {dtype} values.") + elif group_rule == "allocate_to_reference_unit": + return "float64" + elif group_rule not in {None, "reference_member", "household_value"}: + raise ValueError( + f"Input {entry['input']!r} has unsupported group rule {group_rule!r}." + ) + return dtype + + +def encoder_outputs(paths, entity): + """Declare every closure-owned input with its exact portable output dtype.""" + mapping = mapping_document() + dtypes = {} + for entry in read("axiom_input_closure")["entries"]: + if ( + entry["rulespec_path"] in paths + and entry["entity"] == entity + and entry.get("encoded_by") != "graph_node" + ): + name = entry["input"] + dtype = closure_entry_dtype(entry, mapping) + if name in dtypes and dtypes[name] != dtype: + raise ValueError(f"Input {name!r} has conflicting encoder dtypes.") + dtypes[name] = dtype + frame_entity = {"Person": "person", "Family": "family"}[entity] + return [owned(frame_entity, name, dtype) for name, dtype in sorted(dtypes.items())] + + +def calibration_nodes( + population="nz.central", prefix="nz", money_resource="money_normalization" +): + """Build one complete money/engine/receipt/calibration branch.""" + resources = read("money_normalization") + normalized = resources["columns"] + central = read("scenarios")["central_knobs"] + bindings = {row["id"]: row for row in read("axiom_rules_bindings")["bindings"]} + paths = [ + bindings[name]["rulespec_path"] + for name in ("main_benefits_entitlement", "main_benefits_rates", "nz_super") + ] + rows = [ + node( + f"{prefix}.money.normalize", + "money.normalize@1", + population=population, + sources=["nz_chronicle_facts"], + inputs=[slice_(entity, names) for entity, names in normalized.items()], + outputs=[ + owned(entity, column, "float64", rewrite=True) + for entity, names in normalized.items() + for column in names + ] + + [ + owned(entity, f"{column}{resources['cents_suffix']}", "int64") + for entity, names in normalized.items() + for column in names + ], + params={ + **document("declaration", money_resource), + **document("factor_context", "reference_aging"), + "profile_selection": json.dumps( + central, sort_keys=True, separators=(",", ":") + ), + }, + ), + node( + f"{prefix}.encode.person", + "concepts.encode@1", + population=population, + inputs=raw_slices()[:2], + outputs=encoder_outputs(paths, "Person"), + params={ + **document("mapping", "concept_mapping"), + **document("closure", "axiom_input_closure"), + "rulespec_paths": paths, + }, + ), + ] + for short, binding in ( + ("entitlement", "main_benefits_entitlement"), + ("super", "nz_super"), + ): + variables = bindings[binding]["variables"] + rows.append( + node( + f"{prefix}.benefits.{short}", + "simulate.rules_by_ref@1", + population=population, + sources=["rulespec_nz"], + rules_binding=binding, + inputs=[slice_("person", closure_inputs(binding, "Person"))], + outputs=[ + owned( + "person", + column, + "int64" if column.startswith("entitled_") else "float64", + ) + for column in variables + ], + params={"variables": variables}, + ) + ) + gross = copy.deepcopy(read("benefit_gross_up")["nodes"]) + for row in gross: + row["id"] = row["id"].replace("nz.", f"{prefix}.", 1) + row["population"] = population + rows.extend(gross[:-1]) + receipt = read("receipt_contract")["receipts"] + receipt_inputs = [receipt["seed_column"], "age"] + for program in receipt["programs"]: + receipt_inputs.extend(program["judgment_columns"]) + receipt_inputs.append(program["payment_column"]) + rows.append( + node( + f"{prefix}.takeup.assign", + "takeup.assign@1", + population=population, + inputs=[ + slice_( + entity, [*names, *(receipt_inputs if entity == "person" else [])] + ) + for entity, names in read("calibration_bindings")[ + "required_inputs" + ].items() + ], + outputs=[ + owned("person", program["output"], "bool") + for program in receipt["programs"] + ], + params={ + "receipt_contract": select("receipt_contract", "json", "receipts"), + "receipt_contract_sha256": select("receipt_contract", "sha256"), + }, + artifact_inputs=[edge("surface", "nz.facts.precal")], + ) + ) + rows.append(gross[-1]) + prep = read("calibration_bindings") + required = { + entity: list(names) for entity, names in prep["required_inputs"].items() + } + for program in receipt["programs"]: + required["person"].append(program["output"]) + outputs = [ + owned( + entry["entity"], + entry["name"], + "int64" + if "constant" in entry or entry in prep.get("roster_counts", ()) + else "bool", + ) + for entry in [*prep["columns"], *prep.get("roster_counts", ())] + ] + rows.append( + node( + f"{prefix}.targets.prepare", + "calibration.prepare@1", + population=population, + inputs=[slice_(entity, names) for entity, names in required.items()], + outputs=outputs, + params={ + "bindings": select("calibration_bindings"), + **document("references", "target_references"), + }, + ) + ) + rows.append( + node( + f"{prefix}.targets.compile", + "targets.compile@1", + population=population, + sources=["nz_chronicle_facts"], + params={"country": "nz", **document("references", "target_references")}, + ) + ) + problem_inputs = {entity: [] for entity in ENTITIES} + for output in outputs: + problem_inputs[output["entity"]].append(output["column"]) + problem_inputs["person"].extend( + program["output"] for program in receipt["programs"] + ) + rows.append( + node( + f"{prefix}.targets.problem", + "targets.problem@1", + population=population, + inputs=[slice_(entity, names) for entity, names in problem_inputs.items()], + params={"entities": list(ENTITIES), "weight_entity": "household"}, + artifact_inputs=[ + edge("surface", f"{prefix}.targets.compile"), + edge("preparation", f"{prefix}.targets.prepare"), + ], + ) + ) + rows.append( + node( + f"{prefix}.calibrate", + "calibrate.ordered_adam@1", + structural="reweight", + base=population, + mass="free", + inputs=[slice_("household", ["household_id"])], + weights={"entity": "household", "to_kind": "calibrated", "mass": "free"}, + params={ + name: select("calibration_settings", "value", name) + for name in ( + "epochs", + "learning_rate", + "mass", + "max_weight_ratio", + "weight_anchor", + ) + }, + artifact_inputs=[edge("problem", f"{prefix}.targets.problem")], + ) + ) + return rows + + +def as_encoder(population="nz.as", prefix="nz.as"): + bindings = {row["id"]: row for row in read("axiom_rules_bindings")["bindings"]} + path = bindings["accommodation_supplement"]["rulespec_path"] + outputs = encoder_outputs([path], "Family") + inputs = raw_slices() + inputs[0]["columns"].extend( + program["output"] + for program in read("receipt_contract")["receipts"]["programs"] + ) + inputs[1]["columns"].extend(["as_area", "as_area_alt"]) + return node( + f"{prefix}.inputs", + "concepts.encode_groups@1", + population=population, + inputs=inputs, + outputs=outputs, + params={ + **document("mapping", "concept_mapping"), + **document("closure", "axiom_input_closure"), + **document("unit_rule", "benefit_unit_rule"), + "engine_entity": "Family", + "rulespec_paths": [path], + "knobs": select("as_encoding"), + "scenario_sha256": select("as_encoding", "sha256"), + }, + ) + + +def documents(): + mapping = mapping_document() + normal = read("money_normalization") + hold = copy.deepcopy(normal) + hold["description"] = ( + "The hold-fixed sensitivity converts the same donor columns to NZD and holds all four index families fixed at factor one. It uses the central reference-aging profile." + ) + hold["status"] = ( + "The VHF scenario selects this sibling declaration in its own normalization node." + ) + hold["index_family_factors"] = { + name: { + "identity": True, + "reason": "The declared hold-fixed sensitivity holds this donor index family at factor one.", + } + for name in normal["index_family_factors"] + } + support_definition = copy.deepcopy(read("atomic_geography_support")) + modal = { + row["ta_code"]: str(row["modal_area"]) + for row in read("as_area_crosswalk")["rows"] + } + support_definition["columns"]["as_area_alt"] = { + "kind": "code", + "source": "as_area_crosswalk.json modal_area", + "vintage": "ta_2025", + "relation": "best_fit", + } + for row in support_definition["rows"]: + row["codes"]["as_area_alt"] = modal[row["codes"]["ta_code"]] + assignment = { + "version": 1, + "identity": ["household_id"], + "stream": ["sha256-u53-v1", "nz-joint-geography", 0, 21], + "outputs": { + "area": "nz_atomic_area", + "system": "nz_area_system", + "basis": "nz_area_basis", + }, + "systems": [ + { + "id": "nz-joint", + "level": "ta_region_as_area", + "code_system": "stats_nz_joint_ta_regc_as", + "vintage": "ta2026_regc2025_au2017", + "source": "nz_chronicle_facts", + "selector": {}, + "constraints": [], + "observed_area": None, + "stages": [{"level": "area", "weight": "population"}], + "layers": [ + { + "input": input_, + "output": output, + "vintage": "ta2026_regc2025_au2017", + "relation": "exact", + "source": "atomic_geography_support.json", + } + for input_, output in ( + ("ta_code", "ta_code"), + ("region_code", "household_region_code"), + ("as_area", "as_area"), + ("as_area_alt", "as_area_alt"), + ) + ], + } + ], + } + rule = document("unit_rule", "benefit_unit_rule") + rows = [ + node( + "nz.create", + "transport.create@1", + structural="create", + sources=["populace_us_donor", "nz_chronicle_facts"], + params={ + "donor_source": "populace_us_donor", + "facts_source": "nz_chronicle_facts", + "donor_sha256": select("transport_inputs", "value", "donor", "sha256"), + "donor_size": select( + "transport_inputs", "value", "donor", "size_bytes" + ), + "donor_pin_sha256": select("source_stages", "sha256"), + **rule, + **document("mass_reference", "mass_references"), + "country": "nz", + "concept_schema_sha256": concept_schema_sha256(), + "seed_stream": "nz:takeup:v0", + }, + ), + node( + "nz.open", + "transport.boundary@1", + structural="filter", + base="nz.create", + inputs=[slice_("person", ["age"])], + ), + node( + "nz.facts.precal", + "targets.compile@1", + population="nz.open", + sources=["nz_chronicle_facts"], + params={"country": "nz", **document("references", "precal_references")}, + ), + node( + "nz.geo.support", + "geography.support_from_facts@1", + population="nz.open", + params={ + "definition": select("transport_atomic_geography_support"), + "definition_sha256": select( + "transport_atomic_geography_support", "sha256" + ), + "system": "nz-joint", + }, + artifact_inputs=[edge("surface", "nz.facts.precal")], + ), + ] + geo_params = { + "definition": select("geography_assignment"), + "stream": select("geography_assignment", "value", "stream"), + } + support = [edge("nz-joint", "nz.geo.support", "support")] + assigned = list(assignment["outputs"].values()) + derived = [layer["output"] for layer in assignment["systems"][0]["layers"]] + rows.extend( + [ + node( + "nz.geo.assign", + "geography.assign_atomic@1", + population="nz.open", + inputs=[slice_("household", ["household_id"])], + outputs=[owned("household", column, "string") for column in assigned], + params=geo_params, + artifact_inputs=support, + ), + node( + "nz.geo.derive", + "geography.derive@1", + population="nz.open", + inputs=[slice_("household", assigned)], + outputs=[owned("household", column, "string") for column in derived], + params=geo_params, + artifact_inputs=support, + ), + node( + "nz.geo.gate", + "geography.gate@1", + population="nz.open", + inputs=[slice_("household", [*assigned, *derived])], + params=geo_params, + artifact_inputs=support, + ), + node( + "nz.units.attributes", + "transport.unit_attributes@1", + population="nz.open", + inputs=[ + slice_( + "person", + [ + "person_id", + "person_household_id", + "person_family_id", + "age", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + ], + ), + slice_("household", ["household_id", "reference_person_id"]), + slice_( + "family", + ["family_id", "family_household_id", "family_head_person_id"], + ), + ], + outputs=[ + owned("family", "family_type", "string"), + owned("family", "n_dependent_children", "int64"), + owned("family", "is_sole_parent", "bool"), + owned("family", "is_partnered", "bool"), + owned("family", "is_single", "bool"), + owned("family", "n_adults", "int64"), + owned("family", "youngest_dependent_child_age", "Int64"), + owned("household", "n_family_units", "int64"), + ], + params=rule, + ), + node( + "nz.central", + "transport.boundary@1", + structural="filter", + base="nz.open", + inputs=[slice_("person", ["age"])], + ), + ] + ) + rows.extend(calibration_nodes()) + rows.extend( + [ + node( + "nz.as", + "transport.boundary@1", + structural="filter", + base="nz.calibrate", + inputs=[slice_("person", ["age"])], + ), + as_encoder(), + node( + "nz.terminal", + "transport.boundary@1", + structural="filter", + base="nz.as", + inputs=[slice_("person", ["age"])], + ), + ] + ) + export = read("export_contract") + roster = {entity: [] for entity in ENTITIES} + for entity, names in export["_schema"]["structural_columns"].items(): + roster[entity].extend(names) + roster["person"].extend(["age", "sex"]) + roster["household"].extend( + [ + "source_household_id", + "donor_support_stratum", + "household_region_code", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + ] + ) + roster["family"].append("family_source_household_id") + for row in rows: + if row["kernel"] in { + "money.normalize@1", + "concepts.encode@1", + "concepts.encode_groups@1", + "takeup.assign@1", + }: + for output in row.get("outputs", ()): + if row["kernel"] != "money.normalize@1" or output.get("rewrite"): + roster[output["entity"]].append(output["column"]) + roster = { + entity: sorted(set(names) - automatic_columns()[entity]) + for entity, names in roster.items() + } + export["optional"] = sorted( + set(export["optional"]) + | {name for names in roster.values() for name in names} + - set(export["required"]) + ) + export["entity_slices"] = {"export": roster, "gates": roster} + export["_description"] = ( + "The graph enforces this closed entity-qualified roster at composition. The export and terminal gate slices retain replay inputs and assigned receipt flags and exclude formula outputs, scratch cents and reporting state. Frame projection supplies structural identifiers and memberships automatically." + ) + export["_slice_requirement"] = ( + "The graph selects export_contract for opt-in composition validation and declares its exact export and terminal gate slices." + ) + population = [slice_(entity, names) for entity, names in roster.items()] + rows.extend( + [ + node( + "nz.calibration.diagnostics", + "diagnostics.calibration@1", + population="nz.terminal", + inputs=[slice_("household", ["household_id"])], + params={"weight_entity": "household"}, + artifact_inputs=[ + edge("problem", "nz.targets.problem"), + edge("solution", "nz.calibrate"), + edge("result", "nz.calibrate"), + edge("surface", "nz.targets.compile"), + ], + ), + node( + "nz.gates.terminal", + "gates.battery@1", + population="nz.terminal", + inputs=population, + params={ + "country": "nz", + **document("gates", "gates"), + "phase": "terminal", + "release_candidate": False, + "entities": list(ENTITIES), + "weight_entity": "household", + }, + artifact_inputs=[ + edge("problem", "nz.targets.problem"), + edge("solution", "nz.calibrate"), + edge("diagnostics", "nz.calibration.diagnostics"), + edge("surface", "nz.targets.compile"), + ], + ), + node( + "nz.export.prepare", + "export.prepare@1", + population="nz.terminal", + inputs=population, + params={ + "entities": list(ENTITIES), + "weight_entity": "household", + "time_period": select( + "export_contract", "value", "_period", "dataset_time_period" + ), + "bindings": select("export_replay_bindings"), + }, + artifact_inputs=[edge("gate_report", "nz.gates.terminal")], + ), + node( + "nz.export.readback", + "export.readback@1", + population="nz.terminal", + sources=["nz_exported_dataset"], + artifact_inputs=[edge("export_descriptor", "nz.export.prepare")], + ), + node( + "nz.package", + "transport.package@1", + population="nz.terminal", + params={"bindings": {"prepared": "engine_refs"}}, + artifact_inputs=[ + edge("export_readback", "nz.export.readback"), + edge("gate_report", "nz.gates.terminal"), + edge("diagnostics", "nz.calibration.diagnostics"), + edge("surface", "nz.targets.compile"), + ], + ), + ] + ) + graph = { + "schema_version": 1, + "country": "nz", + "description": "The NZ transport declaration retains named pending money producers and unresolved reviewed AS bridge assembly. The graph makes no estimate or publication claim.", + "export_contract": "export_contract", + "sources": [ + {"name": name, "codec": codec} + for name, codec in ( + ("populace_us_donor", DONOR_SOURCE_CODEC), + ("nz_chronicle_facts", FACTS_SOURCE_CODEC), + ("nz_holdout_facts", FACTS_SOURCE_CODEC), + ("rulespec_nz", RULESPEC_SOURCE_CODEC), + ("nz_exported_dataset", EXPORT_SOURCE_CODEC), + ) + ], + "nodes": rows, + "endpoints": { + "geography": "nz.geo.gate", + "calibration": "nz.calibrate", + "terminal": ["nz.export.prepare", "nz.package"], + }, + "pending_outputs": [ + "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", + "A shared producer must carry assigned household region codes to persons before calibration", + "w4 support, release-input coverage and weight audit evidence", + "r2c income stand-in and reconciliation", + "P1 earnings, Census rent and liquid-assets quantile producers", + ], + } + return { + "export_replay_bindings.json": { + "export_contract_sha256": hashlib.sha256( + (json.dumps(export, indent=2, ensure_ascii=False) + "\n").encode() + ).hexdigest(), + "axiom_input_closure_sha256": hashlib.sha256( + (NZ / "axiom_input_closure.json").read_bytes() + ).hexdigest(), + }, + "as_encoding.json": { + "rent_allocation": "reference_unit", + "asset_test": True, + "area_column": "as_area", + "rent_factor": 1, + }, + "transport_inputs.json": { + "donor": read("source_stages")["stages"][0]["artifacts"][0] + }, + "transport_atomic_geography_support.json": support_definition, + "concept_mapping.json": mapping, + "geography_assignment.json": assignment, + "money_normalization_hold_fixed.json": hold, + "export_contract.json": export, + "transport_graph.json": graph, + } + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--check", action="store_true") + args = parser.parse_args() + for name, value in documents().items(): + target = NZ / name + rendered = json.dumps(value, indent=2, ensure_ascii=False) + "\n" + if args.check: + if not target.exists() or target.read_text() != rendered: + raise SystemExit(f"Generated resource is stale: {target}") + else: + target.write_text(rendered) + print("NZ transport graph resources match the generator.") + + +if __name__ == "__main__": + main() From 311b8148a56b6758be102a8d19a5fecf51bf6536 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 19:18:47 +0000 Subject: [PATCH 05/15] Round benefit nets to cents and carry household regions to persons H28: the NZ gross-up now reads whole-cent nets. A money.minor_units@1 node, nz.benefits.net_cents, rounds each JS, SPS and SLP weekly net half-even to cents ahead of its solve, and each solve's source term reads the cents column with coefficient 0.52. The node carries the main_benefits_rates reference, so composition attributes its outputs to the rates stage, which now lists them as derived outputs. benefit_gross_up.json discloses the rounding. No kernel changes. The rewritten test runs the packaged cents node and then the packaged solve: rows 801, 802, 901 and 902 all solve and equal the exact half-even inverse of the rounded net. A companion test shows the unrounded 901/902 tie still refuses when a solve reads the net directly. A Hypothesis property checks H13 item 5's bound: for every cent-exact net the half-cent boundaries next to the exact root keep |F(b)| >= 1/(200q) >= 2.5e-5, 25 times the margin. A second property solves generated four-decimal nets against the oracle. H27 as amended by H27a: geography.person_location@1 lives in the new transport/person_location_kernels.py. It projects a closed canonical map of household string columns to person string columns through household membership, keeps person row order and count, and refuses a missing household value or a membership that names no household. transport/registry.py gains one import and one call; compose.py gains one SKELETON_KERNELS line; graph_atomic_geography.py stays byte-identical. A hash script over the transport registry showed the registry edit moves no hash and adds only geography.person_location@1. Node nz.geo.person runs on nz.open after nz.geo.derive and writes person.region_code. Tests: test_nz_benefit_gross_up.py 16 passed, test_atomic_geography.py 44 passed, test_nz_transport_declarations.py 25 passed and 2 skipped, test_nz_msd_benefit_rates.py 6 passed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- changelog.d/nz-transport-graph.added.md | 2 +- .../microcosm/build/nz/benefit_gross_up.json | 57 +++- .../build/nz/precalibration_stages.json | 19 +- .../src/microcosm/build/nz/scenarios.json | 280 ++++++++++++++++-- .../microcosm/build/nz/transport_graph.json | 86 +++++- .../src/microcosm/build/transport/compose.py | 1 + .../transport/person_location_kernels.py | 156 ++++++++++ .../src/microcosm/build/transport/registry.py | 2 + .../shared/test_atomic_geography.py | 123 ++++++++ .../shared/test_nz_benefit_gross_up.py | 234 +++++++++++++-- .../shared/test_nz_transport_declarations.py | 20 +- .../microcosm_build/nz_msd_gross_up.py | 9 +- tools/build_nz_benefit_gross_up.py | 57 +++- tools/build_nz_transport_graph.py | 18 +- 14 files changed, 974 insertions(+), 90 deletions(-) create mode 100644 packages/microcosm-build/src/microcosm/build/transport/person_location_kernels.py diff --git a/changelog.d/nz-transport-graph.added.md b/changelog.d/nz-transport-graph.added.md index 8c1ca51376..cbcfae434c 100644 --- a/changelog.d/nz-transport-graph.added.md +++ b/changelog.d/nz-transport-graph.added.md @@ -1 +1 @@ -Declare NZ transport and entitlement branches with independent calibration variants and an identity-factor hold-fixed sensitivity. Add a synthetic replay fixture, exact export and gate contracts, and positive-payment comparator inputs. Keep the package inactive while engine pins, money quantile producers, person-region propagation and reviewed AS assembly remain open. +Declare NZ transport and entitlement branches with independent calibration variants and an identity-factor hold-fixed sensitivity. Add a synthetic replay fixture, exact export and gate contracts, and positive-payment comparator inputs. A `money.minor_units@1` node rounds each weekly benefit net half-even to whole cents before its gross-up, and `geography.person_location@1`, in its own module, carries assigned household region codes to persons. Keep the package inactive while engine pins, money quantile producers and reviewed AS assembly remain open. diff --git a/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json b/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json index 9b42c518af..56bcfa5ee3 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json +++ b/packages/microcosm-build/src/microcosm/build/nz/benefit_gross_up.json @@ -4,6 +4,7 @@ "generator": "tools/build_nz_benefit_gross_up.py", "status": "The central branch and each calibration variant run these reusable declarations after their own money normalization.", "disclosure": "Annualised Schedule 1, before credits, 52-week benefit gross-up, each benefit inverted independently of other income.", + "net_rounding": "MSD pays whole cents, so a money.minor_units@1 node rounds each weekly net payment half-even to cents before its gross-up, and each solve reads those cents with coefficient 0.52, which turns weekly cents into annual dollars over 52 weeks.", "monotonicity": "For the pinned Schedule 1, every marginal tax rate falls below one; 52*n + T(G) - G decreases or stays constant as each person's own G increases.", "authoritative_value": "money.minor_units@1 recovers annual integer cents exactly from certified float64 quantum multiples and preserves the bridge's float64 output contract.", "certificate_contract": "certificate_margin bounds the absolute difference between each computed residual and the exact residual of the declared terms at every evaluated point. Boundary residuals must exceed the margin in magnitude; ambiguous boundaries refuse, and the residual bound includes the margin. A zero margin asserts exact outputs and permits half-even ties.", @@ -81,6 +82,50 @@ ] } }, + { + "id": "nz.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -90,7 +135,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -114,7 +159,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -138,7 +183,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -162,7 +207,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -186,7 +231,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -210,7 +255,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, diff --git a/packages/microcosm-build/src/microcosm/build/nz/precalibration_stages.json b/packages/microcosm-build/src/microcosm/build/nz/precalibration_stages.json index 2b428e419b..e49b327338 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/precalibration_stages.json +++ b/packages/microcosm-build/src/microcosm/build/nz/precalibration_stages.json @@ -22,7 +22,24 @@ "purpose": "calibration_measure" } ], - "citation": "https://github.com/TheAxiomFoundation/rulespec-nz/blob/8dc2507d5f10a0467c285fed54d018ee37246798/nz/statutes/social_security/main_benefits/rates.yaml (SHA-256 7c8ebbc3e62268722529ad790e3f561bbebf807d8a4d67bba24f93cb0809ec39); https://www.workandincome.govt.nz/products/benefit-rates/benefit-rates-april-2026.html. The rates stage supplies after-tax payments after abatement." + "derived_outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "purpose": "calibration_measure" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "purpose": "calibration_measure" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "purpose": "calibration_measure" + } + ], + "citation": "https://github.com/TheAxiomFoundation/rulespec-nz/blob/8dc2507d5f10a0467c285fed54d018ee37246798/nz/statutes/social_security/main_benefits/rates.yaml (SHA-256 7c8ebbc3e62268722529ad790e3f561bbebf807d8a4d67bba24f93cb0809ec39); https://www.workandincome.govt.nz/products/benefit-rates/benefit-rates-april-2026.html. The rates stage supplies after-tax payments after abatement, and its cents node rounds them half-even to the whole cents MSD pays." }, { "id": "nz.precal.benefit_gross_up", diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index d8350682e4..16464e847f 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -8133,6 +8133,50 @@ ] } }, + { + "id": "nz.v.V1.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.v.V1.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -8142,7 +8186,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -8166,7 +8210,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -8190,7 +8234,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -8214,7 +8258,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -8238,7 +8282,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -8262,7 +8306,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -12672,6 +12716,50 @@ ] } }, + { + "id": "nz.v.V2.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.v.V2.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -12681,7 +12769,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -12705,7 +12793,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -12729,7 +12817,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -12753,7 +12841,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -12777,7 +12865,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -12801,7 +12889,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -17211,6 +17299,50 @@ ] } }, + { + "id": "nz.v.V3.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.v.V3.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -17220,7 +17352,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -17244,7 +17376,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -17268,7 +17400,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -17292,7 +17424,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -17316,7 +17448,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -17340,7 +17472,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -21750,6 +21882,50 @@ ] } }, + { + "id": "nz.v.V4.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.v.V4.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -21759,7 +21935,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -21783,7 +21959,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -21807,7 +21983,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -21831,7 +22007,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -21855,7 +22031,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -21879,7 +22055,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -26289,6 +26465,50 @@ ] } }, + { + "id": "nz.v.VHF.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.v.VHF.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -26298,7 +26518,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -26322,7 +26542,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -26346,7 +26566,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -26370,7 +26590,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -26394,7 +26614,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -26418,7 +26638,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, diff --git a/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json index ede43712a5..d77e3c0b2a 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json +++ b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json @@ -252,6 +252,35 @@ } ] }, + { + "id": "nz.geo.person", + "kernel": "geography.person_location@1", + "population": "nz.open", + "inputs": [ + { + "entity": "household", + "columns": [ + "household_region_code" + ] + }, + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "region_code", + "dtype": "string" + } + ], + "params": { + "columns": "{\"household_region_code\":\"region_code\"}" + } + }, { "id": "nz.geo.gate", "kernel": "geography.gate@1", @@ -1351,6 +1380,50 @@ ] } }, + { + "id": "nz.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.central", + "structural": "none", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, { "id": "nz.gross_up.jobseeker_support", "kernel": "simulate.solve_zero@1", @@ -1360,7 +1433,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment_cents" ] } ], @@ -1384,7 +1457,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -1408,7 +1481,7 @@ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment" + "sole_parent_support_net_weekly_payment_cents" ] } ], @@ -1432,7 +1505,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -1456,7 +1529,7 @@ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment" + "supported_living_payment_net_weekly_payment_cents" ] } ], @@ -1480,7 +1553,7 @@ "individual_income_tax_before_credits" ], "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", "bracket": [ 0, @@ -4258,7 +4331,6 @@ }, "pending_outputs": [ "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", - "A shared producer must carry assigned household region codes to persons before calibration", "w4 support, release-input coverage and weight audit evidence", "r2c income stand-in and reconciliation", "P1 earnings, Census rent and liquid-assets quantile producers" diff --git a/packages/microcosm-build/src/microcosm/build/transport/compose.py b/packages/microcosm-build/src/microcosm/build/transport/compose.py index ebb2761a92..5252843b4d 100644 --- a/packages/microcosm-build/src/microcosm/build/transport/compose.py +++ b/packages/microcosm-build/src/microcosm/build/transport/compose.py @@ -170,6 +170,7 @@ "geography.support_from_facts@1", "geography.assign_atomic@1", "geography.derive@1", + "geography.person_location@1", "geography.gate@1", "diagnostics.calibration@1", "gates.battery@1", diff --git a/packages/microcosm-build/src/microcosm/build/transport/person_location_kernels.py b/packages/microcosm-build/src/microcosm/build/transport/person_location_kernels.py new file mode 100644 index 0000000000..988a6db5d8 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/transport/person_location_kernels.py @@ -0,0 +1,156 @@ +"""Carry assigned household location strings to persons. + +``geography.derive@1`` owns household strings only. ``geography.person_location@1`` +projects declared household string columns to person string columns through +the structural household membership. Its ``columns`` parameter is a closed +canonical JSON object from household column to person column. Every person +receives exactly their own household's value, in the person table's row +order. A person whose household id names no household row, a missing +household value or a non-string value refuses, naming the rows. The kernel +changes no weights, rows, memberships or household columns. +""" + +from __future__ import annotations + +import json +from collections.abc import Mapping + +import numpy as np +import pandas as pd + +from microcosm.frame import EntitySchema +from microcosm.graph import ( + Capabilities, + Determinism, + KernelBase, + KernelContext, + KernelRegistry, + KernelResult, + Numeric, + SeedSource, + source_hash, +) +from microcosm.graph.canonical import canonical_json + +__all__ = [ + "GEOGRAPHY_PERSON_LOCATION", + "GeographyPersonLocationKernel", + "register_person_location_kernels", +] + +_DEPENDENCIES = ("numpy", "pandas") +#: The household partition and the person membership that projects it. +_SCHEMA = EntitySchema(group_entities=("household",)) +_HOUSEHOLD = "household" + + +def _columns(params: Mapping[str, object]) -> dict[str, str]: + if set(params) != {"columns"} or not isinstance(params["columns"], str): + raise ValueError( + "geography.person_location@1 requires exactly its canonical columns map." + ) + try: + columns = json.loads(params["columns"]) + except ValueError as error: + raise ValueError("Person location columns must be valid JSON.") from error + if ( + not isinstance(columns, dict) + or not columns + or canonical_json(columns).decode("utf-8") != params["columns"] + or any( + not isinstance(key, str) + or not key + or not isinstance(value, str) + or not value + for key, value in columns.items() + ) + or len(set(columns.values())) != len(columns) + ): + raise ValueError( + "Person location columns must be a canonical nonempty map of distinct " + "household and person column names." + ) + structural = { + _SCHEMA.person_id_column, + _SCHEMA.membership_column(_HOUSEHOLD), + _SCHEMA.id_column(_HOUSEHOLD), + } + if structural & (set(columns) | set(columns.values())): + raise ValueError("Person location columns cannot name structural columns.") + return columns + + +def _refuse(mask, ids, message): + if mask.any(): + raise ValueError( + f"geography.person_location@1 {message}; rows {ids[mask].tolist()!r}." + ) + + +class GeographyPersonLocationKernel(KernelBase): + """Project household location strings to persons through membership.""" + + ref = "geography.person_location@1" + capabilities = Capabilities( + determinism=Determinism.DETERMINISTIC, + numeric=Numeric.BITWISE, + seed_source=SeedSource.NONE, + dependencies=_DEPENDENCIES, + ) + + def implementation_hash(self) -> str: + return source_hash(type(self), canonical_json, dependencies=_DEPENDENCIES) + + def run(self, context: KernelContext) -> KernelResult: + columns = _columns(context.params) + declared = {(o.entity, o.column, o.dtype) for o in context.node.outputs} + if declared != {(_SCHEMA.person_entity, c, "string") for c in columns.values()}: + raise ValueError( + "Person location owned outputs must be exactly the mapped person " + "string columns." + ) + if ( + _HOUSEHOLD not in context.tables + or _SCHEMA.person_entity not in context.tables + ): + raise ValueError("Person location requires household and person tables.") + households = context.tables[_HOUSEHOLD] + persons = context.tables[_SCHEMA.person_entity] + missing = sorted(set(columns) - set(households.columns)) + if missing: + raise ValueError(f"Person location requires household columns {missing!r}.") + household_ids = pd.Index(households[_SCHEMA.id_column(_HOUSEHOLD)]) + if not household_ids.is_unique: + raise ValueError("Person location requires unique household ids.") + membership = persons[_SCHEMA.membership_column(_HOUSEHOLD)].to_numpy() + person_ids = persons[_SCHEMA.person_id_column].to_numpy() + positions = household_ids.get_indexer(membership) + _refuse(positions < 0, person_ids, "person household ids match no household") + index = pd.Index(person_ids, name=_SCHEMA.person_id_column) + result = {} + receipt = {} + for source, target in columns.items(): + values = households[source].to_numpy(dtype=object) + invalid = np.asarray( + [not isinstance(value, str) for value in values], dtype=bool + ) + _refuse( + invalid, + household_ids.to_numpy(), + f"household {source} must hold a string on every household", + ) + projected = values[positions] + result[(_SCHEMA.person_entity, target)] = pd.Series( + pd.array(projected, dtype="string"), index=index, name=target + ) + receipt[target] = {"source": f"{_HOUSEHOLD}.{source}", "n": len(projected)} + return KernelResult(columns=result, receipt={"columns": receipt}) + + +GEOGRAPHY_PERSON_LOCATION = GeographyPersonLocationKernel() + + +def register_person_location_kernels(registry: KernelRegistry) -> KernelRegistry: + """Install the person-location kernel; repeating it is idempotent.""" + registry.register(GEOGRAPHY_PERSON_LOCATION) + return registry diff --git a/packages/microcosm-build/src/microcosm/build/transport/registry.py b/packages/microcosm-build/src/microcosm/build/transport/registry.py index e13f2af096..8c83310d7c 100644 --- a/packages/microcosm-build/src/microcosm/build/transport/registry.py +++ b/packages/microcosm-build/src/microcosm/build/transport/registry.py @@ -47,6 +47,7 @@ from .gate_kernels import register_gate_kernel from .geography_kernels import register_geography_kernels from .money_kernels import register_money_kernels +from .person_location_kernels import register_person_location_kernels from .population_kernels import register_population_kernels from .reporting_kernels import register_reporting_kernels from .takeup_kernels import register_takeup_kernels @@ -374,6 +375,7 @@ def build_transport_registry( register_transport_codecs(codecs) register_transport_population_kernels(kernels) register_atomic_geography_kernels(kernels) + register_person_location_kernels(kernels) register_target_kernels(kernels) kernels.register(CALIBRATE_ORDERED_ADAM) register_gate_kernel(kernels, TRANSPORT_GATE_REGISTRY) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_atomic_geography.py b/packages/microcosm-build/tests/engine_free/shared/test_atomic_geography.py index ccc4b172c8..ac93c30fbd 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_atomic_geography.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_atomic_geography.py @@ -1,6 +1,7 @@ """Invented support controls; no survey, Census or administrative files are read.""" from copy import deepcopy +from dataclasses import replace import numpy as np import pandas as pd @@ -509,3 +510,125 @@ def test_typed_geography_gate_edge_refuses_invalid_producer_contract(defect): (base, *nodes, consumer), ) ) + + +def _person_location_run(persons, households, *, columns=None, unmatched=None): + from microcosm.build.transport.person_location_kernels import ( + GEOGRAPHY_PERSON_LOCATION, + ) + from microcosm.graph import Slice + from test_support.microcosm_frame.kernels import _context + + schema = EntitySchema(group_entities=("household",)) + frame = Frame( + {"person": persons, "household": households}, + schema, + {"household": Weights(np.ones(len(households)), WeightKind.DESIGN)}, + ) + node = Node( + "toy.geo.person", + GEOGRAPHY_PERSON_LOCATION.ref, + inputs=( + Slice("household", ("household_region_code",)), + Slice("person", ("person_household_id",)), + ), + outputs=(Owned("person", "region_code", "string"),), + params={ + "columns": canonical_json( + columns or {"household_region_code": "region_code"} + ).decode() + }, + ) + context = _context(frame, node, weighted_entities=("household",)) + if unmatched is not None: + # Frame refuses a membership that names no household, so the kernel's + # own guard is reached only through a hand-built view. + person, household = unmatched + tables = dict(context.tables) + view = tables["person"].copy() + view.loc[view["person_id"] == person, "person_household_id"] = household + tables["person"] = view + context = replace(context, tables=tables) + return GEOGRAPHY_PERSON_LOCATION.run(context) + + +def _location_tables(): + # Persons sit in an order unrelated to household rows, so a projection by + # row position gives some persons another household's code. + persons = pd.DataFrame( + { + "person_id": [17, 3, 11, 5, 8], + "person_household_id": [30, 10, 20, 30, 10], + } + ) + households = pd.DataFrame( + { + "household_id": [10, 20, 30], + "household_region_code": pd.array(["01", "99", "13"], dtype="string"), + } + ) + return persons, households + + +def test_person_location_gives_every_person_their_own_households_code(): + persons, households = _location_tables() + result = _person_location_run(persons, households) + values = result.columns["person", "region_code"] + # Row order and count hold: the result indexes the persons as given. + assert values.index.tolist() == persons["person_id"].tolist() + assert str(values.dtype) == "string" + by_household = dict( + zip( + households["household_id"], + households["household_region_code"], + strict=True, + ) + ) + assert values.tolist() == [ + by_household[household] for household in persons["person_household_id"] + ] + assert values.tolist() == ["13", "01", "99", "13", "01"] + # The household table is read, never written. + assert set(result.columns) == {("person", "region_code")} + + +@pytest.mark.parametrize("missing", [None, pd.NA]) +def test_person_location_refuses_a_missing_household_value(missing): + persons, households = _location_tables() + households["household_region_code"] = pd.array( + ["01", missing, "13"], dtype="string" + ) + with pytest.raises(ValueError, match=r"must hold a string.*rows \[20\]"): + _person_location_run(persons, households) + + +def test_person_location_refuses_a_person_whose_household_is_absent(): + persons, households = _location_tables() + with pytest.raises(ValueError, match=r"match no household; rows \[11\]"): + _person_location_run(persons, households, unmatched=(11, 40)) + + +@pytest.mark.parametrize( + "columns", + [ + {"household_region_code": "person_household_id"}, + {"household_id": "region_code"}, + ], +) +def test_person_location_refuses_structural_column_maps(columns): + persons, households = _location_tables() + with pytest.raises(ValueError, match="structural"): + _person_location_run(persons, households, columns=columns) + + +def test_person_location_registers_outside_the_shared_geography_module(): + from microcosm.build.transport.person_location_kernels import ( + register_person_location_kernels, + ) + + shared = KernelRegistry() + register_atomic_geography_kernels(shared) + assert "geography.person_location@1" not in shared.refs() + registry = register_person_location_kernels(KernelRegistry()) + register_person_location_kernels(registry) + assert registry.refs() == ("geography.person_location@1",) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py index 0433fb1579..0357a9a043 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_benefit_gross_up.py @@ -10,6 +10,7 @@ import copy import json +import math import re from dataclasses import replace from fractions import Fraction @@ -17,11 +18,14 @@ import numpy as np import pandas as pd import pytest +from hypothesis import given, settings +from hypothesis import strategies as st from microcosm.build.transport.compose import ( compose_transport_graph, load_transport_spec, ) +from microcosm.build.transport.money_kernels import MONEY_MINOR_UNITS from microcosm.frame import Frame, WeightKind, Weights from microcosm.frame.adapters.axiom import NZ_SCHEMA, axiom_concept_mapping from microcosm.frame.adapters.axiom_input_surface import load_axiom_input_surface @@ -38,7 +42,12 @@ from test_support.microcosm_build.transport_composed import make_composed_fixture from test_support.microcosm_frame.kernels import _context from test_support.paths import paths_for -from tools.build_nz_benefit_gross_up import DISCLOSURE, PROGRAMMES, documents +from tools.build_nz_benefit_gross_up import ( + DISCLOSURE, + NET_ROUNDING, + PROGRAMMES, + documents, +) _BUILD = paths_for("microcosm-build") _NZ = _BUILD.package / "src/microcosm/build/nz" @@ -137,17 +146,19 @@ def test_schedule_binding_is_compiled_and_taxable_income_is_solver_owned(): assert all("taxable_income" not in row["columns"] for row in node["inputs"]) -def test_affine_residual_uses_after_abatement_nets_and_engine_tax_only(): +def test_affine_residual_uses_whole_cent_nets_and_engine_tax_only(): document = _load("benefit_gross_up") assert document["disclosure"] == DISCLOSURE + assert document["net_rounding"] == NET_ROUNDING solves = [ node for node in document["nodes"] if node["kernel"] == "simulate.solve_zero@1" ] assert len(solves) == 3 for programme, node in zip(PROGRAMMES, solves, strict=True): params = node["params"] - net, gross = f"{programme}_net_weekly_payment", f"{programme}_annual_gross" - assert node["inputs"] == [{"entity": "person", "columns": [net]}] + cents = f"{programme}_net_weekly_payment_cents" + gross = f"{programme}_annual_gross" + assert node["inputs"] == [{"entity": "person", "columns": [cents]}] assert params["engine_ref"] == { "binding": "income_tax_schedule_1", "field": "engine_ref", @@ -160,8 +171,8 @@ def test_affine_residual_uses_after_abatement_nets_and_engine_tax_only(): assert terms == [ { "source_entity": "person", - "source_column": net, - "coefficient": 52, + "source_column": cents, + "coefficient": 0.52, "entity": "person", "column": gross, }, @@ -173,6 +184,8 @@ def test_affine_residual_uses_after_abatement_nets_and_engine_tax_only(): }, {"trial": True, "coefficient": -1, "entity": "person", "column": gross}, ] + # 0.52 enters the quantized solve as its shortest decimal, exactly 52/100. + assert Fraction(str(terms[0]["coefficient"])) == Fraction(52, 100) assert params["variables"] == ["individual_income_tax_before_credits"] assert json.loads(params["solve_input"]) == { "entity": "person", @@ -193,6 +206,44 @@ def test_affine_residual_uses_after_abatement_nets_and_engine_tax_only(): ) +def test_net_cents_node_rounds_half_even_ahead_of_every_gross_up(): + nodes = _load("benefit_gross_up")["nodes"] + ids = [node["id"] for node in nodes] + cents_node = nodes[ids.index("nz.benefits.net_cents")] + assert ids.index("nz.benefits.rates") < ids.index("nz.benefits.net_cents") + assert all( + ids.index("nz.benefits.net_cents") < ids.index(f"nz.gross_up.{p}") + for p in PROGRAMMES + ) + assert cents_node["kernel"] == "money.minor_units@1" + assert cents_node["params"]["engine_ref"] == { + "binding": "main_benefits_rates", + "field": "engine_ref", + } + declaration = json.loads(cents_node["params"]["declaration"]) + assert declaration == { + "entity": "person", + "columns": [ + { + "source_column": f"{p}_net_weekly_payment", + "output_column": f"{p}_net_weekly_payment_cents", + "quantum": "0.01", + "rounding": "half_even", + } + for p in PROGRAMMES + ], + } + assert {row["dtype"] for row in cents_node["outputs"]} == {"int64"} + (rates,) = [ + stage + for stage in _load("precalibration_stages")["stages"] + if stage["rules_binding"] == "main_benefits_rates" + ] + assert [row["column"] for row in rates["derived_outputs"]] == [ + f"{p}_net_weekly_payment_cents" for p in PROGRAMMES + ] + + def test_direct_annual_cents_exposure_and_super_before_tax_are_explicit(): document = _load("benefit_gross_up") nodes = {node["id"]: node for node in document["nodes"]} @@ -319,6 +370,7 @@ def test_real_gross_up_declarations_compose_with_all_stage_nodes_nonstructural( # the same non-structural assertion above covers that metadata node. assert { "nz.benefits.rates", + "nz.benefits.net_cents", "nz.gross_up.annual_cents", *(f"nz.gross_up.{p}" for p in PROGRAMMES), } <= set(found) @@ -342,15 +394,11 @@ def test_private_tax_output_cannot_leak_to_calibration(composed_gross_up): compose_transport_graph(spec, config) -def _solve_fractional_weekly_nets(nets, ids): +def _solve_weekly_nets(nets, ids): + """Run the packaged net-cents node, then the packaged JS gross-up solve.""" spec = load_transport_spec("nz") - row = next( - row - for row in spec["resources"]["benefit_gross_up"]["nodes"] - if row["id"] == "nz.gross_up.jobseeker_support" - ) + rows = {row["id"]: row for row in spec["resources"]["benefit_gross_up"]["nodes"]} engine_ref = "fractional-net-schedule-fixture" - node = _node(row, spec, engine_ref) frame = Frame( { "person": pd.DataFrame( @@ -358,9 +406,13 @@ def _solve_fractional_weekly_nets(nets, ids): "person_id": ids, "person_household_id": ids, "person_family_id": ids, - "jobseeker_support_net_weekly_payment": [ - float(net) for net in nets - ], + **{ + f"{p}_net_weekly_payment": [ + float(net) if p == "jobseeker_support" else 0.0 + for net in nets + ] + for p in PROGRAMMES + }, } ), "household": pd.DataFrame({"household_id": ids}), @@ -369,32 +421,150 @@ def _solve_fractional_weekly_nets(nets, ids): NZ_SCHEMA, {"household": Weights(np.ones(len(ids)), WeightKind.DESIGN)}, ) + cents = _node(rows["nz.benefits.net_cents"], spec, engine_ref) + result = MONEY_MINOR_UNITS.run( + _context(frame, cents, weighted_entities=("household",)) + ) + for (entity, column), values in result.columns.items(): + frame.table(entity)[column] = values.to_numpy() + node = _node(rows["nz.gross_up.jobseeker_support"], spec, engine_ref) kernel = SimulateSolveZeroKernel({engine_ref: ScheduleFixtureEngine()}) - return kernel.run(_context(frame, node, weighted_entities=("household",))) + solved = kernel.run(_context(frame, node, weighted_entities=("household",))) + return frame, solved + + +def _rounded_net_oracle(net, brackets): + """The half-even cent net and the half-even cent inverse of its annual net.""" + rounded = Fraction(round(net * 100), 100) + return rounded, Fraction(round(exact_inverse(rounded * 52, brackets) * 100), 100) -def test_fractional_cent_nets_and_after_abatement_match_exact_inverse(): - nets = [Fraction("123.4567"), Fraction("123.4567") - Fraction("12.3456")] +# 801 and 802 carry fractional-cent nets. 901 and 902 put the exact root of +# their unrounded nets on a half-cent, which refused before nets entered as +# whole cents; rounded first, both solve. +_FRACTIONAL_NETS = ( + (801, Fraction("123.4567")), + (802, Fraction("123.4567") - Fraction("12.3456")), + (901, Fraction("0.00111875")), + (902, Fraction("0.01111875") - Fraction("0.01")), +) + + +def test_fractional_cent_nets_solve_against_the_exact_inverse_of_the_rounded_net(): + ids = [row for row, _ in _FRACTIONAL_NETS] + nets = [net for _, net in _FRACTIONAL_NETS] assert all((net * 100).denominator != 1 for net in nets) - result = _solve_fractional_weekly_nets(nets, [801, 802]) - actual = result.columns["person", "jobseeker_support_annual_gross"] brackets = schedule_fixture() - for net, gross in zip(nets, actual.tolist(), strict=True): - oracle = Fraction(round(exact_inverse(net * 52, brackets) * 100), 100) + # The unrounded 901 and 902 nets tie exactly on the 0.065 half-cent. + boundary = Fraction("0.065") + assert all( + net * 52 + exact_tax(boundary, brackets) - boundary == 0 for net in nets[2:] + ) + frame, result = _solve_weekly_nets(nets, ids) + cents = frame.table("person")["jobseeker_support_net_weekly_payment_cents"] + actual = result.columns["person", "jobseeker_support_annual_gross"] + for net, cent, gross in zip(nets, cents.tolist(), actual.tolist(), strict=True): + rounded, oracle = _rounded_net_oracle(net, brackets) + assert Fraction(cent, 100) == rounded assert Fraction(str(gross)) == oracle - residual = net * 52 + exact_tax(oracle, brackets) - oracle + residual = rounded * 52 + exact_tax(oracle, brackets) - oracle assert abs(residual) + Fraction("0.000001") <= Fraction("0.0050001") -def test_fractional_cent_ties_refuse_direct_and_after_abatement_rows(): - nets = [Fraction("0.00111875"), Fraction("0.01111875") - Fraction("0.01")] - boundary = Fraction("0.065") - brackets = schedule_fixture() - assert exact_tax(boundary, brackets) == Fraction("0.006825") - assert all(net * 52 == Fraction("0.058175") for net in nets) - assert all(net * 52 + exact_tax(boundary, brackets) - boundary == 0 for net in nets) +def test_gross_up_refuses_an_unrounded_net_tie_when_it_reads_the_net_directly(): + """The declared margin still refuses an exact tie: only rounding removes it.""" + spec = load_transport_spec("nz") + row = copy.deepcopy( + next( + row + for row in spec["resources"]["benefit_gross_up"]["nodes"] + if row["id"] == "nz.gross_up.jobseeker_support" + ) + ) + terms = json.loads(row["params"]["output_coefficients"]) + terms[0].update( + source_column="jobseeker_support_net_weekly_payment", coefficient=52 + ) + row["params"]["output_coefficients"] = json.dumps(terms) + row["inputs"] = [ + {"entity": "person", "columns": ["jobseeker_support_net_weekly_payment"]} + ] + ids = [901, 902] + frame = Frame( + { + "person": pd.DataFrame( + { + "person_id": ids, + "person_household_id": ids, + "person_family_id": ids, + "jobseeker_support_net_weekly_payment": [ + float(net) for _, net in _FRACTIONAL_NETS[2:] + ], + } + ), + "household": pd.DataFrame({"household_id": ids}), + "family": pd.DataFrame({"family_id": ids}), + }, + NZ_SCHEMA, + {"household": Weights(np.ones(len(ids)), WeightKind.DESIGN)}, + ) + engine_ref = "fractional-net-schedule-fixture" + kernel = SimulateSolveZeroKernel({engine_ref: ScheduleFixtureEngine()}) with pytest.raises( ValueError, match=r"ambiguous quantization certificate within margin.*rows \[901, 902\]", ): - _solve_fractional_weekly_nets(nets, [901, 902]) + kernel.run( + _context( + frame, _node(row, spec, engine_ref), weighted_entities=("household",) + ) + ) + + +def _bracket_q(gross, brackets): + """q in r = 1 - p/q for the bracket holding gross, in lowest terms.""" + rate = Fraction(brackets[0]["rate"]) + for bracket in brackets: + if gross >= Fraction(bracket["lower"]): + rate = Fraction(bracket["rate"]) + return (1 - rate).denominator + + +@settings(max_examples=300, deadline=None, derandomize=True) +@given(st.integers(min_value=0, max_value=1_500_000)) +def test_cent_exact_nets_keep_every_half_cent_boundary_clear_of_the_margin(cents): + """H13 item 5: |F(b)| >= 1/(200q) >= 2.5e-5 at the boundaries around the root. + + F is monotone non-increasing, so the two half-cent boundaries next to the + exact root hold its smallest absolute residuals. + """ + brackets = schedule_fixture() + net_annual = Fraction(cents, 100) * 52 + root = exact_inverse(net_annual, brackets) + below = (Fraction(math.floor(root * 100 - Fraction(1, 2))) + Fraction(1, 2)) / 100 + for boundary in (below, below + Fraction(1, 100)): + if boundary < 0: + continue + residual = net_annual + exact_tax(boundary, brackets) - boundary + bound = Fraction(1, 200 * _bracket_q(boundary, brackets)) + assert abs(residual) >= bound >= Fraction("0.000025") + assert abs(residual) >= 25 * Fraction("0.000001") + + +@settings(max_examples=10, deadline=None, derandomize=True) +@given( + st.lists( + st.integers(min_value=0, max_value=200_000_000).map( + lambda units: Fraction(units, 10_000) + ), + min_size=1, + max_size=6, + ) +) +def test_any_four_decimal_net_solves_against_its_rounded_exact_inverse(nets): + ids = list(range(1, len(nets) + 1)) + brackets = schedule_fixture() + _, result = _solve_weekly_nets(nets, ids) + actual = result.columns["person", "jobseeker_support_annual_gross"] + for net, gross in zip(nets, actual.tolist(), strict=True): + assert Fraction(str(gross)) == _rounded_net_oracle(net, brackets)[1] diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index d9c7f29514..12c8473449 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -681,7 +681,6 @@ def add_quantiles(rows): for column in item["columns"] } - produced unimplemented = { - ("person", "region_code"), ("family", "accommodation_supplement_base_rate_weekly_amount"), ( "family", @@ -720,12 +719,7 @@ def add_quantiles(rows): } ) if admit_unimplemented_roots: - inventory.update( - { - key: "string" if key == ("person", "region_code") else "float64" - for key in unimplemented - } - ) + inventory.update({key: "float64" for key in unimplemented}) else: needed -= unimplemented assert needed <= inventory.keys(), ( @@ -760,7 +754,6 @@ def test_nz_packaged_graph_names_region_and_bridge_roots_without_inventing_produ for column in item["columns"] } missing = { - ("person", "region_code"), ("family", "accommodation_supplement_base_rate_weekly_amount"), ( "family", @@ -769,6 +762,17 @@ def test_nz_packaged_graph_names_region_and_bridge_roots_without_inventing_produ } assert missing <= inputs assert missing.isdisjoint(outputs) + # geography.person_location@1 now owns the person region code. + (producer,) = [ + row + for row in rows + if ("person", "region_code") + in {(item["entity"], item["column"]) for item in row.get("outputs", ())} + ] + assert (producer["id"], producer["kernel"]) == ( + "nz.geo.person", + "geography.person_location@1", + ) assert spec["resources"]["transport_graph"]["pending_outputs"] diff --git a/test_support/microcosm_build/nz_msd_gross_up.py b/test_support/microcosm_build/nz_msd_gross_up.py index 3108664e7e..6a9e118b86 100644 --- a/test_support/microcosm_build/nz_msd_gross_up.py +++ b/test_support/microcosm_build/nz_msd_gross_up.py @@ -115,7 +115,14 @@ def _node(row, spec, engine_ref): for item in row["outputs"] ), params={ - key: _param(spec, value, {"income_tax_schedule_1": engine_ref}) + key: _param( + spec, + value, + { + "income_tax_schedule_1": engine_ref, + "main_benefits_rates": engine_ref, + }, + ) for key, value in row["params"].items() }, ) diff --git a/tools/build_nz_benefit_gross_up.py b/tools/build_nz_benefit_gross_up.py index 2674e37a6f..c4ac32c2f5 100644 --- a/tools/build_nz_benefit_gross_up.py +++ b/tools/build_nz_benefit_gross_up.py @@ -9,6 +9,7 @@ import argparse import json +from fractions import Fraction from pathlib import Path ROOT = Path(__file__).resolve().parents[1] @@ -22,6 +23,12 @@ "Annualised Schedule 1, before credits, 52-week benefit gross-up, " "each benefit inverted independently of other income." ) +NET_ROUNDING = ( + "MSD pays whole cents, so a money.minor_units@1 node rounds each weekly net " + "payment half-even to cents before its gross-up, and each solve reads those " + "cents with coefficient 0.52, which turns weekly cents into annual dollars " + "over 52 weeks." +) def _json(value): @@ -40,6 +47,10 @@ def _selector(field): return {"binding": "income_tax_schedule_1", "field": field} +def _rates_selector(field): + return {"binding": "main_benefits_rates", "field": field} + + def documents(nz=NZ): bindings_document = json.loads((nz / "axiom_rules_bindings.json").read_text()) bindings = {row["id"]: row for row in bindings_document["bindings"]} @@ -55,6 +66,7 @@ def documents(nz=NZ): weeks = scenarios["gap_conventions"]["annualisation"]["weeks_per_year"] tax = bindings["income_tax_schedule_1"] nets = [f"{programme}_net_weekly_payment" for programme in PROGRAMMES] + net_cents = [f"{column}_cents" for column in nets] gross = [f"{programme}_annual_gross" for programme in PROGRAMMES] cents = [f"{column}_cents" for column in gross] rate_inputs = [ @@ -74,12 +86,41 @@ def documents(nz=NZ): "params": {"variables": nets}, } ] - for programme, net, annual in zip(PROGRAMMES, nets, gross, strict=True): + nodes.append( + { + "id": "nz.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.central", + "structural": "none", + "inputs": [_slice(nets)], + "outputs": [_owned(column, "int64") for column in net_cents], + "params": { + "engine_ref": _rates_selector("engine_ref"), + "period": _rates_selector("period"), + "declaration": _json( + { + "entity": "person", + "columns": [ + { + "source_column": net, + "output_column": cents, + "quantum": "0.01", + "rounding": "half_even", + } + for net, cents in zip(nets, net_cents, strict=True) + ], + } + ), + }, + } + ) + cents_coefficient = float(Fraction(weeks, 100)) + for programme, net, annual in zip(PROGRAMMES, net_cents, gross, strict=True): terms = [ { "source_entity": "person", "source_column": net, - "coefficient": weeks, + "coefficient": cents_coefficient, "entity": "person", "column": annual, }, @@ -221,6 +262,7 @@ def documents(nz=NZ): "generator": "tools/build_nz_benefit_gross_up.py", "status": "The central branch and each calibration variant run these reusable declarations after their own money normalization.", "disclosure": DISCLOSURE, + "net_rounding": NET_ROUNDING, "monotonicity": "For the pinned Schedule 1, every marginal tax rate falls below one; 52*n + T(G) - G decreases or stays constant as each person's own G increases.", "authoritative_value": "money.minor_units@1 recovers annual integer cents exactly from certified float64 quantum multiples and preserves the bridge's float64 output contract.", "certificate_contract": "certificate_margin bounds the absolute difference between each computed residual and the exact residual of the declared terms at every evaluated point. Boundary residuals must exceed the margin in magnitude; ambiguous boundaries refuse, and the residual bound includes the margin. A zero margin asserts exact outputs and permits half-even ties.", @@ -248,10 +290,19 @@ def documents(nz=NZ): } for column in nets ], + "derived_outputs": [ + { + "entity": "person", + "column": column, + "purpose": "calibration_measure", + } + for column in net_cents + ], "citation": ( f"{rulespec_url}/{bindings['main_benefits_rates']['rulespec_path']} " f"(SHA-256 {bindings['main_benefits_rates']['sha256']}); " - f"{msd_url}. The rates stage supplies after-tax payments after abatement." + f"{msd_url}. The rates stage supplies after-tax payments after abatement, " + "and its cents node rounds them half-even to the whole cents MSD pays." ), }, { diff --git a/tools/build_nz_transport_graph.py b/tools/build_nz_transport_graph.py index a37787d500..bc5337ca80 100644 --- a/tools/build_nz_transport_graph.py +++ b/tools/build_nz_transport_graph.py @@ -628,6 +628,23 @@ def documents(): params=geo_params, artifact_inputs=support, ), + node( + "nz.geo.person", + "geography.person_location@1", + population="nz.open", + inputs=[ + slice_("household", ["household_region_code"]), + slice_("person", ["person_id", "person_household_id"]), + ], + outputs=[owned("person", "region_code", "string")], + params={ + "columns": json.dumps( + {"household_region_code": "region_code"}, + sort_keys=True, + separators=(",", ":"), + ) + }, + ), node( "nz.geo.gate", "geography.gate@1", @@ -840,7 +857,6 @@ def documents(): }, "pending_outputs": [ "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", - "A shared producer must carry assigned household region codes to persons before calibration", "w4 support, release-input coverage and weight audit evidence", "r2c income stand-in and reconciliation", "P1 earnings, Census rent and liquid-assets quantile producers", From 246ae911105ba14383cff711804febbe0758e256 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 19:49:32 +0000 Subject: [PATCH 06/15] Run the reg 17 and reg 18 bridge through existing kernels H23: as_rate_bridge.json now declares reg 18 as method solve_zero. A simulate.counterfactual@1 node evaluates jobseeker_support_gross_weekly_rate under the resource's gross_rate overrides and writes it for sole parents only. A simulate.solve_zero@1 node then solves jobseeker_support_total_income on [0, 5000] with tolerance 1e-9 and 43 iterations, with three family terms: the net payment for other units, minus the reduction for sole parents, and the gross-rate column. jobseeker_support_single reads a derived single, no-dependent-child column, so sole parents fall to Income Test 3, as reg 18(3)(b) requires. The resource keeps the harness expressions as its equivalence statement and drops "awaiting D1". H24: reg 17 is one counterfactual over main_benefits_rates and family_tax_credits: the zero-income net payment once for a single unit and twice for a partnered one, plus the prescribed amount over 52 for a unit with a dependent child. The youngest-child override carries a mask on the has-child column, so a childless family keeps the closure default 0. One calibration.prepare@1 node per population writes the two family masks. Placement: an extension node on nz.as re-keys the skeleton's nz.terminal FILTER, and compose.py refuses that, so the shared masks, gross rate and cutout run on nz.as.bridge, a FILTER branch of nz.as that S0, S1, S2, S3 and S5 descend from. Each variant repeats them on its housing population, and every branch runs its own base rate. The PR carries a hub-ruling request on this placement. New test_nz_as_bridge.py runs the packaged declarations through the real kernels on labelled fixture engines that copy the formula shapes. It checks: golden-08's base rate and cutout within 1e-9; Hypothesis properties for the sole-parent cutout L + G/s and the other-unit anchor extrapolation; Income Test 3 for sole parents; the gross-rate overrides over the unit's own schedule; the sum rule for the base rate; and the masked youngest-child override. With pandas 3.0.3 the unmasked override hands the engine NaN, whose int64 cast raises under numpy's invalid-value check. The packaged graph now composes with only engine pins and the three money producers added, and CREATE declares no bridge or region column. Tests: test_nz_as_bridge.py 14 passed, test_nz_transport_declarations.py 24 passed and 2 skipped. test_nz_axiom_input_closure.py keeps the same three as_area dtype failures it had at 362f96e10. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- docs/transport-entitlement.md | 25 +- .../microcosm/build/nz/as_rate_bridge.json | 686 +- .../build/nz/axiom_input_closure.json | 6 +- .../microcosm/build/nz/entitlement_graph.json | 657 +- .../build/nz/export_replay_bindings.json | 2 +- .../src/microcosm/build/nz/scenarios.json | 36314 +++++++--------- .../microcosm/build/nz/transport_graph.json | 3 +- .../engine_free/shared/test_nz_as_bridge.py | 666 + .../shared/test_nz_axiom_input_closure.py | 4 +- .../shared/test_nz_transport_declarations.py | 99 +- tools/build_nz_entitlement_graph.py | 284 +- tools/build_nz_transport_graph.py | 7 +- 12 files changed, 17216 insertions(+), 21537 deletions(-) create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py diff --git a/docs/transport-entitlement.md b/docs/transport-entitlement.md index 46f3387db2..d7b56a6692 100644 --- a/docs/transport-entitlement.md +++ b/docs/transport-entitlement.md @@ -177,16 +177,21 @@ comparing it with the hold-out reference. The toy graph does this with its invented family-credit engine. It supplies no real WFF inputs or statutory claim. -The committed `build/nz/as_rate_bridge.json` sole-parent declaration rules out -a `solve_zero` recipe for golden-08: no engine input combination reproduces -the harness's single-with-children gross rate paired with the Income Test 3 -slope. It instead declares three evaluations, `gross_rate`, -`reduction_at_anchor` and `reduction_after_step`, whose outputs recover the -slope and lower threshold before assembling the cutout. The resource declares -the overrides, anchor, step, composition and refusal conditions. The driver -executes declared kernel calls but does not assemble this nonlinear -composition. The approved executable golden-08 case and evaluation assembly -therefore remain unresolved; no golden-08 result is claimed. +`build/nz/as_rate_bridge.json` declares both NZ bridge outputs as kernel +calls, with no new kernel. On each population that runs the Accommodation +Supplement engine, a `calibration.prepare@1` node writes the family masks the +equality-only bridge masks compare, a `simulate.counterfactual@1` node writes +the reg 18(3)(b) sole-parent Jobseeker Support rate, and a +`simulate.solve_zero@1` node writes the reg 18 cutout: the zero of each +unit's Jobseeker Support residual over weekly income on [0, 5000]. A sole +parent's residual is the sole-parent rate minus the Income Test 3 reduction; +every other unit's residual is its own net payment. The resource keeps the +harness expressions as the statement of equivalence. Each branch runs its own +reg 17 base-rate counterfactual: zero-income Jobseeker Support once for a +single unit and twice for a partnered one, plus the eldest-child family tax +credit over 52 for a unit with a dependent child. The tests in +`test_nz_as_bridge.py` reproduce golden-08's base rate and cutout with a +labelled fixture engine; no real-engine result is claimed. The hub can compare approved small cases and sampled-unit outputs without donor H5 I/O using the declared case format in diff --git a/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json b/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json index 567a4e119b..0cd3c8c7f8 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json +++ b/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json @@ -2,8 +2,8 @@ "version": 1, "country": "nz", "method_card_row": "MC11", - "description": "Host bridge for the two law-derived Accommodation Supplement inputs that rulespec-nz takes as inputs \"for later cross-module wiring\": the Social Security Regulations 2018 reg 17 base rate and the reg 18 non-beneficiary income cutout. Every rate is to come from an engine evaluation of a bound rulespec-nz module; this resource declares only which outputs combine, with which coefficients, under which input overrides. No bridge graph node exists yet (package G7). It ports the statutory branch (treasury_host_aligned false) of the axiom-oracles IncomeExplorer conformance harness. Under method card amendment MC11a, which is proposed (awaiting D1), it would be the one sanctioned exception to \"real Axiom runtime only\"; it needs Max's MC11 ruling. When rulespec-nz encodes regs 17 and 18 (6 Oct plan B13), this resource and the bridge graph nodes are to be deleted, and only the Accommodation Supplement branches will re-run.", - "status": "awaiting D1 (MC11; amendment MC11a proposed)", + "description": "Host bridge for the two law-derived Accommodation Supplement inputs that rulespec-nz takes as inputs \"for later cross-module wiring\": the Social Security Regulations 2018 reg 17 base rate and the reg 18 non-beneficiary income cutout. Every rate comes from an engine evaluation of a bound rulespec-nz module; this resource declares only which outputs combine, with which coefficients and masks, under which input overrides, and the cutout's zero-solve. It ports the statutory branch (treasury_host_aligned false) of the axiom-oracles IncomeExplorer conformance harness. Method card MC11 makes it the one sanctioned exception to \"real Axiom runtime only\". When rulespec-nz encodes regs 17 and 18 (6 Oct plan B13), this resource and the bridge graph nodes are to be deleted, and only the Accommodation Supplement branches will re-run.", + "status": "MC11 adopted (d1043). The graph executes both outputs through simulate.counterfactual@1 and simulate.solve_zero@1 with no new kernel.", "source": { "repository": "TheAxiomFoundation/ops", "path": "nz-lane/emtr_reproduction/run.py", @@ -28,93 +28,14 @@ "id": "reg17_base_rate", "target_input": "accommodation_supplement_base_rate_weekly_amount", "legal_basis": "Social Security Regulations 2018 reg 17", - "graph_node": "nz.as.bridge.base_rate", + "graph_node": "{branch}.bridge.base_rate", + "placement": "Each scenario and variant branch runs its own base-rate node on its own population, so the S5 alternative owns its column without a rewrite.", "method": "counterfactual_sum", - "terms": [ - { - "binding": "main_benefits_rates", - "variable": "jobseeker_support_net_weekly_payment", - "engine_entity": "Person", - "coefficient": 1, - "multiplier": "adults_in_couple", - "multiplier_rule": "1 for a single unit, 2 for a partnered unit: the harness repeats the per-person zero-income amount for each partner (run.py:2017-2024) and aggregates the components to the family (run.py:2545-2554)", - "input_overrides": [ - { - "variable": "jobseeker_support_applicant_age", - "value": 25, - "value_source": "harness_constant", - "reason": "harness constant for IncomeExplorer stylized adults (run.py:1941); open item: whether reg 17 uses each adult's own age-dependent rate is unresolved (reg 17 text not read in this lane)" - }, - { - "variable": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1942)" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "unit_attribute": "family.n_dependent_children", - "value_source": "unit", - "reason": "harness: family_shape dependent_child_count (run.py:1937,1943)" - }, - { - "variable": "jobseeker_support_living_with_parent", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1944)" - }, - { - "variable": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1945)" - }, - { - "variable": "jobseeker_support_partner_receives_main_benefit", - "unit_attribute": "family.is_partnered", - "value_source": "unit", - "reason": "harness: family_shape partner_present (run.py:1946)" - }, - { - "variable": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1947); superannuitant units follow superannuitant_units below" - }, - { - "variable": "jobseeker_support_single", - "unit_attribute": "family.is_single", - "value_source": "unit", - "reason": "harness: not partner_present (run.py:1948)" - }, - { - "variable": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1950)" - }, - { - "variable": "jobseeker_support_youngest_dependent_child_age", - "unit_attribute": "family.youngest_dependent_child_age", - "value_source": "unit", - "reason": "harness: family_shape youngest_child_age (run.py:1938,1951)" - }, - { - "variable": "jobseeker_support_total_income", - "value": 0, - "value_source": "bridge_point", - "reason": "zero-income Jobseeker Support (run.py:2021)" - } - ] - }, + "kernel": "simulate.counterfactual@1", + "primary_binding": "main_benefits_rates", + "components": [ { "binding": "family_tax_credits", - "variable": "family_tax_credit_prescribed_amount", - "engine_entity": "Family", - "coefficient": 1, - "divisor": 52, - "applies_when": "family.n_dependent_children >= 1", - "divisor_rule": "reg 17 uses the annual eldest-child family tax credit divided by 52 (run.py:2556-2562); the harness's 365/7 divisor is a Treasury-host diagnostic only and is not used", "input_overrides": [ { "variable": "family_tax_credit_eldest_dependent_child_care_units", @@ -130,291 +51,352 @@ } ] } - ] + ], + "input_overrides": [ + { + "variable": "jobseeker_support_applicant_age", + "value": 25, + "value_source": "harness_constant", + "reason": "harness constant for IncomeExplorer stylized adults (run.py:1941); open item: whether reg 17 uses each adult's own age-dependent rate is unresolved (reg 17 text not read in this lane)" + }, + { + "variable": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1942)" + }, + { + "variable": "jobseeker_support_dependent_children_count", + "unit_attribute": "family.n_dependent_children", + "value_source": "unit", + "reason": "harness: family_shape dependent_child_count (run.py:1937,1943)" + }, + { + "variable": "jobseeker_support_living_with_parent", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1944)" + }, + { + "variable": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1945)" + }, + { + "variable": "jobseeker_support_partner_receives_main_benefit", + "unit_attribute": "family.is_partnered", + "value_source": "unit", + "reason": "harness: family_shape partner_present (run.py:1946)" + }, + { + "variable": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1947); superannuitant units follow superannuitant_units below" + }, + { + "variable": "jobseeker_support_single", + "unit_attribute": "family.is_single", + "value_source": "unit", + "reason": "harness: not partner_present (run.py:1948)" + }, + { + "variable": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1950)" + }, + { + "variable": "jobseeker_support_youngest_dependent_child_age", + "unit_attribute": "family.youngest_dependent_child_age", + "value_source": "unit", + "reason": "harness: family_shape youngest_child_age (run.py:1938,1951). The unit column is null for a childless family, and the engine adapter reads integer inputs as int64, so the override applies only where the unit has a dependent child; other rows keep the closure default 0.", + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "variable": "jobseeker_support_total_income", + "value": 0, + "value_source": "bridge_point", + "reason": "zero-income Jobseeker Support (run.py:2021)" + } + ], + "terms": [ + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_net_weekly_payment", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 1, + "mask": { + "unit_attribute": "family.is_partnered", + "equals": false + }, + "rule": "a single unit takes the per-person zero-income amount once (run.py:2017-2024, 2545-2554)" + }, + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_net_weekly_payment", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 2, + "mask": { + "unit_attribute": "family.is_partnered", + "equals": true + }, + "rule": "a partnered unit takes it once for each partner (run.py:2017-2024, 2545-2554)" + }, + { + "binding": "family_tax_credits", + "variable": "family_tax_credit_prescribed_amount", + "engine_entity": "Family", + "coefficient": "1/52", + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_has_dependent_child", + "equals": true + }, + "rule": "reg 17 adds the annual eldest-child family tax credit divided by 52 for a unit with a dependent child (run.py:2556-2562); the harness's 365/7 divisor is a Treasury-host diagnostic only and is not used" + } + ], + "first_aggregation": "Every Jobseeker input takes a unit value or a constant, so all members of a unit agree and first, the lowest person id, is safe." }, { "id": "reg18_cutout", "target_input": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "legal_basis": "Social Security Regulations 2018 reg 18", - "graph_node": "nz.as.bridge.cutout", - "method": "branched", + "legal_basis": "Social Security Regulations 2018 reg 18; reg 18(3)(b) for sole parents", + "graph_node": "{population}.bridge.cutout", + "placement": "The shared nz.as.bridge population, a FILTER branch of nz.as, runs the masks, the sole-parent gross rate and the cutout once for S0, S1, S2, S3 and S5; each variant repeats them on its own housing population.", + "method": "solve_zero", + "kernel": "simulate.solve_zero@1", + "gross_rate": { + "id": "sole_parent_gross_rate", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "binding": "main_benefits_rates", + "variable": "jobseeker_support_gross_weekly_rate", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 1, + "mask": { + "unit_attribute": "family.is_sole_parent", + "equals": true + }, + "rule": "The engine evaluates the single-with-dependent-children rate under these overrides on every row, and the node writes it for sole parents only; other units read zero.", + "input_overrides": [ + { + "variable": "jobseeker_support_single", + "value": true, + "value_source": "bridge_point", + "reason": "single applicant" + }, + { + "variable": "jobseeker_support_dependent_children_count", + "value": 1, + "value_source": "bridge_point", + "reason": "selects the with-dependent-children rate branch" + }, + { + "variable": "jobseeker_support_youngest_dependent_child_age", + "value": 0, + "value_source": "bridge_point", + "reason": "below the 14-year threshold, so the gross rate is jobseeker_support_single_with_dependent_children_weekly_rate" + }, + { + "variable": "jobseeker_support_total_income", + "value": 0, + "value_source": "bridge_point", + "reason": "the gross rate does not depend on income" + } + ] + }, + "solve": { + "binding": "main_benefits_rates", + "solve_input": { + "entity": "person", + "column": "jobseeker_support_total_income" + }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, + "iteration_check": "ldexp(5000, -43) is 5.7e-10, within the 1e-9 tolerance the kernel requires.", + "quantization": "none: the cutout stays a plain float64 input to the Accommodation Supplement engine", + "input_overrides": [ + { + "variable": "jobseeker_support_applicant_age", + "value": 25, + "value_source": "harness_constant", + "reason": "harness constant for IncomeExplorer stylized adults (run.py:1941); open item: whether reg 17 uses each adult's own age-dependent rate is unresolved (reg 17 text not read in this lane)" + }, + { + "variable": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1942)" + }, + { + "variable": "jobseeker_support_dependent_children_count", + "unit_attribute": "family.n_dependent_children", + "value_source": "unit", + "reason": "harness: family_shape dependent_child_count (run.py:1937,1943)" + }, + { + "variable": "jobseeker_support_living_with_parent", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1944)" + }, + { + "variable": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1945)" + }, + { + "variable": "jobseeker_support_partner_receives_main_benefit", + "unit_attribute": "family.is_partnered", + "value_source": "unit", + "reason": "harness: family_shape partner_present (run.py:1946)" + }, + { + "variable": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1947); superannuitant units follow superannuitant_units below" + }, + { + "variable": "jobseeker_support_single", + "unit_attribute": "family.accommodation_supplement_bridge_single_without_dependent_child", + "value_source": "unit", + "reason": "Holds for a single unit with no dependent child. On every unit except a sole parent it equals not partner_present (run.py:1948). A sole parent reads false, and with every partner flag false the reduction falls to its final else, Income Test 3, as reg 18(3)(b) requires." + }, + { + "variable": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false, + "value_source": "harness_constant", + "reason": "harness constant (run.py:1950)" + }, + { + "variable": "jobseeker_support_youngest_dependent_child_age", + "unit_attribute": "family.youngest_dependent_child_age", + "value_source": "unit", + "reason": "harness: family_shape youngest_child_age (run.py:1938,1951). The unit column is null for a childless family, and the engine adapter reads integer inputs as int64, so the override applies only where the unit has a dependent child; other rows keep the closure default 0.", + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "terms": [ + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_net_weekly_payment", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 1, + "mask": { + "unit_attribute": "family.is_sole_parent", + "equals": false + }, + "branch": "all_other_units" + }, + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_weekly_income_test_reduction", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": -1, + "mask": { + "unit_attribute": "family.is_sole_parent", + "equals": true + }, + "branch": "sole_parent" + }, + { + "source": "family.accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "branch": "sole_parent" + } + ] + }, "branches": [ { "id": "sole_parent", "applies_when": "family.is_sole_parent", + "residual": "sole-parent gross rate minus the Income Test 3 reduction at the trial income", + "legal_reading": "Reg 18(3)(b) sets the income level as the income that would prevent payment of Jobseeker Support at the sole-parent rate as if Income Test 3 applied to that rate instead of Income Test 1. That income is the zero of the sole-parent rate minus the Income Test 3 reduction.", "harness_lines": "2491-2500", "harness_expression": "main_benefit_income_test_lower_weekly_threshold + jobseeker_support_single_with_dependent_children_weekly_rate / main_benefit_income_test_3_abatement_rate", - "why_not_solve_zero": "The engine applies Income Test 1 (two-tier) to a single person with dependent children (rates.yaml jobseeker_support_weekly_income_test_reduction), while the harness pairs the single-with-children rate with the Income Test 3 slope. No input combination makes the engine evaluate that pair, so a zero-solve on the unit's own Jobseeker schedule would not reproduce golden-08. The three engine evaluations below recover the same three compiled quantities from derived outputs, with no parameter accessor.", - "evaluations": [ - { - "id": "gross_rate", - "binding": "main_benefits_rates", - "variable": "jobseeker_support_gross_weekly_rate", - "engine_entity": "Person", - "input_overrides": [ - { - "variable": "jobseeker_support_single", - "value": true, - "value_source": "bridge_point", - "reason": "single applicant" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "value": 1, - "value_source": "bridge_point", - "reason": "selects the with-dependent-children rate branch" - }, - { - "variable": "jobseeker_support_youngest_dependent_child_age", - "value": 0, - "value_source": "bridge_point", - "reason": "below the 14-year threshold, so the gross rate is jobseeker_support_single_with_dependent_children_weekly_rate" - }, - { - "variable": "jobseeker_support_total_income", - "value": 0, - "value_source": "bridge_point", - "reason": "the gross rate does not depend on income" - } - ] - }, - { - "id": "reduction_at_anchor", - "binding": "main_benefits_rates", - "variable": "jobseeker_support_weekly_income_test_reduction", - "engine_entity": "Person", - "input_overrides": [ - { - "variable": "jobseeker_support_single", - "value": true, - "value_source": "bridge_point", - "reason": "single applicant" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "value": 0, - "value_source": "bridge_point", - "reason": "with transferred_2013 false this selects Income Test 3" - }, - { - "variable": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false, - "value_source": "bridge_point", - "reason": "Income Test 3 branch" - }, - { - "variable": "jobseeker_support_total_income", - "value": 500, - "value_source": "bridge_point", - "reason": "the harness anchor (run.py:2502); must exceed the lower threshold, else the bridge refuses" - } - ] - }, - { - "id": "reduction_after_step", - "binding": "main_benefits_rates", - "variable": "jobseeker_support_weekly_income_test_reduction", - "engine_entity": "Person", - "input_overrides": [ - { - "variable": "jobseeker_support_single", - "value": true, - "value_source": "bridge_point", - "reason": "single applicant" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "value": 0, - "value_source": "bridge_point", - "reason": "Income Test 3 branch" - }, - { - "variable": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false, - "value_source": "bridge_point", - "reason": "Income Test 3 branch" - }, - { - "variable": "jobseeker_support_total_income", - "value": 501, - "value_source": "bridge_point", - "reason": "anchor plus the harness's one-dollar step (run.py:2504)" - } - ] - } - ], - "composition": { - "slope": "reduction_after_step - reduction_at_anchor (per dollar of weekly income)", - "lower_threshold": "500 - reduction_at_anchor / slope", - "cutout": "lower_threshold + gross_rate / slope", - "refuse_when": "reduction_at_anchor <= 0 or slope <= 0" - } + "equivalence": "With reduction r(x) = max(0, x - L) * s, gross rate G > 0 and slope s > 0, the zero of G - r(x) is L + G / s, the harness expression." }, { "id": "all_other_units", "applies_when": "not family.is_sole_parent", + "residual": "the unit's own Jobseeker Support net payment at the trial income", "harness_lines": "2501-2511", - "method": "anchor_extrapolation", - "evaluations": [ - { - "id": "payment_at_anchor", - "binding": "main_benefits_rates", - "variable": "jobseeker_support_net_weekly_payment", - "engine_entity": "Person", - "input_overrides": [ - { - "variable": "jobseeker_support_applicant_age", - "value": 25, - "value_source": "harness_constant", - "reason": "harness constant for IncomeExplorer stylized adults (run.py:1941); open item: whether reg 17 uses each adult's own age-dependent rate is unresolved (reg 17 text not read in this lane)" - }, - { - "variable": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1942)" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "unit_attribute": "family.n_dependent_children", - "value_source": "unit", - "reason": "harness: family_shape dependent_child_count (run.py:1937,1943)" - }, - { - "variable": "jobseeker_support_living_with_parent", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1944)" - }, - { - "variable": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1945)" - }, - { - "variable": "jobseeker_support_partner_receives_main_benefit", - "unit_attribute": "family.is_partnered", - "value_source": "unit", - "reason": "harness: family_shape partner_present (run.py:1946)" - }, - { - "variable": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1947); superannuitant units follow superannuitant_units below" - }, - { - "variable": "jobseeker_support_single", - "unit_attribute": "family.is_single", - "value_source": "unit", - "reason": "harness: not partner_present (run.py:1948)" - }, - { - "variable": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1950)" - }, - { - "variable": "jobseeker_support_youngest_dependent_child_age", - "unit_attribute": "family.youngest_dependent_child_age", - "value_source": "unit", - "reason": "harness: family_shape youngest_child_age (run.py:1938,1951)" - }, - { - "variable": "jobseeker_support_total_income", - "value": 500, - "value_source": "bridge_point", - "reason": "the harness anchor (run.py:2502)" - } - ] - }, - { - "id": "payment_after_step", - "binding": "main_benefits_rates", - "variable": "jobseeker_support_net_weekly_payment", - "engine_entity": "Person", - "input_overrides": [ - { - "variable": "jobseeker_support_applicant_age", - "value": 25, - "value_source": "harness_constant", - "reason": "harness constant for IncomeExplorer stylized adults (run.py:1941); open item: whether reg 17 uses each adult's own age-dependent rate is unresolved (reg 17 text not read in this lane)" - }, - { - "variable": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1942)" - }, - { - "variable": "jobseeker_support_dependent_children_count", - "unit_attribute": "family.n_dependent_children", - "value_source": "unit", - "reason": "harness: family_shape dependent_child_count (run.py:1937,1943)" - }, - { - "variable": "jobseeker_support_living_with_parent", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1944)" - }, - { - "variable": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1945)" - }, - { - "variable": "jobseeker_support_partner_receives_main_benefit", - "unit_attribute": "family.is_partnered", - "value_source": "unit", - "reason": "harness: family_shape partner_present (run.py:1946)" - }, - { - "variable": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1947); superannuitant units follow superannuitant_units below" - }, - { - "variable": "jobseeker_support_single", - "unit_attribute": "family.is_single", - "value_source": "unit", - "reason": "harness: not partner_present (run.py:1948)" - }, - { - "variable": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false, - "value_source": "harness_constant", - "reason": "harness constant (run.py:1950)" - }, - { - "variable": "jobseeker_support_youngest_dependent_child_age", - "unit_attribute": "family.youngest_dependent_child_age", - "value_source": "unit", - "reason": "harness: family_shape youngest_child_age (run.py:1938,1951)" - }, - { - "variable": "jobseeker_support_total_income", - "value": 501, - "value_source": "bridge_point", - "reason": "anchor plus one dollar (run.py:2504)" - } - ] - } - ], - "composition": { - "reduction_per_dollar": "payment_at_anchor - payment_after_step", - "cutout": "500 + payment_at_anchor / reduction_per_dollar", - "refuse_when": "payment_at_anchor <= 0 or reduction_per_dollar <= 0" - }, - "exactness": "Reg 18 asks for the income that extinguishes Jobseeker Support (run.py:2513-2514). The extrapolation equals that zero when the net-payment schedule is linear between the anchor and its zero: Income Tests 3 and 4 have one rate (rates.yaml). Income Test 1 has two, but these overrides select it only for single units with children, which take the other branch." + "harness_expression": "500 + payment_at_anchor / (payment_at_anchor - payment_after_step), with the payment evaluated at weekly incomes 500 and 501", + "equivalence": "Income Tests 3 and 4 each have one rate, so the payment falls linearly to its zero and the harness's anchor extrapolation equals that zero. The solve also covers a zero anchor payment, where the extrapolation refuses; a positive residual at the bracket's upper end now refuses in place of the old slope check." } ] } ], + "mask_bindings": { + "schema_version": 1, + "required_inputs": { + "family": [ + "n_dependent_children", + "is_single" + ] + }, + "input_domains": { + "family": { + "n_dependent_children": { + "kind": "nonnegative_integer" + }, + "is_single": { + "values": [ + true, + false + ] + } + } + }, + "columns": [ + { + "entity": "family", + "name": "accommodation_supplement_bridge_has_dependent_child", + "predicates": [ + { + "column": "n_dependent_children", + "operator": "ge", + "value": 1 + } + ] + }, + { + "entity": "family", + "name": "accommodation_supplement_bridge_single_without_dependent_child", + "predicates": [ + { + "column": "is_single", + "operator": "eq", + "value": true + }, + { + "column": "n_dependent_children", + "operator": "eq", + "value": 0 + } + ] + } + ] + }, + "mask_note": "Kernel masks compare equality only, so one calibration.prepare@1 node per population writes these family booleans ahead of the bridge nodes.", "superannuitant_units": { "central": "exclude_and_count", "scenario_s5": "reg17_superannuitant_base_rate", diff --git a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json index 7d1f6024c8..4e04375d1a 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json +++ b/packages/microcosm-build/src/microcosm/build/nz/axiom_input_closure.json @@ -1086,8 +1086,8 @@ "input": "accommodation_supplement_base_rate_weekly_amount", "class": "encoded", "encoded_by": "graph_node", - "node": "nz.as.bridge.base_rate", - "reason": "The reg 17 base rate, computed by the engine-calling bridge node from the main-benefit and family tax credit modules (method card MC11, amendment MC11a; the one sanctioned exception to real-Axiom-only runtime until rulespec-nz encodes reg 17, work package B13). Unit construction and group encoding never compute it." + "node": "nz.scn.S0.bridge.base_rate", + "reason": "The reg 17 base rate. Each scenario and variant branch runs its own simulate.counterfactual@1 base-rate node (nz.scn.S0.bridge.base_rate for the central run) over the main-benefit and family tax credit modules, under method card MC11, the one sanctioned exception to real-Axiom-only runtime until rulespec-nz encodes reg 17 (work package B13). Unit construction and group encoding never compute it." }, { "rulespec_path": "nz/statutes/social_security/accommodation_supplement/core.yaml", @@ -1211,7 +1211,7 @@ "class": "encoded", "encoded_by": "graph_node", "node": "nz.as.bridge.cutout", - "reason": "The reg 18 non-beneficiary income cutout, computed by the engine-calling bridge node (method card MC11, amendment MC11a; deleted when B13 encodes reg 18). Unit construction and group encoding never compute it." + "reason": "The reg 18 non-beneficiary income cutout. A simulate.solve_zero@1 node finds the income that extinguishes Jobseeker Support, with Income Test 3 for sole parents under reg 18(3)(b); nz.as.bridge.cutout serves the entitlement scenarios and each variant runs its own (method card MC11; deleted when B13 encodes reg 18). Unit construction and group encoding never compute it." }, { "rulespec_path": "nz/statutes/social_security/accommodation_supplement/core.yaml", diff --git a/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json index 02a615f729..e8bfa96120 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json +++ b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json @@ -1,9 +1,8 @@ { "schema_version": 1, - "nodes": [], - "scenario_nodes": [ + "nodes": [ { - "id": "nz.scn.{scenario}", + "id": "nz.as.bridge", "kernel": "transport.boundary@1", "structural": "filter", "base": "nz.as", @@ -18,257 +17,54 @@ "params": {} }, { - "id": "nz.scn.{scenario}.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", + "id": "nz.as.bridge.masks", + "kernel": "calibration.prepare@1", "structural": "none", - "population": "nz.scn.{scenario}", - "sources": [ - "rulespec_nz" - ], + "population": "nz.as.bridge", "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", "columns": [ - "is_partnered", "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "n_dependent_children" ] } ], "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.{scenario}.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.{scenario}", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_bridge_has_dependent_child", + "dtype": "bool" + }, { "entity": "family", - "column": "bridge_evaluation_reg17_1", - "dtype": "float64" + "column": "accommodation_supplement_bridge_single_without_dependent_child", + "dtype": "bool" } ], "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "mask_bindings" + ] }, - "period": { - "binding": "family_tax_credits", - "field": "period" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "references_sha256": { + "resource": "holdout_references", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_gross_rate", + "id": "nz.as.bridge.sole_parent_gross_rate", "kernel": "simulate.counterfactual@1", "structural": "none", - "population": "nz.scn.{scenario}", + "population": "nz.as.bridge", "sources": [ "rulespec_nz" ], @@ -309,6 +105,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -319,8 +117,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", "dtype": "float64" } ], @@ -362,8 +160,14 @@ { "variable": "jobseeker_support_gross_weekly_rate", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } } ], "resource_sha256": { @@ -371,13 +175,13 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." }, { - "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.as.bridge.cutout", + "kernel": "simulate.solve_zero@1", "structural": "none", - "population": "nz.scn.{scenario}", + "population": "nz.as.bridge", "sources": [ "rulespec_nz" ], @@ -418,6 +222,9 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", "is_partnered", "is_single", "is_sole_parent", @@ -427,118 +234,9 @@ } ], "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.{scenario}.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.{scenario}", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", "dtype": "float64" } ], @@ -552,117 +250,9 @@ "field": "period" }, "variables": [ + "jobseeker_support_net_weekly_payment", "jobseeker_support_weekly_income_test_reduction" ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.{scenario}.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.{scenario}", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], "input_overrides": [ { "entity": "person", @@ -705,7 +295,7 @@ "entity": "person", "column": "jobseeker_support_single", "source_entity": "family", - "source_column": "is_single" + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" }, { "entity": "person", @@ -716,31 +306,83 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } } ], "output_coefficients": [ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" } ], + "solve_input": { + "entity": "person", + "column": "jobseeker_support_total_income" + }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, "resource_sha256": { "resource": "as_rate_bridge", "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." + } + ], + "scenario_nodes": [ + { + "id": "nz.scn.{scenario}", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as.bridge", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} }, { - "id": "nz.scn.{scenario}.bridge.evaluate.reg18_all_other_units_payment_after_step", + "id": "nz.scn.{scenario}.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.scn.{scenario}", @@ -784,6 +426,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -794,8 +438,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -864,20 +508,85 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", "column": "jobseeker_support_total_income", - "value": 501 + "value": 0 } ], "output_coefficients": [ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -885,7 +594,7 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { "id": "nz.scn.{scenario}.as", diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json index e18b3faa39..eea985818e 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json @@ -1,4 +1,4 @@ { "export_contract_sha256": "3f6c9fff388d51aa2d8cc3e75883e5637db1537f56c161d9d29de0bbb30c4155", - "axiom_input_closure_sha256": "28724fc0535093d12802430546eed74b4f8729b33dff936ef7a85c16f09de14c" + "axiom_input_closure_sha256": "1c237a316eecffd8d8eb9258a451b992373b804d72b411895337647c272731aa" } diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index 16464e847f..0223b7e41b 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -83,7 +83,7 @@ "id": "nz.scn.S0", "kernel": "transport.boundary@1", "structural": "filter", - "base": "nz.as", + "base": "nz.as.bridge", "inputs": [ { "entity": "person", @@ -95,7 +95,7 @@ "params": {} }, { - "id": "nz.scn.S0.bridge.evaluate.reg17_0", + "id": "nz.scn.S0.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.scn.S0", @@ -139,6 +139,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -149,8 +151,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg17_0", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -219,7 +221,12 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", @@ -231,8 +238,68 @@ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -240,11 +307,11 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.scn.S0.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S0.as", + "kernel": "simulate.rules_by_ref@1", "structural": "none", "population": "nz.scn.S0", "sources": [ @@ -254,1391 +321,1557 @@ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { "entity": "family", - "column": "bridge_evaluation_reg17_1", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", "dtype": "float64" } ], + "rules_binding": "accommodation_supplement", "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" - }, - "period": { - "binding": "family_tax_credits", - "field": "period" - }, "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } }, { - "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S0.income_decile", + "kernel": "reporting.income_decile@1", "structural": "none", "population": "nz.scn.S0", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age", + "dividend_income", + "employment_income", + "farm_self_employment_income", + "interest_income", + "jobseeker_support_annual_gross", + "nonfarm_self_employment_income", + "nz_super_weekly_amount_before_tax", + "private_pension_income", + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment", + "rental_income", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" + "entity": "family", + "column": "income_decile", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "scenario": "S0", + "entities": [ + "person", + "household", + "family" + ] + } }, { - "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S0.receipt_group", + "kernel": "reporting.receipt_group@1", "structural": "none", "population": "nz.scn.S0", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" + "entity": "family", + "column": "receipt_group", + "dtype": "string" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "classifier_sha256": { + "resource": "reporting_classifiers", "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + "scenario": "S0" + } }, { - "id": "nz.scn.S0.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S0.positive_payment", + "kernel": "calibration.prepare@1", "structural": "none", "population": "nz.scn.S0", - "sources": [ - "rulespec_nz" - ], "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "accommodation_supplement_rounded_weekly_payment" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "references_sha256": { + "resource": "holdout_references", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.scn.S0.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S0.gap", + "kernel": "takeup.gap@1", "structural": "none", "population": "nz.scn.S0", "sources": [ - "rulespec_nz" + "nz_holdout_facts" ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { - "entity": "family", + "entity": "household", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "source_household_id" ] - } - ], - "outputs": [ + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } + "entities": [ + "person", + "household", + "family" ], - "resource_sha256": { - "resource": "as_rate_bridge", + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", "encoding": "sha256" + }, + "scenario": "S0" + } + } + ] + }, + { + "id": "S1", + "tier": "entitlement", + "method_card_row": "MC10", + "knobs": { + "asset_test": "off" + }, + "description": "asset test off: the Accommodation Supplement cash-assets input is set to 0 (upper bound)", + "input_overrides": [ + { + "variable": "accommodation_supplement_cash_assets", + "value": 0 + } + ], + "encoding_knobs": { + "asset_test": false + }, + "nodes": [ + { + "id": "nz.scn.S1", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as.bridge", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + ], + "params": {} }, { - "id": "nz.scn.S0.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S0", - "sources": [ - "rulespec_nz" - ], + "id": "nz.scn.S1.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S1", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_household_id", + "family_head_person_id", + "family_source_household_id" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool", + "rewrite": true }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S0.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.scn.S0", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "age" - ] + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", + "rewrite": true }, { "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_boarder", + "dtype": "bool", + "rewrite": true + }, { "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "column": "accommodation_supplement_business_use_area", + "dtype": "int64", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", - "dtype": "int64" + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", - "dtype": "int64" + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" - } - ], - "rules_binding": "accommodation_supplement", - "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] - } - }, - { - "id": "nz.scn.S0.income_decile", - "kernel": "reporting.income_decile@1", - "structural": "none", - "population": "nz.scn.S0", - "inputs": [ + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", + "rewrite": true + }, { - "entity": "person", - "columns": [ - "age", - "dividend_income", - "employment_income", - "farm_self_employment_income", - "interest_income", - "jobseeker_support_annual_gross", - "nonfarm_self_employment_income", - "nz_super_weekly_amount_before_tax", - "private_pension_income", - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment", - "rental_income", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true + }, { "entity": "family", - "column": "income_decile", - "dtype": "int64" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true }, - "scenario": "S0", - "entities": [ - "person", - "household", - "family" - ] - } - }, - { - "id": "nz.scn.S0.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.scn.S0", - "inputs": [ { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true + }, { "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true }, - "scenario": "S0" - } - }, - { - "id": "nz.scn.S0.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.scn.S0", - "inputs": [ { "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true + }, { "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true }, - "references": { - "resource": "holdout_references", - "encoding": "json" + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool", + "rewrite": true }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } - }, - { - "id": "nz.scn.S0.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.scn.S0", - "sources": [ - "nz_holdout_facts" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "age" - ] + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool", + "rewrite": true }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", + "rewrite": true } ], "params": { - "country": "nz", - "references": { - "resource": "holdout_references", + "mapping": { + "resource": "concept_mapping", + "path": [], "encoding": "json" }, - "references_sha256": { - "resource": "holdout_references", + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], "encoding": "sha256" }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", + "closure": { + "resource": "axiom_input_closure", + "path": [], "encoding": "json" }, - "annualisation_sha256": { - "resource": "gap_annualisation", + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], "encoding": "sha256" }, - "scenario": "S0" - } - } - ] - }, - { - "id": "S1", - "tier": "entitlement", - "method_card_row": "MC10", - "knobs": { - "asset_test": "off" - }, - "description": "asset test off: the Accommodation Supplement cash-assets input is set to 0 (upper bound)", - "input_overrides": [ - { - "variable": "accommodation_supplement_cash_assets", - "value": 0 - } - ], - "encoding_knobs": { - "asset_test": false - }, - "nodes": [ - { - "id": "nz.scn.S1", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.as", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" } - ], - "params": {} + } }, { - "id": "nz.scn.S1.inputs", - "kernel": "transport.scenario_override@1", + "id": "nz.scn.S1.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], "inputs": [ { "entity": "person", "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] - }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" ] }, { "entity": "family", "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" ] } ], "outputs": [ { "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_base_rate_weekly_amount", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." + }, + { + "id": "nz.scn.S1.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64", - "rewrite": true + "entity": "person", + "columns": [ + "age" + ] }, { "entity": "family", - "column": "accommodation_supplement_boarder", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64", - "rewrite": true - }, + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ { "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64", - "rewrite": true + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" }, { "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, { "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_has_dependent_children", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" }, { "entity": "family", - "column": "accommodation_supplement_in_relationship", - "dtype": "bool", - "rewrite": true + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" }, { "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", - "dtype": "bool", - "rewrite": true - }, + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S1.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", - "dtype": "bool", - "rewrite": true + "entity": "person", + "columns": [ + "age" + ] }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64", - "rewrite": true + "entity": "household", + "columns": [ + "source_household_id" + ] }, { "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64", - "rewrite": true - }, + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "dtype": "bool", - "rewrite": true + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", - "dtype": "bool", - "rewrite": true + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "S1", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "dtype": "bool", - "rewrite": true - }, + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.scn.S1.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64", - "rewrite": true + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] }, { "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", - "dtype": "bool", - "rewrite": true - }, + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "dtype": "bool", - "rewrite": true + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", - "dtype": "bool", - "rewrite": true + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "S1" + } + }, + { + "id": "nz.scn.S1.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S1", + "inputs": [ { "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", - "dtype": "bool", - "rewrite": true - }, + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ { "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.scn.S1.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + }, + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "S1" + } + } + ] + }, + { + "id": "S2", + "tier": "entitlement", + "method_card_row": "MC8", + "knobs": { + "rent_allocation": "per_adult_share" + }, + "description": "household rent split per adult share instead of allocated to the reference unit (upper sensitivity)", + "encoding_knobs": { + "rent_allocation": "per_adult_share" + }, + "nodes": [ + { + "id": "nz.scn.S2", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as.bridge", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.scn.S2.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", - "dtype": "bool", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "column": "accommodation_supplement_boarder", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", + "column": "accommodation_supplement_business_use_area", "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_sole_parent", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "column": "accommodation_supplement_costs_are_homeownership", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", "rewrite": true - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true }, - "engine_entity": "Family", - "rulespec_paths": [ + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", + "rewrite": true + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ "nz/statutes/social_security/accommodation_supplement/core.yaml" ], "knobs": { @@ -1652,10 +1885,10 @@ } }, { - "id": "nz.scn.S1.bridge.evaluate.reg17_0", + "id": "nz.scn.S2.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", - "population": "nz.scn.S1", + "population": "nz.scn.S2", "sources": [ "rulespec_nz" ], @@ -1696,6 +1929,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -1706,8 +1941,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg17_0", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -1776,7 +2011,12 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", @@ -1788,8 +2028,68 @@ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -1797,13 +2097,13 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.scn.S1.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S2.as", + "kernel": "simulate.rules_by_ref@1", "structural": "none", - "population": "nz.scn.S1", + "population": "nz.scn.S2", "sources": [ "rulespec_nz" ], @@ -1811,1359 +2111,637 @@ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { "entity": "family", - "column": "bridge_evaluation_reg17_1", + "column": "accommodation_supplement_rounded_weekly_payment", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } }, { - "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S2.income_decile", + "kernel": "reporting.carry_income_decile@1", "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "rulespec_nz" - ], + "population": "nz.scn.S2", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" + "entity": "family", + "column": "income_decile", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "classifier_sha256": { + "resource": "reporting_classifiers", "encoding": "sha256" - } + }, + "scenario": "S2", + "entities": [ + "person", + "household", + "family" + ] }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] }, { - "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S2.receipt_group", + "kernel": "reporting.receipt_group@1", "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "rulespec_nz" - ], + "population": "nz.scn.S2", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" + "entity": "family", + "column": "receipt_group", + "dtype": "string" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "classifier_sha256": { + "resource": "reporting_classifiers", "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + }, + "scenario": "S2" + } }, { - "id": "nz.scn.S1.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S2.positive_payment", + "kernel": "calibration.prepare@1", "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "rulespec_nz" - ], + "population": "nz.scn.S2", "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "accommodation_supplement_rounded_weekly_payment" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "references_sha256": { + "resource": "holdout_references", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.scn.S1.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S2.gap", + "kernel": "takeup.gap@1", "structural": "none", - "population": "nz.scn.S1", + "population": "nz.scn.S2", "sources": [ - "rulespec_nz" + "nz_holdout_facts" ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { - "entity": "family", + "entity": "household", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "source_household_id" ] - } - ], - "outputs": [ + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_net_weekly_payment" + "entities": [ + "person", + "household", + "family" ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", "encoding": "sha256" + }, + "scenario": "S2" + } + } + ] + }, + { + "id": "S3", + "tier": "entitlement", + "method_card_row": "MC9", + "knobs": { + "area_column": "as_area_alt" + }, + "description": "the alternative territorial authority to Accommodation Supplement area crosswalk (as_area_crosswalk.json alternative)", + "encoding_knobs": { + "area_column": "as_area_alt" + }, + "nodes": [ + { + "id": "nz.scn.S3", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as.bridge", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + ], + "params": {} }, { - "id": "nz.scn.S1.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "rulespec_nz" - ], + "id": "nz.scn.S3.inputs", + "kernel": "transport.scenario_override@1", + "population": "nz.scn.S3", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_household_id", + "family_head_person_id", + "family_source_household_id" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool", + "rewrite": true }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64", + "rewrite": true }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S1.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "age" - ] + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_business_use_area", + "dtype": "int64", + "rewrite": true + }, { "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "column": "accommodation_supplement_cash_assets", + "dtype": "float64", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", - "dtype": "int64" + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", - "dtype": "int64" + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" + "column": "accommodation_supplement_in_relationship", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" - } - ], - "rules_binding": "accommodation_supplement", - "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] - } - }, - { - "id": "nz.scn.S1.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.scn.S1", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64", + "rewrite": true + }, { "entity": "family", - "column": "income_decile", - "dtype": "int64" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64", + "rewrite": true }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool", + "rewrite": true }, - "scenario": "S1", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] - }, - { - "id": "nz.scn.S1.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.scn.S1", - "inputs": [ + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool", + "rewrite": true + }, { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool", + "rewrite": true }, { "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64", + "rewrite": true + }, { "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool", + "rewrite": true }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool", + "rewrite": true }, - "scenario": "S1" - } - }, - { - "id": "nz.scn.S1.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.scn.S1", - "inputs": [ { "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool", + "rewrite": true + }, { "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" - }, - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } - }, - { - "id": "nz.scn.S1.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.scn.S1", - "sources": [ - "nz_holdout_facts" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, - { - "entity": "household", - "columns": [ - "source_household_id" - ] - }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] - } - ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" - }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" - }, - "scenario": "S1" - } - } - ] - }, - { - "id": "S2", - "tier": "entitlement", - "method_card_row": "MC8", - "knobs": { - "rent_allocation": "per_adult_share" - }, - "description": "household rent split per adult share instead of allocated to the reference unit (upper sensitivity)", - "encoding_knobs": { - "rent_allocation": "per_adult_share" - }, - "nodes": [ - { - "id": "nz.scn.S2", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.as", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.scn.S2.inputs", - "kernel": "transport.scenario_override@1", - "population": "nz.scn.S2", - "inputs": [ - { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] - }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] - }, - { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", + "column": "accommodation_supplement_resides_in_area_1", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_boarder", + "column": "accommodation_supplement_resides_in_area_2", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "column": "accommodation_supplement_resides_in_area_3", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "dtype": "bool", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", - "dtype": "bool", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_has_dependent_children", + "column": "accommodation_supplement_sole_parent", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", "dtype": "bool", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_in_relationship", - "dtype": "bool", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", - "dtype": "bool", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_non_beneficiary", - "dtype": "bool", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", "dtype": "int64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", + "column": "accommodation_supplement_weekly_rent_paid", "dtype": "float64", "rewrite": true }, { "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", - "dtype": "bool", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64", "rewrite": true + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "dtype": "bool", - "rewrite": true + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" }, - { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_sole_parent", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "dtype": "bool", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64", - "rewrite": true - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" }, "closure_sha256": { "resource": "axiom_input_closure", @@ -3195,10 +2773,10 @@ } }, { - "id": "nz.scn.S2.bridge.evaluate.reg17_0", + "id": "nz.scn.S3.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S3", "sources": [ "rulespec_nz" ], @@ -3239,6 +2817,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -3249,8 +2829,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg17_0", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -3319,7 +2899,12 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", @@ -3331,8 +2916,68 @@ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -3340,13 +2985,13 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.scn.S2.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S3.as", + "kernel": "simulate.rules_by_ref@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S3", "sources": [ "rulespec_nz" ], @@ -3354,425 +2999,345 @@ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { "entity": "family", - "column": "bridge_evaluation_reg17_1", + "column": "accommodation_supplement_rounded_weekly_payment", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S2", - "sources": [ - "rulespec_nz" - ], - "inputs": [ + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.scn.S3.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.scn.S3", + "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" + "entity": "family", + "column": "income_decile", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "classifier_sha256": { + "resource": "reporting_classifiers", "encoding": "sha256" - } + }, + "scenario": "S3", + "entities": [ + "person", + "household", + "family" + ] }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] }, { - "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S3.receipt_group", + "kernel": "reporting.receipt_group@1", "structural": "none", - "population": "nz.scn.S2", - "sources": [ - "rulespec_nz" - ], + "population": "nz.scn.S3", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" + "entity": "family", + "column": "receipt_group", + "dtype": "string" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "scenario": "S3" + } + }, + { + "id": "nz.scn.S3.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S3", + "inputs": [ + { + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.scn.S2.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S3.gap", + "kernel": "takeup.gap@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S3", "sources": [ - "rulespec_nz" + "nz_holdout_facts" ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] }, { - "entity": "family", + "entity": "household", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "source_household_id" ] - } - ], - "outputs": [ + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } + "entities": [ + "person", + "household", + "family" ], - "resource_sha256": { - "resource": "as_rate_bridge", + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", "encoding": "sha256" + }, + "scenario": "S3" + } + } + ] + }, + { + "id": "S5", + "tier": "entitlement", + "method_card_row": "MC11", + "knobs": { + "superannuitant_treatment": "reg17_superannuitant_base_rate" + }, + "description": "reg 17 superannuitant treatment, the alternative to the MC11 default. The override is the engine-calling bridge, which rewrites the base rate; a non-engine override would hand-compute policy (as_rate_bridge.json superannuitant_units)", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.scn.S5", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.as.bridge", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + ], + "params": {} }, { - "id": "nz.scn.S2.bridge.evaluate.reg18_all_other_units_payment_at_anchor", + "id": "nz.scn.S5.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "sources": [ "rulespec_nz" ], @@ -3813,6 +3378,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -3823,8 +3390,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -3893,20 +3460,85 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", "column": "jobseeker_support_total_income", - "value": 500 + "value": 0 } ], "output_coefficients": [ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -3914,13 +3546,13 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.scn.S2.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.scn.S5.as", + "kernel": "simulate.rules_by_ref@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "sources": [ "rulespec_nz" ], @@ -3928,155 +3560,7 @@ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S2.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.scn.S2", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "age" + "age" ] }, { @@ -4187,10 +3671,10 @@ } }, { - "id": "nz.scn.S2.income_decile", + "id": "nz.scn.S5.income_decile", "kernel": "reporting.carry_income_decile@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "inputs": [ { "entity": "person", @@ -4230,7 +3714,7 @@ "resource": "reporting_classifiers", "encoding": "sha256" }, - "scenario": "S2", + "scenario": "S5", "entities": [ "person", "household", @@ -4246,10 +3730,10 @@ ] }, { - "id": "nz.scn.S2.receipt_group", + "id": "nz.scn.S5.receipt_group", "kernel": "reporting.receipt_group@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "inputs": [ { "entity": "person", @@ -4286,14 +3770,14 @@ "resource": "reporting_classifiers", "encoding": "sha256" }, - "scenario": "S2" + "scenario": "S5" } }, { - "id": "nz.scn.S2.positive_payment", + "id": "nz.scn.S5.positive_payment", "kernel": "calibration.prepare@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "inputs": [ { "entity": "family", @@ -4325,10 +3809,10 @@ } }, { - "id": "nz.scn.S2.gap", + "id": "nz.scn.S5.gap", "kernel": "takeup.gap@1", "structural": "none", - "population": "nz.scn.S2", + "population": "nz.scn.S5", "sources": [ "nz_holdout_facts" ], @@ -4380,28 +3864,26 @@ "resource": "gap_annualisation", "encoding": "sha256" }, - "scenario": "S2" + "scenario": "S5" } } ] }, { - "id": "S3", - "tier": "entitlement", - "method_card_row": "MC9", + "id": "V1", + "tier": "calibration", + "method_card_row": "MC5", "knobs": { - "area_column": "as_area_alt" - }, - "description": "the alternative territorial authority to Accommodation Supplement area crosswalk (as_area_crosswalk.json alternative)", - "encoding_knobs": { - "area_column": "as_area_alt" + "aging_index": "low" }, + "description": "low aging index for the calibration references (MC5 ages IRD bands from TY2024 to TY2026-27 by a declared index)", + "encoding_knobs": {}, "nodes": [ { - "id": "nz.scn.S3", + "id": "nz.v.V1", "kernel": "transport.boundary@1", "structural": "filter", - "base": "nz.as", + "base": "nz.open", "inputs": [ { "entity": "person", @@ -4413,1801 +3895,909 @@ "params": {} }, { - "id": "nz.scn.S3.inputs", - "kernel": "transport.scenario_override@1", - "population": "nz.scn.S3", + "id": "nz.v.V1.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V1", + "sources": [ + "nz_chronicle_facts" + ], "inputs": [ { "entity": "person", "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", "nonfarm_self_employment_income", "farm_self_employment_income", "interest_income", "dividend_income", "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" + "realized_capital_gains", + "private_pension_income" ] }, { "entity": "household", "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", "mortgage_interest", "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] - }, - { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" + "property_tax" ] } ], "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", - "dtype": "bool", + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64", + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_boarder", - "dtype": "bool", + "entity": "person", + "column": "interest_income", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64", + "entity": "person", + "column": "dividend_income", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets", + "entity": "person", + "column": "rental_income", "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "dtype": "bool", + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", - "dtype": "bool", + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "dtype": "bool", + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", - "dtype": "bool", + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", - "dtype": "bool", + "entity": "household", + "column": "property_tax", + "dtype": "float64", "rewrite": true }, { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_in_relationship", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64", - "rewrite": true + "entity": "person", + "column": "realized_capital_gains_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "private_pension_income_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", - "dtype": "bool", - "rewrite": true + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "dtype": "bool", - "rewrite": true + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64", - "rewrite": true + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V1.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V1", + "inputs": [ { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", - "dtype": "bool", - "rewrite": true + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "dtype": "bool", - "rewrite": true + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_applicant_age", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_sole_parent", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "dtype": "bool", - "rewrite": true + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64", - "rewrite": true + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64", - "rewrite": true + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64", - "rewrite": true - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" - }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" + { + "entity": "person", + "column": "jobseeker_support_total_income", + "dtype": "float64" }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, { - "entity": "family", - "column": "bridge_evaluation_reg17_1", + "entity": "person", + "column": "main_benefit_income_test_assessable_income", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "nz_super_birth_year", + "dtype": "int64" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "nz_super_person_age", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "nz_super_single", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.scn.S3.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "entity": "person", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "entity": "person", + "column": "sole_parent_applicant_age", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" - } - ], - "rules_binding": "accommodation_supplement", - "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] - } - }, - { - "id": "nz.scn.S3.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.scn.S3", - "inputs": [ + "entity": "person", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "age" - ] + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "person", + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, { - "entity": "family", - "column": "income_decile", + "entity": "person", + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" + }, + { + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", "dtype": "int64" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "person", + "column": "sole_parent_support_total_income", + "dtype": "float64" }, - "scenario": "S3", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] - }, - { - "id": "nz.scn.S3.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.scn.S3", - "inputs": [ + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" + }, { "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] + "column": "supported_living_applicant_age", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" + }, { - "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + { + "entity": "person", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" }, - "scenario": "S3" - } - }, - { - "id": "nz.scn.S3.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.scn.S3", - "inputs": [ { - "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" }, - "references": { - "resource": "holdout_references", - "encoding": "json" + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } - }, - { - "id": "nz.scn.S3.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.scn.S3", - "sources": [ - "nz_holdout_facts" - ], - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "supported_living_caring_applicant_age", + "dtype": "int64" }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] - } - ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" }, - "scenario": "S3" - } - } - ] - }, - { - "id": "S5", - "tier": "entitlement", - "method_card_row": "MC11", - "knobs": { - "superannuitant_treatment": "reg17_superannuitant_base_rate" - }, - "description": "reg 17 superannuitant treatment, the alternative to the MC11 default. The override is the engine-calling bridge, which rewrites the base rate; a non-engine override would hand-compute policy (as_rate_bridge.json superannuitant_units)", - "encoding_knobs": {}, - "nodes": [ - { - "id": "nz.scn.S5", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.as", - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" } ], - "params": {} + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S5", + "id": "nz.v.V1.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", "sources": [ "rulespec_nz" ], + "rules_binding": "main_benefits_entitlement", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "column": "entitled_to_jobseeker_support", + "dtype": "int64" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.scn.S5", + "id": "nz.v.V1.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", "sources": [ "rulespec_nz" ], + "rules_binding": "nz_super", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" ] } ], "outputs": [ { - "entity": "family", - "column": "bridge_evaluation_reg17_1", + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", "dtype": "float64" } ], "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" - }, - "period": { - "binding": "family_tax_credits", - "field": "period" - }, "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.V1.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], + "rules_binding": "main_benefits_rates", "inputs": [ { "entity": "person", @@ -6241,4043 +4831,3539 @@ "supported_living_payment_total_income", "supported_living_payment_totally_blind" ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", "dtype": "float64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.V1.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" }, { - "entity": "family", + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" + }, + "period": { + "binding": "main_benefits_rates", + "field": "period" + }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V1.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ + { + "entity": "person", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "jobseeker_support_net_weekly_payment_cents" ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", + "column": "jobseeker_support_annual_gross", "dtype": "float64" } ], "params": { "engine_ref": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "engine_ref" }, "period": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "period" }, "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } + "individual_income_tax_before_credits" ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.V1.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "sole_parent_support_net_weekly_payment_cents" ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V1.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V1", + "structural": "none", + "inputs": [ { - "entity": "family", + "entity": "person", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "supported_living_payment_net_weekly_payment_cents" ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "column": "supported_living_payment_annual_gross", "dtype": "float64" } ], "params": { "engine_ref": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "engine_ref" }, "period": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "period" }, "variables": [ - "jobseeker_support_weekly_income_test_reduction" + "individual_income_tax_before_credits" ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.V1.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" } ], "params": { "engine_ref": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "engine_ref" }, "period": { - "binding": "main_benefits_rates", + "binding": "income_tax_schedule_1", "field": "period" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } }, { - "id": "nz.scn.S5.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.V1.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "nz_super_weekly_amount_before_tax" ] } ], "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V1.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V1", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "receives_nz_super", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + { + "entity": "person", + "column": "receives_supported_living_payment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_sole_parent_support", + "dtype": "bool" + }, + { + "entity": "person", + "column": "receives_jobseeker_support", + "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" + }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] }, { - "id": "nz.scn.S5.as", - "kernel": "simulate.rules_by_ref@1", + "id": "nz.v.V1.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V1", "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "rulespec_nz" - ], "inputs": [ { "entity": "person", "columns": [ - "age" - ] - }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" ] } ], "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" } ], - "rules_binding": "accommodation_supplement", "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" } }, { - "id": "nz.scn.S5.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.scn.S5", + "id": "nz.v.V1.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V1", "inputs": [ { "entity": "person", "columns": [ - "age" + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" ] }, { "entity": "household", "columns": [ - "source_household_id" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" + "household_region_code", + "tenure" ] } ], "outputs": [ { - "entity": "family", - "column": "income_decile", + "entity": "person", + "column": "people", "dtype": "int64" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" }, - "scenario": "S5", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] - }, - { - "id": "nz.scn.S5.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.scn.S5", - "inputs": [ + "entity": "household", + "column": "households", + "dtype": "int64" + }, { "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] + "column": "population_region_01_age_0_14_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + "entity": "person", + "column": "population_region_01_age_15_39_indicator", + "dtype": "bool" }, - "scenario": "S5" - } - }, - { - "id": "nz.scn.S5.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.scn.S5", - "inputs": [ - { - "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", + "entity": "person", + "column": "population_region_01_age_40_64_indicator", "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" - }, - "references": { - "resource": "holdout_references", - "encoding": "json" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } - }, - { - "id": "nz.scn.S5.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.scn.S5", - "sources": [ - "nz_holdout_facts" - ], - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "population_region_01_age_65_plus_indicator", + "dtype": "bool" }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "person", + "column": "population_region_02_age_0_14_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] - } - ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" - }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" + "entity": "person", + "column": "population_region_02_age_15_39_indicator", + "dtype": "bool" }, - "scenario": "S5" - } - } - ] - }, - { - "id": "V1", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "aging_index": "low" - }, - "description": "low aging index for the calibration references (MC5 ages IRD bands from TY2024 to TY2026-27 by a declared index)", - "encoding_knobs": {}, - "nodes": [ - { - "id": "nz.v.V1", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.open", - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V1.money.normalize", - "kernel": "money.normalize@1", - "population": "nz.v.V1", - "sources": [ - "nz_chronicle_facts" - ], - "inputs": [ + "column": "population_region_02_age_40_64_indicator", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "realized_capital_gains", - "private_pension_income" - ] + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" }, - { - "entity": "household", - "columns": [ - "mortgage_interest", - "mortgage_principal", - "property_tax" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "nonfarm_self_employment_income", - "dtype": "float64", - "rewrite": true + "column": "population_region_03_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "farm_self_employment_income", - "dtype": "float64", - "rewrite": true + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "interest_income", - "dtype": "float64", - "rewrite": true + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "dividend_income", - "dtype": "float64", - "rewrite": true + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "rental_income", - "dtype": "float64", - "rewrite": true + "column": "population_region_04_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "realized_capital_gains", - "dtype": "float64", - "rewrite": true + "column": "population_region_04_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "private_pension_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_interest", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_principal", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "property_tax", - "dtype": "float64", - "rewrite": true + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nonfarm_self_employment_income_cents", - "dtype": "int64" + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "farm_self_employment_income_cents", - "dtype": "int64" + "column": "population_region_05_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "interest_income_cents", - "dtype": "int64" + "column": "population_region_05_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "dividend_income_cents", - "dtype": "int64" + "column": "population_region_05_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "rental_income_cents", - "dtype": "int64" + "column": "population_region_05_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "realized_capital_gains_cents", - "dtype": "int64" + "column": "population_region_06_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "private_pension_income_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_interest_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_principal_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "property_tax_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": { - "resource": "money_normalization", - "path": [], - "encoding": "json" - }, - "declaration_sha256": { - "resource": "money_normalization", - "path": [], - "encoding": "sha256" - }, - "factor_context": { - "resource": "reference_aging", - "path": [], - "encoding": "json" - }, - "factor_context_sha256": { - "resource": "reference_aging", - "path": [], - "encoding": "sha256" + "column": "population_region_06_age_15_39_indicator", + "dtype": "bool" }, - "profile_selection": { - "scenario": "knobs", - "encoding": "json" - } - } - }, - { - "id": "nz.v.V1.encode.person", - "kernel": "concepts.encode@1", - "population": "nz.v.V1", - "inputs": [ { "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability" - ] + "column": "population_region_06_age_40_64_indicator", + "dtype": "bool" }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "jobseeker_applicant_age", - "dtype": "int64" + "column": "population_region_06_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_available_for_and_seeking_full_time_employment", + "column": "population_region_07_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_full_time_student", + "column": "population_region_07_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_has_dependent_child", + "column": "population_region_07_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_has_no_income", + "column": "population_region_07_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "column": "population_region_08_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_in_full_time_employment", + "column": "population_region_08_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_income_less_than_zero_rate_cutout", + "column": "population_region_08_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "column": "population_region_08_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_section_25_discretionary_student_eligibility", + "column": "population_region_09_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_applicant_age", - "dtype": "int64" + "column": "population_region_09_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "column": "population_region_09_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "dtype": "int64" + "column": "population_region_09_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_living_with_parent", + "column": "population_region_12_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "column": "population_region_12_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", + "column": "population_region_12_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "column": "population_region_12_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_single", + "column": "population_region_13_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_total_income", - "dtype": "float64" + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", + "column": "population_region_13_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "dtype": "int64" + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "column": "population_region_14_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "column": "population_region_14_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_unemployed_due_to_strike", + "column": "population_region_14_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "column": "population_region_14_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "column": "population_region_15_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "column": "population_region_15_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "main_benefit_income_test_assessable_income", - "dtype": "float64" + "column": "population_region_15_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "main_benefit_receiving_another_main_benefit", + "column": "population_region_15_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "main_benefit_receiving_new_zealand_superannuation", + "column": "population_region_16_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "main_benefit_receiving_veterans_pension", + "column": "population_region_16_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "column": "population_region_16_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_birth_year", - "dtype": "int64" + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "column": "population_region_17_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "column": "population_region_17_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "column": "population_region_17_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_overseas_application_residence_exception_applies", + "column": "population_region_17_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_person_age", - "dtype": "int64" + "column": "population_region_18_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_principal_residence_is_qualifying_accommodation", + "column": "population_region_18_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_resident_present_since_age_20_new_zealand_years", - "dtype": "int64" + "column": "population_region_18_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_resident_present_since_age_20_total_years", - "dtype": "int64" + "column": "population_region_18_age_65_plus_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_resident_present_since_age_50_total_years", - "dtype": "int64" + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "entity": "household", + "column": "household_region_01_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_single", + "entity": "household", + "column": "household_region_01_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_after_citizen_or_resident", - "dtype": "int64" + "entity": "household", + "column": "household_region_01_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_before_application", - "dtype": "int64" + "entity": "household", + "column": "household_region_01_size_4_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "social_security_new_zealand_citizen", + "entity": "household", + "column": "household_region_01_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_only_temporary_entry_class_visa_holder", + "entity": "household", + "column": "household_region_01_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "entity": "household", + "column": "household_region_01_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_reciprocity_country", + "entity": "household", + "column": "household_region_01_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_refugee_or_protected_person", + "entity": "household", + "column": "household_region_01_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "entity": "household", + "column": "household_region_01_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_residence_class_visa_holder", + "entity": "household", + "column": "region_02_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_section_205_override_applies", + "entity": "household", + "column": "household_region_02_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "entity": "household", + "column": "household_region_02_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_applicant_age", - "dtype": "int64" + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_caring_for_dependent_children_under_age_limit", - "dtype": "int64" + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "entity": "household", + "column": "household_region_02_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_is_single", + "entity": "household", + "column": "household_region_02_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "entity": "household", + "column": "household_region_02_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "entity": "household", + "column": "household_region_02_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_marriage_or_civil_union_dissolved", + "entity": "household", + "column": "household_region_02_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_receiving_sole_parent_support", + "entity": "household", + "column": "household_region_02_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_court_order_exception_applies", + "entity": "household", + "column": "region_03_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_entitlement_allocated_to_person", + "entity": "household", + "column": "household_region_03_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_situation_applies", + "entity": "household", + "column": "household_region_03_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_spouse_or_partner_died", + "entity": "household", + "column": "household_region_03_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_personal_earnings_used_for_childcare", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_total_income", - "dtype": "float64" + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_youngest_dependent_child_age", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_applicant_age", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_blind_average_weekly_earnings", - "dtype": "float64" + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_blind_beneficiary_employed", + "entity": "household", + "column": "household_region_03_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_blind_other_weekly_amounts_from_all_sources", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "entity": "household", + "column": "region_04_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_cared_person_is_spouse_or_partner", + "entity": "household", + "column": "household_region_04_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "entity": "household", + "column": "household_region_04_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_caring_applicant_age", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_caring_applicant_has_dependent_child", + "entity": "household", + "column": "household_region_04_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_caring_payment_already_granted", + "entity": "household", + "column": "household_region_04_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_caring_required_full_time_care_at_home", + "entity": "household", + "column": "household_region_04_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_caring_temporary_continuation_days", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_open_employment_trial_agreed_with_msd", + "entity": "household", + "column": "household_region_04_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_open_employment_trial_weeks", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_applicant_age", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_not_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_beneficiary_personal_earnings", - "dtype": "float64" + "entity": "household", + "column": "region_05_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_caring", + "entity": "household", + "column": "household_region_05_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_dependent_children_count", - "dtype": "int64" + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_granted_for_restricted_work_capacity", + "entity": "household", + "column": "household_region_05_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_partner_receives_main_benefit", + "entity": "household", + "column": "household_region_05_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "entity": "household", + "column": "household_region_05_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "entity": "household", + "column": "household_region_05_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_restricted_or_blind", + "entity": "household", + "column": "household_region_05_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_single", + "entity": "household", + "column": "household_region_05_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_total_income", - "dtype": "float64" + "entity": "household", + "column": "household_region_05_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_totally_blind", + "entity": "household", + "column": "household_region_05_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_regular_open_employment_capacity_hours_per_week", - "dtype": "int64" + "entity": "household", + "column": "region_06_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "entity": "household", + "column": "household_region_06_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "entity": "household", + "column": "household_region_06_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_terminal_condition", + "entity": "household", + "column": "household_region_06_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_totally_blind", + "entity": "household", + "column": "household_region_06_size_4_indicator", "dtype": "bool" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" + { + "entity": "household", + "column": "household_region_06_size_5_indicator", + "dtype": "bool" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + { + "entity": "household", + "column": "household_region_06_size_6_indicator", + "dtype": "bool" }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "household", + "column": "household_region_06_size_7_indicator", + "dtype": "bool" }, - "rulespec_paths": [ - "nz/statutes/social_security/main_benefits/entitlement.yaml", - "nz/statutes/social_security/main_benefits/rates.yaml", - "nz/statutes/new_zealand_superannuation/core.yaml" - ] - } - }, - { - "id": "nz.v.V1.benefits.entitlement", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V1", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "main_benefits_entitlement", - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_applicant_age", - "jobseeker_available_for_and_seeking_full_time_employment", - "jobseeker_full_time_student", - "jobseeker_has_dependent_child", - "jobseeker_has_no_income", - "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "jobseeker_in_full_time_employment", - "jobseeker_income_less_than_zero_rate_cutout", - "jobseeker_losing_earnings_through_health_condition_or_injury", - "jobseeker_section_25_discretionary_student_eligibility", - "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "jobseeker_unemployed_due_to_strike", - "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "jobseeker_willing_and_able_to_undertake_full_time_employment", - "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "main_benefit_receiving_another_main_benefit", - "main_benefit_receiving_new_zealand_superannuation", - "main_benefit_receiving_veterans_pension", - "social_security_continuous_residence_years_after_citizen_or_resident", - "social_security_continuous_residence_years_before_application", - "social_security_new_zealand_citizen", - "social_security_only_temporary_entry_class_visa_holder", - "social_security_ordinarily_resident_in_new_zealand_on_application", - "social_security_ordinarily_resident_in_reciprocity_country", - "social_security_refugee_or_protected_person", - "social_security_regulations_treat_person_as_meeting_residence_requirement", - "social_security_residence_class_visa_holder", - "social_security_section_205_override_applies", - "social_security_unlawfully_resident_or_present_in_new_zealand", - "sole_parent_applicant_age", - "sole_parent_caring_for_dependent_children_under_age_limit", - "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "sole_parent_is_single", - "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "sole_parent_marriage_or_civil_union_dissolved", - "sole_parent_receiving_sole_parent_support", - "sole_parent_split_care_court_order_exception_applies", - "sole_parent_split_care_entitlement_allocated_to_person", - "sole_parent_split_care_situation_applies", - "sole_parent_spouse_or_partner_died", - "sole_parent_youngest_dependent_child_age", - "supported_living_applicant_age", - "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "supported_living_cared_person_is_spouse_or_partner", - "supported_living_cared_person_would_otherwise_receive_institutional_care", - "supported_living_caring_applicant_age", - "supported_living_caring_applicant_has_dependent_child", - "supported_living_caring_payment_already_granted", - "supported_living_caring_required_full_time_care_at_home", - "supported_living_caring_temporary_continuation_days", - "supported_living_open_employment_trial_agreed_with_msd", - "supported_living_open_employment_trial_weeks", - "supported_living_payment_granted_for_restricted_work_capacity", - "supported_living_regular_open_employment_capacity_hours_per_week", - "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "supported_living_restricting_condition_expected_to_continue_required_period", - "supported_living_terminal_condition", - "supported_living_totally_blind" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_06_size_8_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "entitled_to_jobseeker_support", - "dtype": "int64" + "entity": "household", + "column": "household_region_06_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_sole_parent_support", - "dtype": "int64" + "entity": "household", + "column": "household_region_06_not_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_restricted_or_blind", - "dtype": "int64" + "entity": "household", + "column": "region_07_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_caring", - "dtype": "int64" - } - ], - "params": { - "variables": [ - "entitled_to_jobseeker_support", - "entitled_to_sole_parent_support", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring" - ] - } - }, - { - "id": "nz.v.V1.benefits.super", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V1", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "nz_super", - "inputs": [ + "entity": "household", + "column": "household_region_07_size_1_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "nz_super_birth_year", - "nz_super_born_on_or_before_30_june_of_birth_year", - "nz_super_elected_weekly_compensation_instead_of_superannuation", - "nz_super_ordinarily_resident_in_new_zealand_on_application", - "nz_super_overseas_application_residence_exception_applies", - "nz_super_person_age", - "nz_super_principal_residence_is_qualifying_accommodation", - "nz_super_resident_present_since_age_20_new_zealand_years", - "nz_super_resident_present_since_age_20_total_years", - "nz_super_resident_present_since_age_50_total_years", - "nz_super_shares_residence_with_person_at_least_adult_age", - "nz_super_single" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_07_size_2_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "entitled_to_new_zealand_superannuation", - "dtype": "int64" + "entity": "household", + "column": "household_region_07_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_weekly_amount_before_tax", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax" - ] - } - }, - { - "id": "nz.v.V1.benefits.rates", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V1", - "structural": "none", - "rules_binding": "main_benefits_rates", - "inputs": [ + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment", - "dtype": "float64" + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment", - "dtype": "float64" + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - }, - { - "id": "nz.v.V1.benefits.net_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment_cents", - "dtype": "int64" + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V1.gross_up.jobseeker_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V1.gross_up.sole_parent_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "sole_parent_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "sole_parent_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V1.gross_up.supported_living_payment", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "supported_living_payment_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_08_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "supported_living_payment_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V1.gross_up.annual_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_annual_gross", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] - } - ], - "outputs": [ { - "entity": "person", - "column": "jobseeker_support_annual_gross_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_annual_gross_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_annual_gross_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V1.gross_up.super_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ - { - "entity": "person", - "columns": [ - "nz_super_weekly_amount_before_tax" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "nz_super_weekly_amount_before_tax_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V1.takeup.assign", - "kernel": "takeup.assign@1", - "population": "nz.v.V1", - "inputs": [ { - "entity": "person", - "columns": [ - "age", - "region_code", - "take_up_seed", - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring", - "supported_living_payment_net_weekly_payment", - "entitled_to_sole_parent_support", - "sole_parent_support_net_weekly_payment", - "entitled_to_jobseeker_support", - "jobseeker_support_net_weekly_payment" - ] + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "receives_nz_super", + "column": "household_region_09_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_supported_living_payment", + "entity": "household", + "column": "household_region_09_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_sole_parent_support", + "entity": "household", + "column": "household_region_09_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_jobseeker_support", + "entity": "household", + "column": "household_region_09_size_8_indicator", "dtype": "bool" - } - ], - "params": { - "receipt_contract": { - "resource": "receipt_contract", - "path": [ - "receipts" - ], - "encoding": "json" }, - "receipt_contract_sha256": { - "resource": "receipt_contract", - "path": [], - "encoding": "sha256" - } - }, - "artifact_inputs": [ - { - "name": "surface", - "producer": "nz.facts.precal", - "artifact": "surface" - } - ] - }, - { - "id": "nz.v.V1.benefits.annual_transfers", - "kernel": "money.annual_transfers@1", - "population": "nz.v.V1", - "structural": "none", - "inputs": [ - { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_nz_super", - "jobseeker_support_annual_gross_cents", - "sole_parent_support_annual_gross_cents", - "supported_living_payment_annual_gross_cents", - "nz_super_weekly_amount_before_tax_cents" - ] - } - ], - "outputs": [ { - "entity": "person", - "column": "jobseeker_support_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_annual_gross_transfer_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" - } - }, - { - "id": "nz.v.V1.targets.prepare", - "kernel": "calibration.prepare@1", - "population": "nz.v.V1", - "inputs": [ - { - "entity": "person", - "columns": [ - "age", - "region_code", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "people", - "dtype": "int64" + "column": "household_region_12_size_2_indicator", + "dtype": "bool" }, { "entity": "household", - "column": "households", - "dtype": "int64" + "column": "household_region_12_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_0_14_indicator", + "entity": "household", + "column": "household_region_12_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_15_39_indicator", + "entity": "household", + "column": "household_region_12_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_40_64_indicator", + "entity": "household", + "column": "household_region_12_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_65_plus_indicator", + "entity": "household", + "column": "household_region_12_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_0_14_indicator", + "entity": "household", + "column": "household_region_12_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_15_39_indicator", + "entity": "household", + "column": "household_region_12_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_40_64_indicator", + "entity": "household", + "column": "household_region_12_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_65_plus_indicator", + "entity": "household", + "column": "region_13_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_0_14_indicator", + "entity": "household", + "column": "household_region_13_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_15_39_indicator", + "entity": "household", + "column": "household_region_13_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_40_64_indicator", + "entity": "household", + "column": "household_region_13_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_65_plus_indicator", + "entity": "household", + "column": "household_region_13_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_0_14_indicator", + "entity": "household", + "column": "household_region_13_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_15_39_indicator", + "entity": "household", + "column": "household_region_13_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_40_64_indicator", + "entity": "household", + "column": "household_region_13_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_65_plus_indicator", + "entity": "household", + "column": "household_region_13_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_0_14_indicator", + "entity": "household", + "column": "household_region_13_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_15_39_indicator", + "entity": "household", + "column": "household_region_13_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_40_64_indicator", + "entity": "household", + "column": "region_14_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_65_plus_indicator", + "entity": "household", + "column": "household_region_14_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_0_14_indicator", + "entity": "household", + "column": "household_region_14_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_15_39_indicator", + "entity": "household", + "column": "household_region_14_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_40_64_indicator", + "entity": "household", + "column": "household_region_14_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_65_plus_indicator", + "entity": "household", + "column": "household_region_14_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_0_14_indicator", + "entity": "household", + "column": "household_region_14_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_15_39_indicator", + "entity": "household", + "column": "household_region_14_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_40_64_indicator", + "entity": "household", + "column": "household_region_14_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_65_plus_indicator", + "entity": "household", + "column": "household_region_14_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_0_14_indicator", + "entity": "household", + "column": "household_region_14_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_15_39_indicator", + "entity": "household", + "column": "region_15_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_40_64_indicator", + "entity": "household", + "column": "household_region_15_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_65_plus_indicator", + "entity": "household", + "column": "household_region_15_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_0_14_indicator", + "entity": "household", + "column": "household_region_15_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_15_39_indicator", + "entity": "household", + "column": "household_region_15_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_40_64_indicator", + "entity": "household", + "column": "household_region_15_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_65_plus_indicator", + "entity": "household", + "column": "household_region_15_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_0_14_indicator", + "entity": "household", + "column": "household_region_15_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_15_39_indicator", + "entity": "household", + "column": "household_region_15_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_40_64_indicator", + "entity": "household", + "column": "household_region_15_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_65_plus_indicator", + "entity": "household", + "column": "household_region_15_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_0_14_indicator", + "entity": "household", + "column": "region_16_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_15_39_indicator", + "entity": "household", + "column": "household_region_16_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_40_64_indicator", + "entity": "household", + "column": "household_region_16_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_65_plus_indicator", + "entity": "household", + "column": "household_region_16_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_0_14_indicator", + "entity": "household", + "column": "household_region_16_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_15_39_indicator", + "entity": "household", + "column": "household_region_16_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_40_64_indicator", + "entity": "household", + "column": "household_region_16_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_65_plus_indicator", + "entity": "household", + "column": "household_region_16_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_0_14_indicator", + "entity": "household", + "column": "household_region_16_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_15_39_indicator", + "entity": "household", + "column": "household_region_16_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_40_64_indicator", + "entity": "household", + "column": "household_region_16_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_65_plus_indicator", + "entity": "household", + "column": "region_17_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_0_14_indicator", + "entity": "household", + "column": "household_region_17_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_15_39_indicator", + "entity": "household", + "column": "household_region_17_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_40_64_indicator", + "entity": "household", + "column": "household_region_17_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_65_plus_indicator", + "entity": "household", + "column": "household_region_17_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_0_14_indicator", + "entity": "household", + "column": "household_region_17_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_15_39_indicator", + "entity": "household", + "column": "household_region_17_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_40_64_indicator", + "entity": "household", + "column": "household_region_17_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_65_plus_indicator", + "entity": "household", + "column": "household_region_17_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_18_age_0_14_indicator", + "entity": "household", + "column": "household_region_17_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_18_age_15_39_indicator", + "entity": "household", + "column": "household_region_17_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_18_age_40_64_indicator", + "entity": "household", + "column": "region_18_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_18_age_65_plus_indicator", + "entity": "household", + "column": "household_region_18_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_01_indicator", + "column": "household_region_18_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_1_indicator", + "column": "household_region_18_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_2_indicator", + "column": "household_region_18_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_3_indicator", + "column": "household_region_18_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_4_indicator", + "column": "household_region_18_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_5_indicator", + "column": "household_region_18_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_6_indicator", + "column": "household_region_18_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_7_indicator", + "column": "household_region_18_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_8_indicator", + "column": "household_region_18_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_owned_indicator", + "column": "region_99_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_not_owned_indicator", + "column": "household_region_99_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_02_indicator", + "column": "household_region_99_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_1_indicator", + "column": "household_region_99_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_2_indicator", + "column": "household_region_99_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_3_indicator", + "column": "household_region_99_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_4_indicator", + "column": "household_region_99_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_5_indicator", + "column": "household_region_99_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_02_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_02_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_02_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_02_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_03_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_03_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_04_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_04_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_04_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_04_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_04_size_4_indicator", + "column": "household_region_99_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_5_indicator", + "column": "household_region_99_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_6_indicator", + "column": "household_region_99_not_owned_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_7_indicator", + "entity": "person", + "column": "age_18_24_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_8_indicator", + "entity": "person", + "column": "age_25_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_owned_indicator", + "entity": "person", + "column": "age_40_54_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_not_owned_indicator", + "entity": "person", + "column": "age_55_64_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_05_indicator", - "dtype": "bool" + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_05_size_1_indicator", - "dtype": "bool" + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_05_size_2_indicator", - "dtype": "bool" + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V1", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V1", + "inputs": [ { - "entity": "household", - "column": "household_region_05_size_3_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_05_size_4_indicator", - "dtype": "bool" + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] }, { - "entity": "household", - "column": "household_region_05_size_5_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_05_size_6_indicator", - "dtype": "bool" + "name": "surface", + "producer": "nz.v.V1.targets.compile", + "artifact": "surface" }, { - "entity": "household", - "column": "household_region_05_size_7_indicator", - "dtype": "bool" - }, + "name": "preparation", + "producer": "nz.v.V1.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V1.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V1", + "mass": "free", + "inputs": [ { "entity": "household", - "column": "household_region_05_size_8_indicator", - "dtype": "bool" + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" }, - { - "entity": "household", - "column": "household_region_05_owned_indicator", - "dtype": "bool" + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" }, - { - "entity": "household", - "column": "household_region_05_not_owned_indicator", - "dtype": "bool" + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" }, - { - "entity": "household", - "column": "region_06_indicator", - "dtype": "bool" + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_06_size_1_indicator", - "dtype": "bool" + "name": "problem", + "producer": "nz.v.V1.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V1.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V1.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V1.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V1.housing", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_06_size_2_indicator", - "dtype": "bool" + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] }, { - "entity": "household", - "column": "household_region_06_size_3_indicator", + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_4_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_06_size_5_indicator", + "entity": "family", + "column": "accommodation_supplement_boarder", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_6_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_06_size_7_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_06_size_8_indicator", + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_not_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", "dtype": "bool" }, { - "entity": "household", - "column": "region_07_indicator", + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_1_indicator", + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_2_indicator", + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_3_indicator", + "entity": "family", + "column": "accommodation_supplement_in_relationship", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_4_indicator", + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_5_indicator", + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_6_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_07_size_7_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_07_size_8_indicator", + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_not_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", "dtype": "bool" }, { - "entity": "household", - "column": "region_08_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_08_size_1_indicator", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_2_indicator", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_3_indicator", + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_4_indicator", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_5_indicator", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_6_indicator", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_7_indicator", + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_8_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_08_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_08_not_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_sole_parent", "dtype": "bool" }, { - "entity": "household", - "column": "region_09_indicator", + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_8_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_09_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_09_not_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" }, { - "entity": "household", - "column": "region_12_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_12_size_1_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_12_size_2_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_12_size_3_indicator", - "dtype": "bool" + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" }, - { - "entity": "household", - "column": "household_region_12_size_4_indicator", - "dtype": "bool" + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_12_size_5_indicator", - "dtype": "bool" + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" }, - { - "entity": "household", - "column": "household_region_12_size_6_indicator", - "dtype": "bool" + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_12_size_7_indicator", - "dtype": "bool" + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" }, - { - "entity": "household", - "column": "household_region_12_size_8_indicator", - "dtype": "bool" + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.bridge.masks", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ { - "entity": "household", - "column": "household_region_12_owned_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "is_single", + "n_dependent_children" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_12_not_owned_indicator", + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", "dtype": "bool" }, { - "entity": "household", - "column": "region_13_indicator", + "entity": "family", + "column": "accommodation_supplement_bridge_single_without_dependent_child", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "mask_bindings" + ] }, - { - "entity": "household", - "column": "household_region_13_size_1_indicator", - "dtype": "bool" + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.bridge.sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_13_size_2_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "household", - "column": "household_region_13_size_3_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_13_size_4_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_13_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_8_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." + }, + { + "id": "nz.v.V1.bridge.cutout", + "kernel": "simulate.solve_zero@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_13_owned_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "household", - "column": "household_region_13_not_owned_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "region_14_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_14_size_1_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - { - "entity": "household", - "column": "household_region_14_size_2_indicator", - "dtype": "bool" + "variables": [ + "jobseeker_support_net_weekly_payment", + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" + } + ], + "solve_input": { + "entity": "person", + "column": "jobseeker_support_total_income" }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." + }, + { + "id": "nz.v.V1.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_14_size_3_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "household", - "column": "household_region_14_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_owned_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_14_not_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "household", - "column": "region_15_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." + }, + { + "id": "nz.v.V1.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_15_size_1_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age" + ] }, { - "entity": "household", - "column": "household_region_15_size_2_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_15_size_3_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_15_size_4_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_15_size_5_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_15_size_6_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_15_size_7_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_15_size_8_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_15_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_15_not_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" }, { - "entity": "household", - "column": "region_16_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_1_indicator", - "dtype": "bool" - }, + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V1.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ { - "entity": "household", - "column": "household_region_16_size_2_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age" + ] }, { "entity": "household", - "column": "household_region_16_size_3_indicator", - "dtype": "bool" + "columns": [ + "source_household_id" + ] }, { - "entity": "household", - "column": "household_region_16_size_4_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_16_size_5_indicator", - "dtype": "bool" + "entity": "family", + "column": "income_decile", + "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - { - "entity": "household", - "column": "household_region_16_size_6_indicator", - "dtype": "bool" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V1", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_16_size_7_indicator", - "dtype": "bool" - }, + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V1.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ { - "entity": "household", - "column": "household_region_16_size_8_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] }, { - "entity": "household", - "column": "household_region_16_owned_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_16_not_owned_indicator", - "dtype": "bool" + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - { - "entity": "household", - "column": "region_17_indicator", - "dtype": "bool" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V1" + } + }, + { + "id": "nz.v.V1.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V1.housing", + "inputs": [ { - "entity": "household", - "column": "household_region_17_size_1_indicator", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_17_size_2_indicator", + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_17_size_3_indicator", - "dtype": "bool" + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V1.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_17_size_4_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age" + ] }, { "entity": "household", - "column": "household_region_17_size_5_indicator", - "dtype": "bool" + "columns": [ + "source_household_id" + ] }, { - "entity": "household", - "column": "household_region_17_size_6_indicator", - "dtype": "bool" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_17_size_7_indicator", - "dtype": "bool" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - { - "entity": "household", - "column": "household_region_17_size_8_indicator", - "dtype": "bool" + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_17_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_18_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_3_indicator", - "dtype": "bool" + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" }, + "scenario": "V1" + } + } + ] + }, + { + "id": "V2", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "aging_index": "high" + }, + "description": "high aging index", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V2", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ { - "entity": "household", - "column": "household_region_18_size_4_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V2.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V2", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ { - "entity": "household", - "column": "household_region_18_size_5_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] }, { "entity": "household", - "column": "household_region_18_size_6_indicator", - "dtype": "bool" - }, + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_18_size_7_indicator", - "dtype": "bool" + "entity": "person", + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_18_size_8_indicator", - "dtype": "bool" + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_18_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_18_not_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "region_99_indicator", - "dtype": "bool" + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_99_size_1_indicator", - "dtype": "bool" + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_99_size_2_indicator", - "dtype": "bool" + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true }, { "entity": "household", - "column": "household_region_99_size_3_indicator", - "dtype": "bool" + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true }, { "entity": "household", - "column": "household_region_99_size_4_indicator", - "dtype": "bool" + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true }, { "entity": "household", - "column": "household_region_99_size_5_indicator", - "dtype": "bool" + "column": "property_tax", + "dtype": "float64", + "rewrite": true }, { - "entity": "household", - "column": "household_region_99_size_6_indicator", - "dtype": "bool" + "entity": "person", + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_99_size_7_indicator", - "dtype": "bool" + "entity": "person", + "column": "farm_self_employment_income_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_99_size_8_indicator", - "dtype": "bool" + "entity": "person", + "column": "interest_income_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_99_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "dividend_income_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_99_not_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "age_18_24_indicator", - "dtype": "bool" + "column": "realized_capital_gains_cents", + "dtype": "int64" }, { "entity": "person", - "column": "age_25_39_indicator", - "dtype": "bool" + "column": "private_pension_income_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "age_40_54_indicator", - "dtype": "bool" + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "age_55_64_indicator", - "dtype": "bool" + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" }, { "entity": "household", - "column": "household_size", + "column": "property_tax_cents", "dtype": "int64" } ], "params": { - "bindings": { - "resource": "calibration_bindings", - "path": [], - "encoding": "json" - }, - "references": { - "resource": "target_references", + "declaration": { + "resource": "money_normalization", "path": [], "encoding": "json" }, - "references_sha256": { - "resource": "target_references", + "declaration_sha256": { + "resource": "money_normalization", "path": [], "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V1.targets.compile", - "kernel": "targets.compile@1", - "population": "nz.v.V1", - "sources": [ - "nz_chronicle_facts" - ], - "params": { - "country": "nz", - "references": { - "resource": "target_references", + }, + "factor_context": { + "resource": "reference_aging", "path": [], "encoding": "json" }, - "references_sha256": { - "resource": "target_references", + "factor_context_sha256": { + "resource": "reference_aging", "path": [], "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" } } }, { - "id": "nz.v.V1.targets.problem", - "kernel": "targets.problem@1", - "population": "nz.v.V1", + "id": "nz.v.V2.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V2", "inputs": [ { "entity": "person", "columns": [ - "people", - "population_region_01_age_0_14_indicator", - "population_region_01_age_15_39_indicator", - "population_region_01_age_40_64_indicator", - "population_region_01_age_65_plus_indicator", - "population_region_02_age_0_14_indicator", - "population_region_02_age_15_39_indicator", - "population_region_02_age_40_64_indicator", - "population_region_02_age_65_plus_indicator", - "population_region_03_age_0_14_indicator", - "population_region_03_age_15_39_indicator", - "population_region_03_age_40_64_indicator", - "population_region_03_age_65_plus_indicator", - "population_region_04_age_0_14_indicator", - "population_region_04_age_15_39_indicator", - "population_region_04_age_40_64_indicator", - "population_region_04_age_65_plus_indicator", - "population_region_05_age_0_14_indicator", - "population_region_05_age_15_39_indicator", - "population_region_05_age_40_64_indicator", - "population_region_05_age_65_plus_indicator", - "population_region_06_age_0_14_indicator", - "population_region_06_age_15_39_indicator", - "population_region_06_age_40_64_indicator", - "population_region_06_age_65_plus_indicator", - "population_region_07_age_0_14_indicator", - "population_region_07_age_15_39_indicator", - "population_region_07_age_40_64_indicator", - "population_region_07_age_65_plus_indicator", - "population_region_08_age_0_14_indicator", - "population_region_08_age_15_39_indicator", - "population_region_08_age_40_64_indicator", - "population_region_08_age_65_plus_indicator", - "population_region_09_age_0_14_indicator", - "population_region_09_age_15_39_indicator", - "population_region_09_age_40_64_indicator", - "population_region_09_age_65_plus_indicator", - "population_region_12_age_0_14_indicator", - "population_region_12_age_15_39_indicator", - "population_region_12_age_40_64_indicator", - "population_region_12_age_65_plus_indicator", - "population_region_13_age_0_14_indicator", - "population_region_13_age_15_39_indicator", - "population_region_13_age_40_64_indicator", - "population_region_13_age_65_plus_indicator", - "population_region_14_age_0_14_indicator", - "population_region_14_age_15_39_indicator", - "population_region_14_age_40_64_indicator", - "population_region_14_age_65_plus_indicator", - "population_region_15_age_0_14_indicator", - "population_region_15_age_15_39_indicator", - "population_region_15_age_40_64_indicator", - "population_region_15_age_65_plus_indicator", - "population_region_16_age_0_14_indicator", - "population_region_16_age_15_39_indicator", - "population_region_16_age_40_64_indicator", - "population_region_16_age_65_plus_indicator", - "population_region_17_age_0_14_indicator", - "population_region_17_age_15_39_indicator", - "population_region_17_age_40_64_indicator", - "population_region_17_age_65_plus_indicator", - "population_region_18_age_0_14_indicator", - "population_region_18_age_15_39_indicator", - "population_region_18_age_40_64_indicator", - "population_region_18_age_65_plus_indicator", - "age_18_24_indicator", - "age_25_39_indicator", - "age_40_54_indicator", - "age_55_64_indicator", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] - }, - { - "entity": "household", - "columns": [ - "households", - "region_01_indicator", - "household_region_01_size_1_indicator", - "household_region_01_size_2_indicator", - "household_region_01_size_3_indicator", - "household_region_01_size_4_indicator", - "household_region_01_size_5_indicator", - "household_region_01_size_6_indicator", - "household_region_01_size_7_indicator", - "household_region_01_size_8_indicator", - "household_region_01_owned_indicator", - "household_region_01_not_owned_indicator", - "region_02_indicator", - "household_region_02_size_1_indicator", - "household_region_02_size_2_indicator", - "household_region_02_size_3_indicator", - "household_region_02_size_4_indicator", - "household_region_02_size_5_indicator", - "household_region_02_size_6_indicator", - "household_region_02_size_7_indicator", - "household_region_02_size_8_indicator", - "household_region_02_owned_indicator", - "household_region_02_not_owned_indicator", - "region_03_indicator", - "household_region_03_size_1_indicator", - "household_region_03_size_2_indicator", - "household_region_03_size_3_indicator", - "household_region_03_size_4_indicator", - "household_region_03_size_5_indicator", - "household_region_03_size_6_indicator", - "household_region_03_size_7_indicator", - "household_region_03_size_8_indicator", - "household_region_03_owned_indicator", - "household_region_03_not_owned_indicator", - "region_04_indicator", - "household_region_04_size_1_indicator", - "household_region_04_size_2_indicator", - "household_region_04_size_3_indicator", - "household_region_04_size_4_indicator", - "household_region_04_size_5_indicator", - "household_region_04_size_6_indicator", - "household_region_04_size_7_indicator", - "household_region_04_size_8_indicator", - "household_region_04_owned_indicator", - "household_region_04_not_owned_indicator", - "region_05_indicator", - "household_region_05_size_1_indicator", - "household_region_05_size_2_indicator", - "household_region_05_size_3_indicator", - "household_region_05_size_4_indicator", - "household_region_05_size_5_indicator", - "household_region_05_size_6_indicator", - "household_region_05_size_7_indicator", - "household_region_05_size_8_indicator", - "household_region_05_owned_indicator", - "household_region_05_not_owned_indicator", - "region_06_indicator", - "household_region_06_size_1_indicator", - "household_region_06_size_2_indicator", - "household_region_06_size_3_indicator", - "household_region_06_size_4_indicator", - "household_region_06_size_5_indicator", - "household_region_06_size_6_indicator", - "household_region_06_size_7_indicator", - "household_region_06_size_8_indicator", - "household_region_06_owned_indicator", - "household_region_06_not_owned_indicator", - "region_07_indicator", - "household_region_07_size_1_indicator", - "household_region_07_size_2_indicator", - "household_region_07_size_3_indicator", - "household_region_07_size_4_indicator", - "household_region_07_size_5_indicator", - "household_region_07_size_6_indicator", - "household_region_07_size_7_indicator", - "household_region_07_size_8_indicator", - "household_region_07_owned_indicator", - "household_region_07_not_owned_indicator", - "region_08_indicator", - "household_region_08_size_1_indicator", - "household_region_08_size_2_indicator", - "household_region_08_size_3_indicator", - "household_region_08_size_4_indicator", - "household_region_08_size_5_indicator", - "household_region_08_size_6_indicator", - "household_region_08_size_7_indicator", - "household_region_08_size_8_indicator", - "household_region_08_owned_indicator", - "household_region_08_not_owned_indicator", - "region_09_indicator", - "household_region_09_size_1_indicator", - "household_region_09_size_2_indicator", - "household_region_09_size_3_indicator", - "household_region_09_size_4_indicator", - "household_region_09_size_5_indicator", - "household_region_09_size_6_indicator", - "household_region_09_size_7_indicator", - "household_region_09_size_8_indicator", - "household_region_09_owned_indicator", - "household_region_09_not_owned_indicator", - "region_12_indicator", - "household_region_12_size_1_indicator", - "household_region_12_size_2_indicator", - "household_region_12_size_3_indicator", - "household_region_12_size_4_indicator", - "household_region_12_size_5_indicator", - "household_region_12_size_6_indicator", - "household_region_12_size_7_indicator", - "household_region_12_size_8_indicator", - "household_region_12_owned_indicator", - "household_region_12_not_owned_indicator", - "region_13_indicator", - "household_region_13_size_1_indicator", - "household_region_13_size_2_indicator", - "household_region_13_size_3_indicator", - "household_region_13_size_4_indicator", - "household_region_13_size_5_indicator", - "household_region_13_size_6_indicator", - "household_region_13_size_7_indicator", - "household_region_13_size_8_indicator", - "household_region_13_owned_indicator", - "household_region_13_not_owned_indicator", - "region_14_indicator", - "household_region_14_size_1_indicator", - "household_region_14_size_2_indicator", - "household_region_14_size_3_indicator", - "household_region_14_size_4_indicator", - "household_region_14_size_5_indicator", - "household_region_14_size_6_indicator", - "household_region_14_size_7_indicator", - "household_region_14_size_8_indicator", - "household_region_14_owned_indicator", - "household_region_14_not_owned_indicator", - "region_15_indicator", - "household_region_15_size_1_indicator", - "household_region_15_size_2_indicator", - "household_region_15_size_3_indicator", - "household_region_15_size_4_indicator", - "household_region_15_size_5_indicator", - "household_region_15_size_6_indicator", - "household_region_15_size_7_indicator", - "household_region_15_size_8_indicator", - "household_region_15_owned_indicator", - "household_region_15_not_owned_indicator", - "region_16_indicator", - "household_region_16_size_1_indicator", - "household_region_16_size_2_indicator", - "household_region_16_size_3_indicator", - "household_region_16_size_4_indicator", - "household_region_16_size_5_indicator", - "household_region_16_size_6_indicator", - "household_region_16_size_7_indicator", - "household_region_16_size_8_indicator", - "household_region_16_owned_indicator", - "household_region_16_not_owned_indicator", - "region_17_indicator", - "household_region_17_size_1_indicator", - "household_region_17_size_2_indicator", - "household_region_17_size_3_indicator", - "household_region_17_size_4_indicator", - "household_region_17_size_5_indicator", - "household_region_17_size_6_indicator", - "household_region_17_size_7_indicator", - "household_region_17_size_8_indicator", - "household_region_17_owned_indicator", - "household_region_17_not_owned_indicator", - "region_18_indicator", - "household_region_18_size_1_indicator", - "household_region_18_size_2_indicator", - "household_region_18_size_3_indicator", - "household_region_18_size_4_indicator", - "household_region_18_size_5_indicator", - "household_region_18_size_6_indicator", - "household_region_18_size_7_indicator", - "household_region_18_size_8_indicator", - "household_region_18_owned_indicator", - "household_region_18_not_owned_indicator", - "region_99_indicator", - "household_region_99_size_1_indicator", - "household_region_99_size_2_indicator", - "household_region_99_size_3_indicator", - "household_region_99_size_4_indicator", - "household_region_99_size_5_indicator", - "household_region_99_size_6_indicator", - "household_region_99_size_7_indicator", - "household_region_99_size_8_indicator", - "household_region_99_owned_indicator", - "household_region_99_not_owned_indicator", - "household_size" - ] - }, - { - "entity": "family", - "columns": [ - "family_head_person_id" - ] - } - ], - "params": { - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household" - }, - "artifact_inputs": [ - { - "name": "surface", - "producer": "nz.v.V1.targets.compile", - "artifact": "surface" - }, - { - "name": "preparation", - "producer": "nz.v.V1.targets.prepare", - "artifact": "preparation" - } - ] - }, - { - "id": "nz.v.V1.calibrate", - "kernel": "calibrate.ordered_adam@1", - "structural": "reweight", - "base": "nz.v.V1", - "mass": "free", - "inputs": [ - { - "entity": "household", - "columns": [ - "source_household_id" - ] - } - ], - "weights": { - "entity": "household", - "to_kind": "calibrated", - "mass": "free" - }, - "params": { - "epochs": { - "resource": "calibration_settings", - "path": [ - "epochs" - ], - "encoding": "value" - }, - "learning_rate": { - "resource": "calibration_settings", - "path": [ - "learning_rate" - ], - "encoding": "value" - }, - "mass": { - "resource": "calibration_settings", - "path": [ - "mass" - ], - "encoding": "value" - }, - "max_weight_ratio": { - "resource": "calibration_settings", - "path": [ - "max_weight_ratio" - ], - "encoding": "value" - }, - "weight_anchor": { - "resource": "calibration_settings", - "path": [ - "weight_anchor" - ], - "encoding": "value" - } - }, - "artifact_inputs": [ - { - "name": "problem", - "producer": "nz.v.V1.targets.problem", - "artifact": "problem" - } - ] - }, - { - "id": "nz.v.V1.housing", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.v.V1.calibrate", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V1.inputs", - "kernel": "concepts.encode_groups@1", - "population": "nz.v.V1.housing", - "inputs": [ - { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" ] }, { @@ -10290,10624 +8376,7145 @@ "rent", "mortgage_interest", "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] - }, - { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" + "property_tax" ] } ], "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", + "entity": "person", + "column": "jobseeker_applicant_age", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_boarder", + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64" + "entity": "person", + "column": "jobseeker_full_time_student", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "entity": "person", + "column": "jobseeker_has_dependent_child", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", + "entity": "person", + "column": "jobseeker_has_no_income", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", + "entity": "person", + "column": "jobseeker_in_full_time_employment", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_in_relationship", + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_applicant_age", + "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", + "entity": "person", + "column": "jobseeker_support_dependent_children_count", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64" + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", + "entity": "person", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", "dtype": "float64" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "entity": "person", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "entity": "person", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64" + "entity": "person", + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "entity": "person", + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_birth_year", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_sole_parent", + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "entity": "person", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_person_age", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "entity": "person", + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, + { + "entity": "person", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", + "entity": "person", + "column": "nz_super_resident_present_since_age_20_total_years", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", "dtype": "int64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64" + "entity": "person", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "entity": "person", + "column": "nz_super_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "social_security_continuous_residence_years_after_citizen_or_resident", "dtype": "int64" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + { + "entity": "person", + "column": "social_security_new_zealand_citizen", + "dtype": "bool" }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" + { + "entity": "person", + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V1.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "social_security_section_205_override_applies", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "sole_parent_applicant_age", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" + }, { - "entity": "family", - "column": "bridge_evaluation_reg17_1", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "person", + "column": "sole_parent_is_single", + "dtype": "bool" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "sole_parent_marriage_or_civil_union_dissolved", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "column": "sole_parent_support_total_income", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "supported_living_applicant_age", + "dtype": "int64" }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "column": "supported_living_blind_average_weekly_earnings", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "supported_living_blind_beneficiary_employed", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_is_spouse_or_partner", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_payment_already_granted", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_required_full_time_care_at_home", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", + "dtype": "bool" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "column": "supported_living_payment_beneficiary_personal_earnings", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "supported_living_payment_caring", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V1.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" }, { - "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", - "dtype": "int64" + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", - "dtype": "int64" + "entity": "person", + "column": "supported_living_payment_single", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", + "entity": "person", + "column": "supported_living_payment_total_income", "dtype": "float64" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" + "entity": "person", + "column": "supported_living_payment_totally_blind", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" - } - ], - "rules_binding": "accommodation_supplement", - "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] - } - }, - { - "id": "nz.v.V1.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.v.V1.housing", - "inputs": [ + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, { "entity": "person", - "columns": [ - "age" - ] + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "dtype": "bool" }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "supported_living_terminal_condition", + "dtype": "bool" + }, { - "entity": "family", - "column": "income_decile", - "dtype": "int64" + "entity": "person", + "column": "supported_living_totally_blind", + "dtype": "bool" } ], "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - "classifier_sha256": { - "resource": "reporting_classifiers", + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], "encoding": "sha256" }, - "scenario": "V1", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ - { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } }, { - "id": "nz.v.V1.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.v.V1.housing", + "id": "nz.v.V2.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", "inputs": [ { "entity": "person", "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" ] } ], "outputs": [ { - "entity": "family", - "column": "receipt_group", - "dtype": "string" + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" + }, + { + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" } ], "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" - }, - "scenario": "V1" + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] } }, { - "id": "nz.v.V1.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.v.V1.housing", + "id": "nz.v.V2.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", "inputs": [ { - "entity": "family", + "entity": "person", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" ] } ], "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" + }, + { + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" } ], "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" - }, - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] } }, { - "id": "nz.v.V1.gap", - "kernel": "takeup.gap@1", + "id": "nz.v.V2.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V2", "structural": "none", - "population": "nz.v.V1.housing", - "sources": [ - "nz_holdout_facts" - ], + "rules_binding": "main_benefits_rates", "inputs": [ { "entity": "person", "columns": [ - "age" + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" }, { - "entity": "household", - "columns": [ - "source_household_id" - ] + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] - } - ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" - }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" - }, - "scenario": "V1" - } - } - ] - }, - { - "id": "V2", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "aging_index": "high" - }, - "description": "high aging index", - "encoding_knobs": {}, - "nodes": [ - { - "id": "nz.v.V2", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.open", - "inputs": [ { "entity": "person", - "columns": [ - "age" - ] + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" } ], - "params": {} + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } }, { - "id": "nz.v.V2.money.normalize", - "kernel": "money.normalize@1", + "id": "nz.v.V2.benefits.net_cents", + "kernel": "money.minor_units@1", "population": "nz.v.V2", - "sources": [ - "nz_chronicle_facts" - ], + "structural": "none", "inputs": [ { "entity": "person", "columns": [ - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "realized_capital_gains", - "private_pension_income" - ] - }, - { - "entity": "household", - "columns": [ - "mortgage_interest", - "mortgage_principal", - "property_tax" + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" ] } ], "outputs": [ { "entity": "person", - "column": "nonfarm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "farm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "interest_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "dividend_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "rental_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "realized_capital_gains", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "private_pension_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_interest", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_principal", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "property_tax", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "nonfarm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "farm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "interest_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "dividend_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "rental_income_cents", + "column": "jobseeker_support_net_weekly_payment_cents", "dtype": "int64" }, { "entity": "person", - "column": "realized_capital_gains_cents", + "column": "sole_parent_support_net_weekly_payment_cents", "dtype": "int64" }, { "entity": "person", - "column": "private_pension_income_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_interest_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_principal_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "property_tax_cents", + "column": "supported_living_payment_net_weekly_payment_cents", "dtype": "int64" } ], "params": { - "declaration": { - "resource": "money_normalization", - "path": [], - "encoding": "json" - }, - "declaration_sha256": { - "resource": "money_normalization", - "path": [], - "encoding": "sha256" - }, - "factor_context": { - "resource": "reference_aging", - "path": [], - "encoding": "json" + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - "factor_context_sha256": { - "resource": "reference_aging", - "path": [], - "encoding": "sha256" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - "profile_selection": { - "scenario": "knobs", - "encoding": "json" - } + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" } }, { - "id": "nz.v.V2.encode.person", - "kernel": "concepts.encode@1", + "id": "nz.v.V2.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", "population": "nz.v.V2", + "structural": "none", "inputs": [ { "entity": "person", "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability" - ] - }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax" + "jobseeker_support_net_weekly_payment_cents" ] } ], "outputs": [ { "entity": "person", - "column": "jobseeker_applicant_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_available_for_and_seeking_full_time_employment", - "dtype": "bool" + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "person", - "column": "jobseeker_full_time_student", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "jobseeker_has_dependent_child", - "dtype": "bool" - }, + "columns": [ + "sole_parent_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_has_no_income", - "dtype": "bool" + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "person", - "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "jobseeker_in_full_time_employment", - "dtype": "bool" - }, + "columns": [ + "supported_living_payment_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_income_less_than_zero_rate_cutout", - "dtype": "bool" + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "person", - "column": "jobseeker_losing_earnings_through_health_condition_or_injury", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V2.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "jobseeker_section_25_discretionary_student_eligibility", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_support_applicant_age", + "column": "jobseeker_support_annual_gross_cents", "dtype": "int64" }, { "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", + "column": "sole_parent_support_annual_gross_cents", "dtype": "int64" }, { "entity": "person", - "column": "jobseeker_support_living_with_parent", - "dtype": "bool" + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V2.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "dtype": "bool" - }, + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "dtype": "bool" - }, + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V2.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V2", + "inputs": [ { "entity": "person", - "column": "jobseeker_support_single", - "dtype": "bool" + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] }, { - "entity": "person", - "column": "jobseeker_support_total_income", - "dtype": "float64" - }, + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", + "column": "receives_nz_super", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "column": "receives_supported_living_payment", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "column": "receives_sole_parent_support", "dtype": "bool" }, { "entity": "person", - "column": "jobseeker_unemployed_due_to_strike", + "column": "receives_jobseeker_support", "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ + { + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V2.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V2", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "dtype": "bool" - }, + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", - "dtype": "bool" + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" }, { "entity": "person", - "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "dtype": "bool" + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" }, { "entity": "person", - "column": "main_benefit_income_test_assessable_income", - "dtype": "float64" + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" }, { "entity": "person", - "column": "main_benefit_receiving_another_main_benefit", - "dtype": "bool" + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V2.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V2", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, + { + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "main_benefit_receiving_new_zealand_superannuation", - "dtype": "bool" + "column": "people", + "dtype": "int64" + }, + { + "entity": "household", + "column": "households", + "dtype": "int64" }, { "entity": "person", - "column": "main_benefit_receiving_veterans_pension", + "column": "population_region_01_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "column": "population_region_01_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_birth_year", - "dtype": "int64" + "column": "population_region_01_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "column": "population_region_01_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "column": "population_region_02_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "column": "population_region_02_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_overseas_application_residence_exception_applies", + "column": "population_region_02_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_person_age", - "dtype": "int64" + "column": "population_region_02_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_principal_residence_is_qualifying_accommodation", + "column": "population_region_03_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_resident_present_since_age_20_new_zealand_years", - "dtype": "int64" + "column": "population_region_03_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_resident_present_since_age_20_total_years", - "dtype": "int64" + "column": "population_region_03_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_resident_present_since_age_50_total_years", - "dtype": "int64" + "column": "population_region_03_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "column": "population_region_04_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "nz_super_single", + "column": "population_region_04_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_continuous_residence_years_after_citizen_or_resident", - "dtype": "int64" + "column": "population_region_04_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "social_security_continuous_residence_years_before_application", - "dtype": "int64" + "column": "population_region_04_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "social_security_new_zealand_citizen", + "column": "population_region_05_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_only_temporary_entry_class_visa_holder", + "column": "population_region_05_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "column": "population_region_05_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_ordinarily_resident_in_reciprocity_country", + "column": "population_region_05_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_refugee_or_protected_person", + "column": "population_region_06_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "column": "population_region_06_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_residence_class_visa_holder", + "column": "population_region_06_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_section_205_override_applies", + "column": "population_region_06_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "column": "population_region_07_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_applicant_age", - "dtype": "int64" + "column": "population_region_07_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_caring_for_dependent_children_under_age_limit", - "dtype": "int64" + "column": "population_region_07_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "column": "population_region_07_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_is_single", + "column": "population_region_08_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "column": "population_region_08_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "column": "population_region_08_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_marriage_or_civil_union_dissolved", + "column": "population_region_08_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_receiving_sole_parent_support", + "column": "population_region_09_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_split_care_court_order_exception_applies", + "column": "population_region_09_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_split_care_entitlement_allocated_to_person", + "column": "population_region_09_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_split_care_situation_applies", + "column": "population_region_09_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_spouse_or_partner_died", + "column": "population_region_12_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_personal_earnings_used_for_childcare", - "dtype": "int64" + "column": "population_region_12_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_total_income", - "dtype": "float64" + "column": "population_region_12_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_youngest_dependent_child_age", - "dtype": "int64" + "column": "population_region_12_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_applicant_age", - "dtype": "int64" + "column": "population_region_13_age_0_14_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_blind_average_weekly_earnings", - "dtype": "float64" + "column": "population_region_13_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_blind_beneficiary_employed", + "column": "population_region_13_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_blind_other_weekly_amounts_from_all_sources", - "dtype": "int64" + "column": "population_region_13_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "column": "population_region_14_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_cared_person_is_spouse_or_partner", + "column": "population_region_14_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", + "column": "population_region_14_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_applicant_age", - "dtype": "int64" + "column": "population_region_14_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_applicant_has_dependent_child", + "column": "population_region_15_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_payment_already_granted", + "column": "population_region_15_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_required_full_time_care_at_home", + "column": "population_region_15_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_temporary_continuation_days", - "dtype": "int64" + "column": "population_region_15_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_open_employment_trial_agreed_with_msd", + "column": "population_region_16_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_open_employment_trial_weeks", - "dtype": "int64" + "column": "population_region_16_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_applicant_age", - "dtype": "int64" + "column": "population_region_16_age_40_64_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_beneficiary_personal_earnings", - "dtype": "float64" + "column": "population_region_16_age_65_plus_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_caring", + "column": "population_region_17_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_dependent_children_count", - "dtype": "int64" + "column": "population_region_17_age_15_39_indicator", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_granted_for_restricted_work_capacity", + "column": "population_region_17_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partner_receives_main_benefit", + "column": "population_region_17_age_65_plus_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "column": "population_region_18_age_0_14_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "column": "population_region_18_age_15_39_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_restricted_or_blind", + "column": "population_region_18_age_40_64_indicator", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_single", + "column": "population_region_18_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_total_income", - "dtype": "float64" + "entity": "household", + "column": "region_01_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_totally_blind", + "entity": "household", + "column": "household_region_01_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_regular_open_employment_capacity_hours_per_week", - "dtype": "int64" + "entity": "household", + "column": "household_region_01_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "entity": "household", + "column": "household_region_01_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "entity": "household", + "column": "household_region_01_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_terminal_condition", + "entity": "household", + "column": "household_region_01_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_totally_blind", + "entity": "household", + "column": "household_region_01_size_6_indicator", "dtype": "bool" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" + { + "entity": "household", + "column": "household_region_01_size_7_indicator", + "dtype": "bool" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + { + "entity": "household", + "column": "household_region_01_size_8_indicator", + "dtype": "bool" }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "household", + "column": "household_region_01_owned_indicator", + "dtype": "bool" }, - "rulespec_paths": [ - "nz/statutes/social_security/main_benefits/entitlement.yaml", - "nz/statutes/social_security/main_benefits/rates.yaml", - "nz/statutes/new_zealand_superannuation/core.yaml" - ] - } - }, - { - "id": "nz.v.V2.benefits.entitlement", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V2", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "main_benefits_entitlement", - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_applicant_age", - "jobseeker_available_for_and_seeking_full_time_employment", - "jobseeker_full_time_student", - "jobseeker_has_dependent_child", - "jobseeker_has_no_income", - "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "jobseeker_in_full_time_employment", - "jobseeker_income_less_than_zero_rate_cutout", - "jobseeker_losing_earnings_through_health_condition_or_injury", - "jobseeker_section_25_discretionary_student_eligibility", - "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "jobseeker_unemployed_due_to_strike", - "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "jobseeker_willing_and_able_to_undertake_full_time_employment", - "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "main_benefit_receiving_another_main_benefit", - "main_benefit_receiving_new_zealand_superannuation", - "main_benefit_receiving_veterans_pension", - "social_security_continuous_residence_years_after_citizen_or_resident", - "social_security_continuous_residence_years_before_application", - "social_security_new_zealand_citizen", - "social_security_only_temporary_entry_class_visa_holder", - "social_security_ordinarily_resident_in_new_zealand_on_application", - "social_security_ordinarily_resident_in_reciprocity_country", - "social_security_refugee_or_protected_person", - "social_security_regulations_treat_person_as_meeting_residence_requirement", - "social_security_residence_class_visa_holder", - "social_security_section_205_override_applies", - "social_security_unlawfully_resident_or_present_in_new_zealand", - "sole_parent_applicant_age", - "sole_parent_caring_for_dependent_children_under_age_limit", - "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "sole_parent_is_single", - "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "sole_parent_marriage_or_civil_union_dissolved", - "sole_parent_receiving_sole_parent_support", - "sole_parent_split_care_court_order_exception_applies", - "sole_parent_split_care_entitlement_allocated_to_person", - "sole_parent_split_care_situation_applies", - "sole_parent_spouse_or_partner_died", - "sole_parent_youngest_dependent_child_age", - "supported_living_applicant_age", - "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "supported_living_cared_person_is_spouse_or_partner", - "supported_living_cared_person_would_otherwise_receive_institutional_care", - "supported_living_caring_applicant_age", - "supported_living_caring_applicant_has_dependent_child", - "supported_living_caring_payment_already_granted", - "supported_living_caring_required_full_time_care_at_home", - "supported_living_caring_temporary_continuation_days", - "supported_living_open_employment_trial_agreed_with_msd", - "supported_living_open_employment_trial_weeks", - "supported_living_payment_granted_for_restricted_work_capacity", - "supported_living_regular_open_employment_capacity_hours_per_week", - "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "supported_living_restricting_condition_expected_to_continue_required_period", - "supported_living_terminal_condition", - "supported_living_totally_blind" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_01_not_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "entitled_to_jobseeker_support", - "dtype": "int64" + "entity": "household", + "column": "region_02_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_sole_parent_support", - "dtype": "int64" + "entity": "household", + "column": "household_region_02_size_1_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_restricted_or_blind", - "dtype": "int64" + "entity": "household", + "column": "household_region_02_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_caring", - "dtype": "int64" - } - ], - "params": { - "variables": [ - "entitled_to_jobseeker_support", - "entitled_to_sole_parent_support", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring" - ] - } - }, - { - "id": "nz.v.V2.benefits.super", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V2", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "nz_super", - "inputs": [ + "entity": "household", + "column": "household_region_02_size_3_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "nz_super_birth_year", - "nz_super_born_on_or_before_30_june_of_birth_year", - "nz_super_elected_weekly_compensation_instead_of_superannuation", - "nz_super_ordinarily_resident_in_new_zealand_on_application", - "nz_super_overseas_application_residence_exception_applies", - "nz_super_person_age", - "nz_super_principal_residence_is_qualifying_accommodation", - "nz_super_resident_present_since_age_20_new_zealand_years", - "nz_super_resident_present_since_age_20_total_years", - "nz_super_resident_present_since_age_50_total_years", - "nz_super_shares_residence_with_person_at_least_adult_age", - "nz_super_single" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_02_size_4_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "entitled_to_new_zealand_superannuation", - "dtype": "int64" + "entity": "household", + "column": "household_region_02_size_5_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_weekly_amount_before_tax", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax" - ] - } - }, - { - "id": "nz.v.V2.benefits.rates", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V2", - "structural": "none", - "rules_binding": "main_benefits_rates", - "inputs": [ + "entity": "household", + "column": "household_region_02_size_6_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_02_size_7_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment", - "dtype": "float64" + "entity": "household", + "column": "household_region_02_size_8_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment", - "dtype": "float64" + "entity": "household", + "column": "household_region_02_owned_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - }, - { - "id": "nz.v.V2.benefits.net_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ + "entity": "household", + "column": "household_region_02_not_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "region_03_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_size_1_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_03_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_03_size_3_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_03_size_4_indicator", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V2.gross_up.jobseeker_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_03_size_5_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "entity": "household", + "column": "household_region_03_size_6_indicator", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "household", + "column": "household_region_03_size_7_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V2.gross_up.sole_parent_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "sole_parent_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_03_size_8_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "sole_parent_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "entity": "household", + "column": "household_region_03_owned_indicator", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "household", + "column": "household_region_03_not_owned_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V2.gross_up.supported_living_payment", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "supported_living_payment_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "region_04_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "supported_living_payment_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "entity": "household", + "column": "household_region_04_size_1_indicator", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V2.gross_up.annual_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_annual_gross", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] - } - ], - "outputs": [ { - "entity": "person", - "column": "jobseeker_support_annual_gross_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_size_2_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_annual_gross_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_04_size_3_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_annual_gross_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "entity": "household", + "column": "household_region_04_size_4_indicator", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V2.gross_up.super_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ { - "entity": "person", - "columns": [ - "nz_super_weekly_amount_before_tax" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_04_size_5_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "nz_super_weekly_amount_before_tax_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V2.takeup.assign", - "kernel": "takeup.assign@1", - "population": "nz.v.V2", - "inputs": [ + "entity": "household", + "column": "household_region_04_size_6_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age", - "region_code", - "take_up_seed", - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring", - "supported_living_payment_net_weekly_payment", - "entitled_to_sole_parent_support", - "sole_parent_support_net_weekly_payment", - "entitled_to_jobseeker_support", - "jobseeker_support_net_weekly_payment" - ] + "entity": "household", + "column": "household_region_04_size_7_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ + "column": "household_region_04_size_8_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "receives_nz_super", + "entity": "household", + "column": "household_region_04_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_supported_living_payment", + "entity": "household", + "column": "household_region_04_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_sole_parent_support", + "entity": "household", + "column": "region_05_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "receives_jobseeker_support", + "entity": "household", + "column": "household_region_05_size_1_indicator", "dtype": "bool" - } - ], - "params": { - "receipt_contract": { - "resource": "receipt_contract", - "path": [ - "receipts" - ], - "encoding": "json" }, - "receipt_contract_sha256": { - "resource": "receipt_contract", - "path": [], - "encoding": "sha256" - } - }, - "artifact_inputs": [ { - "name": "surface", - "producer": "nz.facts.precal", - "artifact": "surface" - } - ] - }, - { - "id": "nz.v.V2.benefits.annual_transfers", - "kernel": "money.annual_transfers@1", - "population": "nz.v.V2", - "structural": "none", - "inputs": [ + "entity": "household", + "column": "household_region_05_size_2_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_nz_super", - "jobseeker_support_annual_gross_cents", - "sole_parent_support_annual_gross_cents", - "supported_living_payment_annual_gross_cents", - "nz_super_weekly_amount_before_tax_cents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_05_size_3_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_05_size_4_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_05_size_5_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_payment_annual_gross_transfer_cents", - "dtype": "int64" + "entity": "household", + "column": "household_region_05_size_6_indicator", + "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_annual_gross_transfer_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" - } - }, - { - "id": "nz.v.V2.targets.prepare", - "kernel": "calibration.prepare@1", - "population": "nz.v.V2", - "inputs": [ + "entity": "household", + "column": "household_region_05_size_7_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age", - "region_code", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "household_region_05_size_8_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "people", - "dtype": "int64" + "column": "household_region_05_owned_indicator", + "dtype": "bool" }, { "entity": "household", - "column": "households", - "dtype": "int64" - }, - { - "entity": "person", - "column": "population_region_01_age_0_14_indicator", + "column": "household_region_05_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_15_39_indicator", + "entity": "household", + "column": "region_06_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_40_64_indicator", + "entity": "household", + "column": "household_region_06_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_01_age_65_plus_indicator", + "entity": "household", + "column": "household_region_06_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_0_14_indicator", + "entity": "household", + "column": "household_region_06_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_15_39_indicator", + "entity": "household", + "column": "household_region_06_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_40_64_indicator", + "entity": "household", + "column": "household_region_06_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_02_age_65_plus_indicator", + "entity": "household", + "column": "household_region_06_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_0_14_indicator", + "entity": "household", + "column": "household_region_06_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_15_39_indicator", + "entity": "household", + "column": "household_region_06_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_40_64_indicator", + "entity": "household", + "column": "household_region_06_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_03_age_65_plus_indicator", + "entity": "household", + "column": "household_region_06_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_0_14_indicator", + "entity": "household", + "column": "region_07_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_15_39_indicator", + "entity": "household", + "column": "household_region_07_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_40_64_indicator", + "entity": "household", + "column": "household_region_07_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_04_age_65_plus_indicator", + "entity": "household", + "column": "household_region_07_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_0_14_indicator", + "entity": "household", + "column": "household_region_07_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_15_39_indicator", + "entity": "household", + "column": "household_region_07_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_40_64_indicator", + "entity": "household", + "column": "household_region_07_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_05_age_65_plus_indicator", + "entity": "household", + "column": "household_region_07_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_0_14_indicator", + "entity": "household", + "column": "household_region_07_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_15_39_indicator", + "entity": "household", + "column": "household_region_07_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_40_64_indicator", + "entity": "household", + "column": "household_region_07_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_06_age_65_plus_indicator", + "entity": "household", + "column": "region_08_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_0_14_indicator", + "entity": "household", + "column": "household_region_08_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_15_39_indicator", + "entity": "household", + "column": "household_region_08_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_40_64_indicator", + "entity": "household", + "column": "household_region_08_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_07_age_65_plus_indicator", + "entity": "household", + "column": "household_region_08_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_0_14_indicator", + "entity": "household", + "column": "household_region_08_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_15_39_indicator", + "entity": "household", + "column": "household_region_08_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_40_64_indicator", + "entity": "household", + "column": "household_region_08_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_08_age_65_plus_indicator", + "entity": "household", + "column": "household_region_08_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_0_14_indicator", + "entity": "household", + "column": "household_region_08_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_15_39_indicator", + "entity": "household", + "column": "household_region_08_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_40_64_indicator", + "entity": "household", + "column": "region_09_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_09_age_65_plus_indicator", + "entity": "household", + "column": "household_region_09_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_0_14_indicator", + "entity": "household", + "column": "household_region_09_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_15_39_indicator", + "entity": "household", + "column": "household_region_09_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_40_64_indicator", + "entity": "household", + "column": "household_region_09_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_12_age_65_plus_indicator", + "entity": "household", + "column": "household_region_09_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_0_14_indicator", + "entity": "household", + "column": "household_region_09_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_15_39_indicator", + "entity": "household", + "column": "household_region_09_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_40_64_indicator", + "entity": "household", + "column": "household_region_09_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_13_age_65_plus_indicator", + "entity": "household", + "column": "household_region_09_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_0_14_indicator", + "entity": "household", + "column": "household_region_09_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_15_39_indicator", + "entity": "household", + "column": "region_12_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_40_64_indicator", + "entity": "household", + "column": "household_region_12_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_14_age_65_plus_indicator", + "entity": "household", + "column": "household_region_12_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_0_14_indicator", + "entity": "household", + "column": "household_region_12_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_15_39_indicator", + "entity": "household", + "column": "household_region_12_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_40_64_indicator", + "entity": "household", + "column": "household_region_12_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_15_age_65_plus_indicator", + "entity": "household", + "column": "household_region_12_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_0_14_indicator", + "entity": "household", + "column": "household_region_12_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_15_39_indicator", + "entity": "household", + "column": "household_region_12_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_40_64_indicator", + "entity": "household", + "column": "household_region_12_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_16_age_65_plus_indicator", + "entity": "household", + "column": "household_region_12_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_0_14_indicator", + "entity": "household", + "column": "region_13_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_15_39_indicator", + "entity": "household", + "column": "household_region_13_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_40_64_indicator", + "entity": "household", + "column": "household_region_13_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "population_region_17_age_65_plus_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "population_region_18_age_0_14_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "population_region_18_age_15_39_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "population_region_18_age_40_64_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "population_region_18_age_65_plus_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_01_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_01_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_01_size_2_indicator", + "entity": "household", + "column": "household_region_13_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_3_indicator", + "column": "household_region_13_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_4_indicator", + "column": "household_region_13_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_5_indicator", + "column": "household_region_13_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_6_indicator", + "column": "household_region_13_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_7_indicator", + "column": "household_region_13_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_size_8_indicator", + "column": "household_region_13_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_owned_indicator", + "column": "household_region_13_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_01_not_owned_indicator", + "column": "region_14_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_02_indicator", + "column": "household_region_14_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_1_indicator", + "column": "household_region_14_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_2_indicator", + "column": "household_region_14_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_3_indicator", + "column": "household_region_14_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_4_indicator", + "column": "household_region_14_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_5_indicator", + "column": "household_region_14_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_6_indicator", + "column": "household_region_14_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_7_indicator", + "column": "household_region_14_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_size_8_indicator", + "column": "household_region_14_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_owned_indicator", + "column": "household_region_14_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_02_not_owned_indicator", + "column": "region_15_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_03_indicator", + "column": "household_region_15_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_1_indicator", + "column": "household_region_15_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_2_indicator", + "column": "household_region_15_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_3_indicator", + "column": "household_region_15_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_4_indicator", + "column": "household_region_15_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_5_indicator", + "column": "household_region_15_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_6_indicator", + "column": "household_region_15_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_7_indicator", + "column": "household_region_15_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_size_8_indicator", + "column": "household_region_15_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_owned_indicator", + "column": "household_region_15_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_03_not_owned_indicator", + "column": "region_16_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_04_indicator", + "column": "household_region_16_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_1_indicator", + "column": "household_region_16_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_2_indicator", + "column": "household_region_16_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_3_indicator", + "column": "household_region_16_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_4_indicator", + "column": "household_region_16_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_5_indicator", + "column": "household_region_16_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_6_indicator", + "column": "household_region_16_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_7_indicator", + "column": "household_region_16_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_size_8_indicator", + "column": "household_region_16_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_owned_indicator", + "column": "household_region_16_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_04_not_owned_indicator", + "column": "region_17_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_05_indicator", + "column": "household_region_17_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_1_indicator", + "column": "household_region_17_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_2_indicator", + "column": "household_region_17_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_3_indicator", + "column": "household_region_17_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_4_indicator", + "column": "household_region_17_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_5_indicator", + "column": "household_region_17_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_6_indicator", + "column": "household_region_17_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_7_indicator", + "column": "household_region_17_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_size_8_indicator", + "column": "household_region_17_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_owned_indicator", + "column": "household_region_17_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_05_not_owned_indicator", + "column": "region_18_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_06_indicator", + "column": "household_region_18_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_1_indicator", + "column": "household_region_18_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_2_indicator", + "column": "household_region_18_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_3_indicator", + "column": "household_region_18_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_4_indicator", + "column": "household_region_18_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_5_indicator", + "column": "household_region_18_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_6_indicator", + "column": "household_region_18_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_7_indicator", + "column": "household_region_18_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_size_8_indicator", + "column": "household_region_18_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_owned_indicator", + "column": "household_region_18_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_06_not_owned_indicator", + "column": "region_99_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_07_indicator", + "column": "household_region_99_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_1_indicator", + "column": "household_region_99_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_2_indicator", + "column": "household_region_99_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_3_indicator", + "column": "household_region_99_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_4_indicator", + "column": "household_region_99_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_5_indicator", + "column": "household_region_99_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_6_indicator", + "column": "household_region_99_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_7_indicator", + "column": "household_region_99_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_size_8_indicator", + "column": "household_region_99_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_owned_indicator", + "column": "household_region_99_not_owned_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_not_owned_indicator", + "entity": "person", + "column": "age_18_24_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_08_indicator", + "entity": "person", + "column": "age_25_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_1_indicator", + "entity": "person", + "column": "age_40_54_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_2_indicator", + "entity": "person", + "column": "age_55_64_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_3_indicator", - "dtype": "bool" + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_08_size_4_indicator", - "dtype": "bool" + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" }, - { - "entity": "household", - "column": "household_region_08_size_5_indicator", - "dtype": "bool" + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V2", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V2", + "inputs": [ { - "entity": "household", - "column": "household_region_08_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_08_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_08_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_08_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_08_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_09_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_09_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_12_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_12_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_13_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_13_owned_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_13_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_14_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_14_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_15_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_15_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_16_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_16_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_17_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_17_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_18_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_18_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_99_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_1_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_2_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_3_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_4_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_5_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_6_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_7_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_size_8_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_owned_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_region_99_not_owned_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "age_18_24_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "age_25_39_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "age_40_54_indicator", - "dtype": "bool" - }, - { - "entity": "person", - "column": "age_55_64_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "household_size", - "dtype": "int64" - } - ], - "params": { - "bindings": { - "resource": "calibration_bindings", - "path": [], - "encoding": "json" - }, - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V2.targets.compile", - "kernel": "targets.compile@1", - "population": "nz.v.V2", - "sources": [ - "nz_chronicle_facts" - ], - "params": { - "country": "nz", - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V2.targets.problem", - "kernel": "targets.problem@1", - "population": "nz.v.V2", - "inputs": [ - { - "entity": "person", - "columns": [ - "people", - "population_region_01_age_0_14_indicator", - "population_region_01_age_15_39_indicator", - "population_region_01_age_40_64_indicator", - "population_region_01_age_65_plus_indicator", - "population_region_02_age_0_14_indicator", - "population_region_02_age_15_39_indicator", - "population_region_02_age_40_64_indicator", - "population_region_02_age_65_plus_indicator", - "population_region_03_age_0_14_indicator", - "population_region_03_age_15_39_indicator", - "population_region_03_age_40_64_indicator", - "population_region_03_age_65_plus_indicator", - "population_region_04_age_0_14_indicator", - "population_region_04_age_15_39_indicator", - "population_region_04_age_40_64_indicator", - "population_region_04_age_65_plus_indicator", - "population_region_05_age_0_14_indicator", - "population_region_05_age_15_39_indicator", - "population_region_05_age_40_64_indicator", - "population_region_05_age_65_plus_indicator", - "population_region_06_age_0_14_indicator", - "population_region_06_age_15_39_indicator", - "population_region_06_age_40_64_indicator", - "population_region_06_age_65_plus_indicator", - "population_region_07_age_0_14_indicator", - "population_region_07_age_15_39_indicator", - "population_region_07_age_40_64_indicator", - "population_region_07_age_65_plus_indicator", - "population_region_08_age_0_14_indicator", - "population_region_08_age_15_39_indicator", - "population_region_08_age_40_64_indicator", - "population_region_08_age_65_plus_indicator", - "population_region_09_age_0_14_indicator", - "population_region_09_age_15_39_indicator", - "population_region_09_age_40_64_indicator", - "population_region_09_age_65_plus_indicator", - "population_region_12_age_0_14_indicator", - "population_region_12_age_15_39_indicator", - "population_region_12_age_40_64_indicator", - "population_region_12_age_65_plus_indicator", - "population_region_13_age_0_14_indicator", - "population_region_13_age_15_39_indicator", - "population_region_13_age_40_64_indicator", - "population_region_13_age_65_plus_indicator", - "population_region_14_age_0_14_indicator", - "population_region_14_age_15_39_indicator", - "population_region_14_age_40_64_indicator", - "population_region_14_age_65_plus_indicator", - "population_region_15_age_0_14_indicator", - "population_region_15_age_15_39_indicator", - "population_region_15_age_40_64_indicator", - "population_region_15_age_65_plus_indicator", - "population_region_16_age_0_14_indicator", - "population_region_16_age_15_39_indicator", - "population_region_16_age_40_64_indicator", - "population_region_16_age_65_plus_indicator", - "population_region_17_age_0_14_indicator", - "population_region_17_age_15_39_indicator", - "population_region_17_age_40_64_indicator", - "population_region_17_age_65_plus_indicator", - "population_region_18_age_0_14_indicator", - "population_region_18_age_15_39_indicator", - "population_region_18_age_40_64_indicator", - "population_region_18_age_65_plus_indicator", - "age_18_24_indicator", - "age_25_39_indicator", - "age_40_54_indicator", - "age_55_64_indicator", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] - }, - { - "entity": "household", - "columns": [ - "households", - "region_01_indicator", - "household_region_01_size_1_indicator", - "household_region_01_size_2_indicator", - "household_region_01_size_3_indicator", - "household_region_01_size_4_indicator", - "household_region_01_size_5_indicator", - "household_region_01_size_6_indicator", - "household_region_01_size_7_indicator", - "household_region_01_size_8_indicator", - "household_region_01_owned_indicator", - "household_region_01_not_owned_indicator", - "region_02_indicator", - "household_region_02_size_1_indicator", - "household_region_02_size_2_indicator", - "household_region_02_size_3_indicator", - "household_region_02_size_4_indicator", - "household_region_02_size_5_indicator", - "household_region_02_size_6_indicator", - "household_region_02_size_7_indicator", - "household_region_02_size_8_indicator", - "household_region_02_owned_indicator", - "household_region_02_not_owned_indicator", - "region_03_indicator", - "household_region_03_size_1_indicator", - "household_region_03_size_2_indicator", - "household_region_03_size_3_indicator", - "household_region_03_size_4_indicator", - "household_region_03_size_5_indicator", - "household_region_03_size_6_indicator", - "household_region_03_size_7_indicator", - "household_region_03_size_8_indicator", - "household_region_03_owned_indicator", - "household_region_03_not_owned_indicator", - "region_04_indicator", - "household_region_04_size_1_indicator", - "household_region_04_size_2_indicator", - "household_region_04_size_3_indicator", - "household_region_04_size_4_indicator", - "household_region_04_size_5_indicator", - "household_region_04_size_6_indicator", - "household_region_04_size_7_indicator", - "household_region_04_size_8_indicator", - "household_region_04_owned_indicator", - "household_region_04_not_owned_indicator", - "region_05_indicator", - "household_region_05_size_1_indicator", - "household_region_05_size_2_indicator", - "household_region_05_size_3_indicator", - "household_region_05_size_4_indicator", - "household_region_05_size_5_indicator", - "household_region_05_size_6_indicator", - "household_region_05_size_7_indicator", - "household_region_05_size_8_indicator", - "household_region_05_owned_indicator", - "household_region_05_not_owned_indicator", - "region_06_indicator", - "household_region_06_size_1_indicator", - "household_region_06_size_2_indicator", - "household_region_06_size_3_indicator", - "household_region_06_size_4_indicator", - "household_region_06_size_5_indicator", - "household_region_06_size_6_indicator", - "household_region_06_size_7_indicator", - "household_region_06_size_8_indicator", - "household_region_06_owned_indicator", - "household_region_06_not_owned_indicator", - "region_07_indicator", - "household_region_07_size_1_indicator", - "household_region_07_size_2_indicator", - "household_region_07_size_3_indicator", - "household_region_07_size_4_indicator", - "household_region_07_size_5_indicator", - "household_region_07_size_6_indicator", - "household_region_07_size_7_indicator", - "household_region_07_size_8_indicator", - "household_region_07_owned_indicator", - "household_region_07_not_owned_indicator", - "region_08_indicator", - "household_region_08_size_1_indicator", - "household_region_08_size_2_indicator", - "household_region_08_size_3_indicator", - "household_region_08_size_4_indicator", - "household_region_08_size_5_indicator", - "household_region_08_size_6_indicator", - "household_region_08_size_7_indicator", - "household_region_08_size_8_indicator", - "household_region_08_owned_indicator", - "household_region_08_not_owned_indicator", - "region_09_indicator", - "household_region_09_size_1_indicator", - "household_region_09_size_2_indicator", - "household_region_09_size_3_indicator", - "household_region_09_size_4_indicator", - "household_region_09_size_5_indicator", - "household_region_09_size_6_indicator", - "household_region_09_size_7_indicator", - "household_region_09_size_8_indicator", - "household_region_09_owned_indicator", - "household_region_09_not_owned_indicator", - "region_12_indicator", - "household_region_12_size_1_indicator", - "household_region_12_size_2_indicator", - "household_region_12_size_3_indicator", - "household_region_12_size_4_indicator", - "household_region_12_size_5_indicator", - "household_region_12_size_6_indicator", - "household_region_12_size_7_indicator", - "household_region_12_size_8_indicator", - "household_region_12_owned_indicator", - "household_region_12_not_owned_indicator", - "region_13_indicator", - "household_region_13_size_1_indicator", - "household_region_13_size_2_indicator", - "household_region_13_size_3_indicator", - "household_region_13_size_4_indicator", - "household_region_13_size_5_indicator", - "household_region_13_size_6_indicator", - "household_region_13_size_7_indicator", - "household_region_13_size_8_indicator", - "household_region_13_owned_indicator", - "household_region_13_not_owned_indicator", - "region_14_indicator", - "household_region_14_size_1_indicator", - "household_region_14_size_2_indicator", - "household_region_14_size_3_indicator", - "household_region_14_size_4_indicator", - "household_region_14_size_5_indicator", - "household_region_14_size_6_indicator", - "household_region_14_size_7_indicator", - "household_region_14_size_8_indicator", - "household_region_14_owned_indicator", - "household_region_14_not_owned_indicator", - "region_15_indicator", - "household_region_15_size_1_indicator", - "household_region_15_size_2_indicator", - "household_region_15_size_3_indicator", - "household_region_15_size_4_indicator", - "household_region_15_size_5_indicator", - "household_region_15_size_6_indicator", - "household_region_15_size_7_indicator", - "household_region_15_size_8_indicator", - "household_region_15_owned_indicator", - "household_region_15_not_owned_indicator", - "region_16_indicator", - "household_region_16_size_1_indicator", - "household_region_16_size_2_indicator", - "household_region_16_size_3_indicator", - "household_region_16_size_4_indicator", - "household_region_16_size_5_indicator", - "household_region_16_size_6_indicator", - "household_region_16_size_7_indicator", - "household_region_16_size_8_indicator", - "household_region_16_owned_indicator", - "household_region_16_not_owned_indicator", - "region_17_indicator", - "household_region_17_size_1_indicator", - "household_region_17_size_2_indicator", - "household_region_17_size_3_indicator", - "household_region_17_size_4_indicator", - "household_region_17_size_5_indicator", - "household_region_17_size_6_indicator", - "household_region_17_size_7_indicator", - "household_region_17_size_8_indicator", - "household_region_17_owned_indicator", - "household_region_17_not_owned_indicator", - "region_18_indicator", - "household_region_18_size_1_indicator", - "household_region_18_size_2_indicator", - "household_region_18_size_3_indicator", - "household_region_18_size_4_indicator", - "household_region_18_size_5_indicator", - "household_region_18_size_6_indicator", - "household_region_18_size_7_indicator", - "household_region_18_size_8_indicator", - "household_region_18_owned_indicator", - "household_region_18_not_owned_indicator", - "region_99_indicator", - "household_region_99_size_1_indicator", - "household_region_99_size_2_indicator", - "household_region_99_size_3_indicator", - "household_region_99_size_4_indicator", - "household_region_99_size_5_indicator", - "household_region_99_size_6_indicator", - "household_region_99_size_7_indicator", - "household_region_99_size_8_indicator", - "household_region_99_owned_indicator", - "household_region_99_not_owned_indicator", - "household_size" - ] - }, - { - "entity": "family", - "columns": [ - "family_head_person_id" - ] - } - ], - "params": { - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household" - }, - "artifact_inputs": [ - { - "name": "surface", - "producer": "nz.v.V2.targets.compile", - "artifact": "surface" - }, - { - "name": "preparation", - "producer": "nz.v.V2.targets.prepare", - "artifact": "preparation" - } - ] - }, - { - "id": "nz.v.V2.calibrate", - "kernel": "calibrate.ordered_adam@1", - "structural": "reweight", - "base": "nz.v.V2", - "mass": "free", - "inputs": [ - { - "entity": "household", - "columns": [ - "source_household_id" - ] - } - ], - "weights": { - "entity": "household", - "to_kind": "calibrated", - "mass": "free" - }, - "params": { - "epochs": { - "resource": "calibration_settings", - "path": [ - "epochs" - ], - "encoding": "value" - }, - "learning_rate": { - "resource": "calibration_settings", - "path": [ - "learning_rate" - ], - "encoding": "value" - }, - "mass": { - "resource": "calibration_settings", - "path": [ - "mass" - ], - "encoding": "value" - }, - "max_weight_ratio": { - "resource": "calibration_settings", - "path": [ - "max_weight_ratio" - ], - "encoding": "value" - }, - "weight_anchor": { - "resource": "calibration_settings", - "path": [ - "weight_anchor" - ], - "encoding": "value" - } - }, - "artifact_inputs": [ - { - "name": "problem", - "producer": "nz.v.V2.targets.problem", - "artifact": "problem" - } - ] - }, - { - "id": "nz.v.V2.housing", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.v.V2.calibrate", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V2.inputs", - "kernel": "concepts.encode_groups@1", - "population": "nz.v.V2.housing", - "inputs": [ - { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] - }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] - }, - { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_boarder", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_in_relationship", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_sole_parent", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "dtype": "bool" - }, - { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" - }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" - }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" - }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" - }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" - }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V2.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "bridge_evaluation_reg17_1", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" - }, - "period": { - "binding": "family_tax_credits", - "field": "period" - }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, - { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V2.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", - "dtype": "int64" - }, - { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" - }, - { - "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" - } - ], - "rules_binding": "accommodation_supplement", - "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] - } - }, - { - "id": "nz.v.V2.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.v.V2.housing", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, - { - "entity": "household", - "columns": [ - "source_household_id" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "income_decile", - "dtype": "int64" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" - }, - "scenario": "V2", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ - { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] - }, - { - "id": "nz.v.V2.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.v.V2.housing", - "inputs": [ - { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" - }, - "scenario": "V2" - } - }, - { - "id": "nz.v.V2.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.v.V2.housing", - "inputs": [ - { - "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" - }, - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V2.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.v.V2.housing", - "sources": [ - "nz_holdout_facts" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, - { - "entity": "household", - "columns": [ - "source_household_id" - ] - }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] - } - ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" - }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" - }, - "scenario": "V2" - } - } - ] - }, - { - "id": "V3", - "tier": "calibration", - "method_card_row": "MC6", - "knobs": { - "beneficiary_assignment": "variant" - }, - "description": "V3 starts from the raw nz.open branch and uses the resolved beneficiary_assignment variant profile in receipt_contract.json to draw a separate deterministic receipt stream for NZ Super, SLP, SPS and JS with the same targets and eligibility definitions.", - "encoding_knobs": {}, - "nodes": [ - { - "id": "nz.v.V3", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.open", - "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V3.money.normalize", - "kernel": "money.normalize@1", - "population": "nz.v.V3", - "sources": [ - "nz_chronicle_facts" - ], - "inputs": [ - { - "entity": "person", - "columns": [ - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "realized_capital_gains", - "private_pension_income" - ] - }, - { - "entity": "household", - "columns": [ - "mortgage_interest", - "mortgage_principal", - "property_tax" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "nonfarm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "farm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "interest_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "dividend_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "rental_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "realized_capital_gains", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "private_pension_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_interest", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_principal", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "property_tax", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "nonfarm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "farm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "interest_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "dividend_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "rental_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "realized_capital_gains_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "private_pension_income_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_interest_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_principal_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "property_tax_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": { - "resource": "money_normalization", - "path": [], - "encoding": "json" - }, - "declaration_sha256": { - "resource": "money_normalization", - "path": [], - "encoding": "sha256" - }, - "factor_context": { - "resource": "reference_aging", - "path": [], - "encoding": "json" - }, - "factor_context_sha256": { - "resource": "reference_aging", - "path": [], - "encoding": "sha256" - }, - "profile_selection": { - "scenario": "knobs", - "encoding": "json" - } - } - }, - { - "id": "nz.v.V3.encode.person", - "kernel": "concepts.encode@1", - "population": "nz.v.V3", - "inputs": [ - { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability" - ] - }, - { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "jobseeker_applicant_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_available_for_and_seeking_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_full_time_student", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_has_dependent_child", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_has_no_income", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_in_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_income_less_than_zero_rate_cutout", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_losing_earnings_through_health_condition_or_injury", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_section_25_discretionary_student_eligibility", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "dtype": "float64" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_unemployed_due_to_strike", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", - "dtype": "bool" + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" + ] }, { - "entity": "person", - "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_head_person_id" + ] + } + ], + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ { - "entity": "person", - "column": "main_benefit_income_test_assessable_income", - "dtype": "float64" + "name": "surface", + "producer": "nz.v.V2.targets.compile", + "artifact": "surface" }, { - "entity": "person", - "column": "main_benefit_receiving_another_main_benefit", - "dtype": "bool" - }, + "name": "preparation", + "producer": "nz.v.V2.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V2.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V2", + "mass": "free", + "inputs": [ { - "entity": "person", - "column": "main_benefit_receiving_new_zealand_superannuation", - "dtype": "bool" + "entity": "household", + "columns": [ + "source_household_id" + ] + } + ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, + "params": { + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" }, - { - "entity": "person", - "column": "main_benefit_receiving_veterans_pension", - "dtype": "bool" + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" }, - { - "entity": "person", - "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "dtype": "bool" + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" }, - { - "entity": "person", - "column": "nz_super_birth_year", - "dtype": "int64" + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ { - "entity": "person", - "column": "nz_super_born_on_or_before_30_june_of_birth_year", - "dtype": "bool" - }, + "name": "problem", + "producer": "nz.v.V2.targets.problem", + "artifact": "problem" + } + ] + }, + { + "id": "nz.v.V2.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V2.calibrate", + "inputs": [ { "entity": "person", - "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", - "dtype": "bool" - }, + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V2.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V2.housing", + "inputs": [ { "entity": "person", - "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", - "dtype": "bool" + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { - "entity": "person", - "column": "nz_super_overseas_application_residence_exception_applies", - "dtype": "bool" + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" + ] }, { - "entity": "person", - "column": "nz_super_person_age", - "dtype": "int64" - }, + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_principal_residence_is_qualifying_accommodation", + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", "dtype": "bool" }, { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_new_zealand_years", - "dtype": "int64" - }, - { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_total_years", - "dtype": "int64" - }, - { - "entity": "person", - "column": "nz_super_resident_present_since_age_50_total_years", + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", "dtype": "int64" }, { - "entity": "person", - "column": "nz_super_shares_residence_with_person_at_least_adult_age", - "dtype": "bool" - }, - { - "entity": "person", - "column": "nz_super_single", + "entity": "family", + "column": "accommodation_supplement_boarder", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "entity": "family", + "column": "accommodation_supplement_business_use_area", "dtype": "int64" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_before_application", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" }, { - "entity": "person", - "column": "social_security_new_zealand_citizen", + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_only_temporary_entry_class_visa_holder", + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_reciprocity_country", + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_refugee_or_protected_person", + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_residence_class_visa_holder", + "entity": "family", + "column": "accommodation_supplement_in_relationship", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_section_205_override_applies", + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", "dtype": "bool" }, { - "entity": "person", - "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_applicant_age", + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", "dtype": "int64" }, { - "entity": "person", - "column": "sole_parent_caring_for_dependent_children_under_age_limit", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" }, { - "entity": "person", - "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_is_single", + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" }, { - "entity": "person", - "column": "sole_parent_marriage_or_civil_union_dissolved", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_receiving_sole_parent_support", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_court_order_exception_applies", + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_entitlement_allocated_to_person", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_split_care_situation_applies", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_spouse_or_partner_died", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_support_personal_earnings_used_for_childcare", - "dtype": "int64" - }, - { - "entity": "person", - "column": "sole_parent_support_total_income", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" }, { - "entity": "person", - "column": "sole_parent_youngest_dependent_child_age", + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_applicant_age", + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_blind_average_weekly_earnings", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_blind_beneficiary_employed", + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "entity": "family", + "column": "accommodation_supplement_total_premises_area", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_cared_person_is_spouse_or_partner", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_caring_applicant_age", + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_caring_applicant_has_dependent_child", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" }, { - "entity": "person", - "column": "supported_living_caring_payment_already_granted", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - { - "entity": "person", - "column": "supported_living_caring_required_full_time_care_at_home", - "dtype": "bool" + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.bridge.masks", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V2.housing", + "inputs": [ { - "entity": "person", - "column": "supported_living_caring_temporary_continuation_days", - "dtype": "int64" + "entity": "family", + "columns": [ + "is_single", + "n_dependent_children" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "dtype": "bool" }, { - "entity": "person", - "column": "supported_living_open_employment_trial_agreed_with_msd", + "entity": "family", + "column": "accommodation_supplement_bridge_single_without_dependent_child", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "mask_bindings" + ] + }, + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V2.bridge.sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "supported_living_open_employment_trial_weeks", - "dtype": "int64" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "supported_living_payment_applicant_age", - "dtype": "int64" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "supported_living_payment_beneficiary_personal_earnings", + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "supported_living_payment_caring", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_dependent_children_count", - "dtype": "int64" - }, - { - "entity": "person", - "column": "supported_living_payment_granted_for_restricted_work_capacity", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partner_receives_main_benefit", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." + }, + { + "id": "nz.v.V2.bridge.cutout", + "kernel": "simulate.solve_zero@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "supported_living_payment_restricted_or_blind", - "dtype": "bool" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "supported_living_payment_single", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "supported_living_payment_total_income", + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "supported_living_payment_totally_blind", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_regular_open_employment_capacity_hours_per_week", - "dtype": "int64" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - { + "variables": [ + "jobseeker_support_net_weekly_payment", + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" + } + ], + "solve_input": { "entity": "person", - "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "dtype": "bool" + "column": "jobseeker_support_total_income" }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." + }, + { + "id": "nz.v.V2.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "supported_living_restricting_condition_expected_to_continue_required_period", - "dtype": "bool" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "supported_living_terminal_condition", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "supported_living_totally_blind", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "dtype": "float64" } ], "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", "encoding": "sha256" - }, - "rulespec_paths": [ - "nz/statutes/social_security/main_benefits/entitlement.yaml", - "nz/statutes/social_security/main_benefits/rates.yaml", - "nz/statutes/new_zealand_superannuation/core.yaml" - ] - } + } + }, + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.v.V3.benefits.entitlement", + "id": "nz.v.V2.as", "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V3", + "structural": "none", + "population": "nz.v.V2.housing", "sources": [ "rulespec_nz" ], - "rules_binding": "main_benefits_entitlement", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_applicant_age", - "jobseeker_available_for_and_seeking_full_time_employment", - "jobseeker_full_time_student", - "jobseeker_has_dependent_child", - "jobseeker_has_no_income", - "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "jobseeker_in_full_time_employment", - "jobseeker_income_less_than_zero_rate_cutout", - "jobseeker_losing_earnings_through_health_condition_or_injury", - "jobseeker_section_25_discretionary_student_eligibility", - "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "jobseeker_unemployed_due_to_strike", - "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "jobseeker_willing_and_able_to_undertake_full_time_employment", - "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "main_benefit_receiving_another_main_benefit", - "main_benefit_receiving_new_zealand_superannuation", - "main_benefit_receiving_veterans_pension", - "social_security_continuous_residence_years_after_citizen_or_resident", - "social_security_continuous_residence_years_before_application", - "social_security_new_zealand_citizen", - "social_security_only_temporary_entry_class_visa_holder", - "social_security_ordinarily_resident_in_new_zealand_on_application", - "social_security_ordinarily_resident_in_reciprocity_country", - "social_security_refugee_or_protected_person", - "social_security_regulations_treat_person_as_meeting_residence_requirement", - "social_security_residence_class_visa_holder", - "social_security_section_205_override_applies", - "social_security_unlawfully_resident_or_present_in_new_zealand", - "sole_parent_applicant_age", - "sole_parent_caring_for_dependent_children_under_age_limit", - "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "sole_parent_is_single", - "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "sole_parent_marriage_or_civil_union_dissolved", - "sole_parent_receiving_sole_parent_support", - "sole_parent_split_care_court_order_exception_applies", - "sole_parent_split_care_entitlement_allocated_to_person", - "sole_parent_split_care_situation_applies", - "sole_parent_spouse_or_partner_died", - "sole_parent_youngest_dependent_child_age", - "supported_living_applicant_age", - "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "supported_living_cared_person_is_spouse_or_partner", - "supported_living_cared_person_would_otherwise_receive_institutional_care", - "supported_living_caring_applicant_age", - "supported_living_caring_applicant_has_dependent_child", - "supported_living_caring_payment_already_granted", - "supported_living_caring_required_full_time_care_at_home", - "supported_living_caring_temporary_continuation_days", - "supported_living_open_employment_trial_agreed_with_msd", - "supported_living_open_employment_trial_weeks", - "supported_living_payment_granted_for_restricted_work_capacity", - "supported_living_regular_open_employment_capacity_hours_per_week", - "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "supported_living_restricting_condition_expected_to_continue_required_period", - "supported_living_terminal_condition", - "supported_living_totally_blind" + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { - "entity": "person", - "column": "entitled_to_jobseeker_support", + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", "dtype": "int64" }, { - "entity": "person", - "column": "entitled_to_sole_parent_support", + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", "dtype": "int64" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_restricted_or_blind", + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", "dtype": "int64" }, { - "entity": "person", - "column": "entitled_to_supported_living_payment_caring", + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", "dtype": "int64" - } - ], - "params": { - "variables": [ - "entitled_to_jobseeker_support", - "entitled_to_sole_parent_support", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring" - ] - } - }, - { - "id": "nz.v.V3.benefits.super", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V3", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "nz_super", - "inputs": [ + }, { - "entity": "person", - "columns": [ - "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "nz_super_birth_year", - "nz_super_born_on_or_before_30_june_of_birth_year", - "nz_super_elected_weekly_compensation_instead_of_superannuation", - "nz_super_ordinarily_resident_in_new_zealand_on_application", - "nz_super_overseas_application_residence_exception_applies", - "nz_super_person_age", - "nz_super_principal_residence_is_qualifying_accommodation", - "nz_super_resident_present_since_age_20_new_zealand_years", - "nz_super_resident_present_since_age_20_total_years", - "nz_super_resident_present_since_age_50_total_years", - "nz_super_shares_residence_with_person_at_least_adult_age", - "nz_super_single" - ] - } - ], - "outputs": [ + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" + }, { - "entity": "person", - "column": "entitled_to_new_zealand_superannuation", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" }, { - "entity": "person", - "column": "nz_super_weekly_amount_before_tax", + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", "dtype": "float64" } ], + "rules_binding": "accommodation_supplement", "params": { "variables": [ - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax" + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" ] } }, { - "id": "nz.v.V3.benefits.rates", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V3", + "id": "nz.v.V2.income_decile", + "kernel": "reporting.carry_income_decile@1", "structural": "none", - "rules_binding": "main_benefits_rates", + "population": "nz.v.V2.housing", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age" ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment", - "dtype": "float64" }, { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment", - "dtype": "float64" + "entity": "household", + "columns": [ + "source_household_id" + ] }, { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment", - "dtype": "float64" + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "income_decile", + "dtype": "int64" } ], "params": { - "variables": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] + }, + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" + }, + "scenario": "V2", + "entities": [ + "person", + "household", + "family" ] - } + }, + "artifact_inputs": [ + { + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] }, { - "id": "nz.v.V3.benefits.net_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V3", + "id": "nz.v.V2.receipt_group", + "kernel": "reporting.receipt_group@1", "structural": "none", + "population": "nz.v.V2.housing", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] + }, + { + "entity": "family", + "columns": [ + "family_type" ] } ], "outputs": [ { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "sole_parent_support_net_weekly_payment_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "supported_living_payment_net_weekly_payment_cents", - "dtype": "int64" + "entity": "family", + "column": "receipt_group", + "dtype": "string" } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + "scenario": "V2" } }, { - "id": "nz.v.V3.gross_up.jobseeker_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V3", + "id": "nz.v.V2.positive_payment", + "kernel": "calibration.prepare@1", "structural": "none", + "population": "nz.v.V2.housing", "inputs": [ { - "entity": "person", + "entity": "family", "columns": [ - "jobseeker_support_net_weekly_payment_cents" + "accommodation_supplement_rounded_weekly_payment" ] } ], "outputs": [ { - "entity": "person", - "column": "jobseeker_support_annual_gross", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" } ], "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } } }, { - "id": "nz.v.V3.gross_up.sole_parent_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V3", + "id": "nz.v.V2.gap", + "kernel": "takeup.gap@1", "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "nz_holdout_facts" + ], "inputs": [ { "entity": "person", "columns": [ - "sole_parent_support_net_weekly_payment_cents" + "age" ] - } - ], - "outputs": [ + }, { - "entity": "person", - "column": "sole_parent_support_annual_gross", - "dtype": "float64" + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] } ], "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 + "entities": [ + "person", + "household", + "family" ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" + }, + "scenario": "V2" } + } + ] + }, + { + "id": "V3", + "tier": "calibration", + "method_card_row": "MC6", + "knobs": { + "beneficiary_assignment": "variant" + }, + "description": "V3 starts from the raw nz.open branch and uses the resolved beneficiary_assignment variant profile in receipt_contract.json to draw a separate deterministic receipt stream for NZ Super, SLP, SPS and JS with the same targets and eligibility definitions.", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V3", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } + ], + "params": {} }, { - "id": "nz.v.V3.gross_up.supported_living_payment", - "kernel": "simulate.solve_zero@1", + "id": "nz.v.V3.money.normalize", + "kernel": "money.normalize@1", "population": "nz.v.V3", - "structural": "none", + "sources": [ + "nz_chronicle_facts" + ], "inputs": [ { "entity": "person", "columns": [ - "supported_living_payment_net_weekly_payment_cents" + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] + }, + { + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" ] } ], "outputs": [ { "entity": "person", - "column": "supported_living_payment_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "interest_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "dividend_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "rental_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "person", + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true + }, + { + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V3.gross_up.annual_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V3", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_annual_gross", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] - } - ], - "outputs": [ + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_cents", + "column": "farm_self_employment_income_cents", "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_cents", + "column": "interest_income_cents", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_cents", + "column": "dividend_income_cents", "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "rental_income_cents", + "dtype": "int64" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V3.gross_up.super_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V3", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "nz_super_weekly_amount_before_tax" - ] - } - ], - "outputs": [ + "column": "realized_capital_gains_cents", + "dtype": "int64" + }, { "entity": "person", - "column": "nz_super_weekly_amount_before_tax_cents", + "column": "private_pension_income_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" + }, + { + "entity": "household", + "column": "property_tax_cents", "dtype": "int64" } ], "params": { - "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + "declaration": { + "resource": "money_normalization", + "path": [], + "encoding": "json" + }, + "declaration_sha256": { + "resource": "money_normalization", + "path": [], + "encoding": "sha256" + }, + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" + }, + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" + }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } } }, { - "id": "nz.v.V3.takeup.assign", - "kernel": "takeup.assign@1", + "id": "nz.v.V3.encode.person", + "kernel": "concepts.encode@1", "population": "nz.v.V3", "inputs": [ { "entity": "person", "columns": [ "age", - "region_code", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", "take_up_seed", - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring", - "supported_living_payment_net_weekly_payment", - "entitled_to_sole_parent_support", - "sole_parent_support_net_weekly_payment", - "entitled_to_jobseeker_support", - "jobseeker_support_net_weekly_payment" + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" ] }, { "entity": "household", "columns": [ - "household_region_code", - "tenure" + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" ] } ], "outputs": [ { "entity": "person", - "column": "receives_nz_super", + "column": "jobseeker_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_available_for_and_seeking_full_time_employment", "dtype": "bool" }, { "entity": "person", - "column": "receives_supported_living_payment", + "column": "jobseeker_full_time_student", "dtype": "bool" }, { "entity": "person", - "column": "receives_sole_parent_support", + "column": "jobseeker_has_dependent_child", "dtype": "bool" }, { "entity": "person", - "column": "receives_jobseeker_support", + "column": "jobseeker_has_no_income", "dtype": "bool" - } - ], - "params": { - "receipt_contract": { - "resource": "receipt_contract", - "path": [ - "receipts" - ], - "encoding": "json" }, - "receipt_contract_sha256": { - "resource": "receipt_contract", - "path": [], - "encoding": "sha256" - } - }, - "artifact_inputs": [ { - "name": "surface", - "producer": "nz.facts.precal", - "artifact": "surface" - } - ] - }, - { - "id": "nz.v.V3.benefits.annual_transfers", - "kernel": "money.annual_transfers@1", - "population": "nz.v.V3", - "structural": "none", - "inputs": [ + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_nz_super", - "jobseeker_support_annual_gross_cents", - "sole_parent_support_annual_gross_cents", - "supported_living_payment_annual_gross_cents", - "nz_super_weekly_amount_before_tax_cents" - ] - } - ], - "outputs": [ + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_transfer_cents", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_transfer_cents", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_transfer_cents", - "dtype": "int64" + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_annual_gross_transfer_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" - } - }, - { - "id": "nz.v.V3.targets.prepare", - "kernel": "calibration.prepare@1", - "population": "nz.v.V3", - "inputs": [ + "column": "jobseeker_support_single", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "age", - "region_code", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "column": "jobseeker_support_total_income", + "dtype": "float64" }, - { - "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "people", - "dtype": "int64" + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" }, { - "entity": "household", - "column": "households", + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", "dtype": "int64" }, { "entity": "person", - "column": "population_region_01_age_0_14_indicator", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_15_39_indicator", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_40_64_indicator", + "column": "jobseeker_unemployed_due_to_strike", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_65_plus_indicator", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_0_14_indicator", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_15_39_indicator", + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_40_64_indicator", - "dtype": "bool" + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_02_age_65_plus_indicator", + "column": "main_benefit_receiving_another_main_benefit", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_0_14_indicator", + "column": "main_benefit_receiving_new_zealand_superannuation", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_15_39_indicator", + "column": "main_benefit_receiving_veterans_pension", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_40_64_indicator", + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_65_plus_indicator", - "dtype": "bool" + "column": "nz_super_birth_year", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_04_age_0_14_indicator", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", "dtype": "bool" }, { "entity": "person", - "column": "population_region_04_age_15_39_indicator", + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", "dtype": "bool" }, { "entity": "person", - "column": "population_region_04_age_40_64_indicator", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", "dtype": "bool" }, { "entity": "person", - "column": "population_region_04_age_65_plus_indicator", + "column": "nz_super_overseas_application_residence_exception_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_0_14_indicator", - "dtype": "bool" + "column": "nz_super_person_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_05_age_15_39_indicator", + "column": "nz_super_principal_residence_is_qualifying_accommodation", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_40_64_indicator", - "dtype": "bool" + "column": "nz_super_resident_present_since_age_20_new_zealand_years", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_05_age_65_plus_indicator", - "dtype": "bool" + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_06_age_0_14_indicator", - "dtype": "bool" + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_06_age_15_39_indicator", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_40_64_indicator", + "column": "nz_super_single", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_65_plus_indicator", - "dtype": "bool" + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_07_age_0_14_indicator", - "dtype": "bool" + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_07_age_15_39_indicator", + "column": "social_security_new_zealand_citizen", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_40_64_indicator", + "column": "social_security_only_temporary_entry_class_visa_holder", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_65_plus_indicator", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_0_14_indicator", + "column": "social_security_ordinarily_resident_in_reciprocity_country", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_15_39_indicator", + "column": "social_security_refugee_or_protected_person", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_40_64_indicator", + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_65_plus_indicator", + "column": "social_security_residence_class_visa_holder", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_0_14_indicator", + "column": "social_security_section_205_override_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_15_39_indicator", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_09_age_65_plus_indicator", - "dtype": "bool" + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_12_age_0_14_indicator", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", "dtype": "bool" }, { "entity": "person", - "column": "population_region_12_age_15_39_indicator", + "column": "sole_parent_is_single", "dtype": "bool" }, { "entity": "person", - "column": "population_region_12_age_40_64_indicator", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", "dtype": "bool" }, { "entity": "person", - "column": "population_region_12_age_65_plus_indicator", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", "dtype": "bool" }, { "entity": "person", - "column": "population_region_13_age_0_14_indicator", + "column": "sole_parent_marriage_or_civil_union_dissolved", "dtype": "bool" }, { "entity": "person", - "column": "population_region_13_age_15_39_indicator", + "column": "sole_parent_receiving_sole_parent_support", "dtype": "bool" }, { "entity": "person", - "column": "population_region_13_age_40_64_indicator", + "column": "sole_parent_split_care_court_order_exception_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_13_age_65_plus_indicator", + "column": "sole_parent_split_care_entitlement_allocated_to_person", "dtype": "bool" }, { "entity": "person", - "column": "population_region_14_age_0_14_indicator", + "column": "sole_parent_split_care_situation_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_14_age_15_39_indicator", + "column": "sole_parent_spouse_or_partner_died", "dtype": "bool" }, { "entity": "person", - "column": "population_region_14_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_14_age_65_plus_indicator", - "dtype": "bool" + "column": "sole_parent_support_total_income", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_15_age_0_14_indicator", - "dtype": "bool" + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_15_age_15_39_indicator", - "dtype": "bool" + "column": "supported_living_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_15_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_15_age_65_plus_indicator", + "column": "supported_living_blind_beneficiary_employed", "dtype": "bool" }, { "entity": "person", - "column": "population_region_16_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_16_age_15_39_indicator", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", "dtype": "bool" }, { "entity": "person", - "column": "population_region_16_age_40_64_indicator", + "column": "supported_living_cared_person_is_spouse_or_partner", "dtype": "bool" }, { "entity": "person", - "column": "population_region_16_age_65_plus_indicator", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", "dtype": "bool" }, { "entity": "person", - "column": "population_region_17_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_caring_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_17_age_15_39_indicator", + "column": "supported_living_caring_applicant_has_dependent_child", "dtype": "bool" }, { "entity": "person", - "column": "population_region_17_age_40_64_indicator", + "column": "supported_living_caring_payment_already_granted", "dtype": "bool" }, { "entity": "person", - "column": "population_region_17_age_65_plus_indicator", + "column": "supported_living_caring_required_full_time_care_at_home", "dtype": "bool" }, { "entity": "person", - "column": "population_region_18_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_18_age_15_39_indicator", + "column": "supported_living_open_employment_trial_agreed_with_msd", "dtype": "bool" }, { "entity": "person", - "column": "population_region_18_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_18_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_applicant_age", + "dtype": "int64" }, { - "entity": "household", - "column": "region_01_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_01_size_1_indicator", + "entity": "person", + "column": "supported_living_payment_caring", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_2_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_01_size_3_indicator", + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_4_indicator", + "entity": "person", + "column": "supported_living_payment_partner_receives_main_benefit", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_5_indicator", + "entity": "person", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_6_indicator", + "entity": "person", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_7_indicator", + "entity": "person", + "column": "supported_living_payment_restricted_or_blind", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_8_indicator", + "entity": "person", + "column": "supported_living_payment_single", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_total_income", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_01_not_owned_indicator", + "entity": "person", + "column": "supported_living_payment_totally_blind", "dtype": "bool" }, { - "entity": "household", - "column": "region_02_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_1_indicator", + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_2_indicator", + "entity": "person", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_3_indicator", + "entity": "person", + "column": "supported_living_terminal_condition", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_4_indicator", + "entity": "person", + "column": "supported_living_totally_blind", "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V3.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ { - "entity": "household", - "column": "household_region_02_size_5_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_jobseeker_support", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_6_indicator", - "dtype": "bool" + "entity": "person", + "column": "entitled_to_sole_parent_support", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_7_indicator", - "dtype": "bool" + "entity": "person", + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_8_indicator", - "dtype": "bool" + "entity": "person", + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V3.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ + { + "entity": "person", + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V3.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V3", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ + { + "entity": "person", + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" }, { - "entity": "household", - "column": "household_region_02_not_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" }, { - "entity": "household", - "column": "region_03_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V3.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_03_size_1_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_03_size_2_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_03_size_3_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_03_size_4_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_03_size_5_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V3.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_03_size_6_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "jobseeker_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_03_size_7_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_03_size_8_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_03_owned_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "sole_parent_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_03_not_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "household", - "column": "region_04_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_04_size_1_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "supported_living_payment_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_04_size_2_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_04_size_3_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V3.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_04_size_4_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_04_size_5_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_04_size_6_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_04_size_7_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "household", - "column": "household_region_04_size_8_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V3.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_04_owned_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_04_not_owned_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V3.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V3", + "inputs": [ { - "entity": "household", - "column": "region_05_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] }, { "entity": "household", - "column": "household_region_05_size_1_indicator", - "dtype": "bool" - }, + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_05_size_2_indicator", + "entity": "person", + "column": "receives_nz_super", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_3_indicator", + "entity": "person", + "column": "receives_supported_living_payment", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_4_indicator", + "entity": "person", + "column": "receives_sole_parent_support", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_5_indicator", + "entity": "person", + "column": "receives_jobseeker_support", "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_05_size_6_indicator", - "dtype": "bool" - }, + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V3.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V3", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_05_size_7_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_05_size_8_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_05_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_05_not_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "region_06_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V3.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V3", + "inputs": [ { - "entity": "household", - "column": "household_region_06_size_1_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_06_size_2_indicator", - "dtype": "bool" + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" }, { "entity": "household", - "column": "household_region_06_size_3_indicator", - "dtype": "bool" + "column": "households", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_06_size_4_indicator", + "entity": "person", + "column": "population_region_01_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_5_indicator", + "entity": "person", + "column": "population_region_01_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_6_indicator", + "entity": "person", + "column": "population_region_01_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_7_indicator", + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_8_indicator", + "entity": "person", + "column": "population_region_02_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_owned_indicator", + "entity": "person", + "column": "population_region_02_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_not_owned_indicator", + "entity": "person", + "column": "population_region_02_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_07_indicator", + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_1_indicator", + "entity": "person", + "column": "population_region_03_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_2_indicator", + "entity": "person", + "column": "population_region_03_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_3_indicator", + "entity": "person", + "column": "population_region_03_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_4_indicator", + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_5_indicator", + "entity": "person", + "column": "population_region_04_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_6_indicator", + "entity": "person", + "column": "population_region_04_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_7_indicator", + "entity": "person", + "column": "population_region_04_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_8_indicator", + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_owned_indicator", + "entity": "person", + "column": "population_region_05_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_not_owned_indicator", + "entity": "person", + "column": "population_region_05_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_08_indicator", + "entity": "person", + "column": "population_region_05_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_1_indicator", + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_2_indicator", + "entity": "person", + "column": "population_region_06_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_3_indicator", + "entity": "person", + "column": "population_region_06_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_4_indicator", + "entity": "person", + "column": "population_region_06_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_5_indicator", + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_6_indicator", + "entity": "person", + "column": "population_region_07_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_7_indicator", + "entity": "person", + "column": "population_region_07_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_8_indicator", + "entity": "person", + "column": "population_region_07_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_owned_indicator", + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_not_owned_indicator", + "entity": "person", + "column": "population_region_08_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_09_indicator", + "entity": "person", + "column": "population_region_08_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_1_indicator", + "entity": "person", + "column": "population_region_08_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_2_indicator", + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_3_indicator", + "entity": "person", + "column": "population_region_09_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_4_indicator", + "entity": "person", + "column": "population_region_09_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_5_indicator", + "entity": "person", + "column": "population_region_09_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_6_indicator", + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_7_indicator", + "entity": "person", + "column": "population_region_12_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_size_8_indicator", + "entity": "person", + "column": "population_region_12_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_owned_indicator", + "entity": "person", + "column": "population_region_12_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_09_not_owned_indicator", + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_12_indicator", + "entity": "person", + "column": "population_region_13_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_1_indicator", + "entity": "person", + "column": "population_region_13_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_2_indicator", + "entity": "person", + "column": "population_region_13_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_3_indicator", + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_4_indicator", + "entity": "person", + "column": "population_region_14_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_5_indicator", + "entity": "person", + "column": "population_region_14_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_6_indicator", + "entity": "person", + "column": "population_region_14_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_7_indicator", + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_size_8_indicator", + "entity": "person", + "column": "population_region_15_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_owned_indicator", + "entity": "person", + "column": "population_region_15_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_12_not_owned_indicator", + "entity": "person", + "column": "population_region_15_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_13_indicator", + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_1_indicator", + "entity": "person", + "column": "population_region_16_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_2_indicator", + "entity": "person", + "column": "population_region_16_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_3_indicator", + "entity": "person", + "column": "population_region_16_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_4_indicator", + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_5_indicator", + "entity": "person", + "column": "population_region_17_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_6_indicator", + "entity": "person", + "column": "population_region_17_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_7_indicator", + "entity": "person", + "column": "population_region_17_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_size_8_indicator", + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_owned_indicator", + "entity": "person", + "column": "population_region_18_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_13_not_owned_indicator", + "entity": "person", + "column": "population_region_18_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_14_indicator", + "entity": "person", + "column": "population_region_18_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_14_size_1_indicator", + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_2_indicator", + "column": "region_01_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_3_indicator", + "column": "household_region_01_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_4_indicator", + "column": "household_region_01_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_5_indicator", + "column": "household_region_01_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_6_indicator", + "column": "household_region_01_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_7_indicator", + "column": "household_region_01_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_8_indicator", + "column": "household_region_01_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_owned_indicator", + "column": "household_region_01_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_not_owned_indicator", + "column": "household_region_01_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_15_indicator", + "column": "household_region_01_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_1_indicator", + "column": "household_region_01_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_2_indicator", + "column": "region_02_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_3_indicator", + "column": "household_region_02_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_4_indicator", + "column": "household_region_02_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_5_indicator", + "column": "household_region_02_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_6_indicator", + "column": "household_region_02_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_7_indicator", + "column": "household_region_02_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_8_indicator", + "column": "household_region_02_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_owned_indicator", + "column": "household_region_02_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_not_owned_indicator", + "column": "household_region_02_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_16_indicator", + "column": "household_region_02_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_1_indicator", + "column": "household_region_02_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_2_indicator", + "column": "region_03_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_3_indicator", + "column": "household_region_03_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_4_indicator", + "column": "household_region_03_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_5_indicator", + "column": "household_region_03_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_6_indicator", + "column": "household_region_03_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_7_indicator", + "column": "household_region_03_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_8_indicator", + "column": "household_region_03_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_owned_indicator", + "column": "household_region_03_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_not_owned_indicator", + "column": "household_region_03_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_17_indicator", + "column": "household_region_03_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_1_indicator", + "column": "household_region_03_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_2_indicator", + "column": "region_04_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_3_indicator", + "column": "household_region_04_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_4_indicator", + "column": "household_region_04_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_5_indicator", + "column": "household_region_04_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_6_indicator", + "column": "household_region_04_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_7_indicator", + "column": "household_region_04_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_8_indicator", + "column": "household_region_04_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_owned_indicator", + "column": "household_region_04_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_not_owned_indicator", + "column": "household_region_04_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_18_indicator", + "column": "household_region_04_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_1_indicator", + "column": "household_region_04_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_2_indicator", + "column": "region_05_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_3_indicator", + "column": "household_region_05_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_4_indicator", + "column": "household_region_05_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_5_indicator", + "column": "household_region_05_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_6_indicator", + "column": "household_region_05_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_7_indicator", + "column": "household_region_05_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_8_indicator", + "column": "household_region_05_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_owned_indicator", + "column": "household_region_05_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_not_owned_indicator", + "column": "household_region_05_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_99_indicator", + "column": "household_region_05_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_1_indicator", + "column": "household_region_05_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_2_indicator", + "column": "region_06_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_3_indicator", + "column": "household_region_06_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_4_indicator", + "column": "household_region_06_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_5_indicator", + "column": "household_region_06_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_6_indicator", + "column": "household_region_06_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_7_indicator", + "column": "household_region_06_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_8_indicator", + "column": "household_region_06_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_owned_indicator", + "column": "household_region_06_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_not_owned_indicator", + "column": "household_region_06_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_18_24_indicator", + "entity": "household", + "column": "household_region_06_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_25_39_indicator", + "entity": "household", + "column": "household_region_06_not_owned_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_40_54_indicator", + "entity": "household", + "column": "region_07_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_55_64_indicator", + "entity": "household", + "column": "household_region_07_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_size", - "dtype": "int64" - } - ], - "params": { - "bindings": { - "resource": "calibration_bindings", - "path": [], - "encoding": "json" - }, - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V3.targets.compile", - "kernel": "targets.compile@1", - "population": "nz.v.V3", - "sources": [ - "nz_chronicle_facts" - ], - "params": { - "country": "nz", - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V3.targets.problem", - "kernel": "targets.problem@1", - "population": "nz.v.V3", - "inputs": [ - { - "entity": "person", - "columns": [ - "people", - "population_region_01_age_0_14_indicator", - "population_region_01_age_15_39_indicator", - "population_region_01_age_40_64_indicator", - "population_region_01_age_65_plus_indicator", - "population_region_02_age_0_14_indicator", - "population_region_02_age_15_39_indicator", - "population_region_02_age_40_64_indicator", - "population_region_02_age_65_plus_indicator", - "population_region_03_age_0_14_indicator", - "population_region_03_age_15_39_indicator", - "population_region_03_age_40_64_indicator", - "population_region_03_age_65_plus_indicator", - "population_region_04_age_0_14_indicator", - "population_region_04_age_15_39_indicator", - "population_region_04_age_40_64_indicator", - "population_region_04_age_65_plus_indicator", - "population_region_05_age_0_14_indicator", - "population_region_05_age_15_39_indicator", - "population_region_05_age_40_64_indicator", - "population_region_05_age_65_plus_indicator", - "population_region_06_age_0_14_indicator", - "population_region_06_age_15_39_indicator", - "population_region_06_age_40_64_indicator", - "population_region_06_age_65_plus_indicator", - "population_region_07_age_0_14_indicator", - "population_region_07_age_15_39_indicator", - "population_region_07_age_40_64_indicator", - "population_region_07_age_65_plus_indicator", - "population_region_08_age_0_14_indicator", - "population_region_08_age_15_39_indicator", - "population_region_08_age_40_64_indicator", - "population_region_08_age_65_plus_indicator", - "population_region_09_age_0_14_indicator", - "population_region_09_age_15_39_indicator", - "population_region_09_age_40_64_indicator", - "population_region_09_age_65_plus_indicator", - "population_region_12_age_0_14_indicator", - "population_region_12_age_15_39_indicator", - "population_region_12_age_40_64_indicator", - "population_region_12_age_65_plus_indicator", - "population_region_13_age_0_14_indicator", - "population_region_13_age_15_39_indicator", - "population_region_13_age_40_64_indicator", - "population_region_13_age_65_plus_indicator", - "population_region_14_age_0_14_indicator", - "population_region_14_age_15_39_indicator", - "population_region_14_age_40_64_indicator", - "population_region_14_age_65_plus_indicator", - "population_region_15_age_0_14_indicator", - "population_region_15_age_15_39_indicator", - "population_region_15_age_40_64_indicator", - "population_region_15_age_65_plus_indicator", - "population_region_16_age_0_14_indicator", - "population_region_16_age_15_39_indicator", - "population_region_16_age_40_64_indicator", - "population_region_16_age_65_plus_indicator", - "population_region_17_age_0_14_indicator", - "population_region_17_age_15_39_indicator", - "population_region_17_age_40_64_indicator", - "population_region_17_age_65_plus_indicator", - "population_region_18_age_0_14_indicator", - "population_region_18_age_15_39_indicator", - "population_region_18_age_40_64_indicator", - "population_region_18_age_65_plus_indicator", - "age_18_24_indicator", - "age_25_39_indicator", - "age_40_54_indicator", - "age_55_64_indicator", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "column": "household_region_07_size_2_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "households", - "region_01_indicator", - "household_region_01_size_1_indicator", - "household_region_01_size_2_indicator", - "household_region_01_size_3_indicator", - "household_region_01_size_4_indicator", - "household_region_01_size_5_indicator", - "household_region_01_size_6_indicator", - "household_region_01_size_7_indicator", - "household_region_01_size_8_indicator", - "household_region_01_owned_indicator", - "household_region_01_not_owned_indicator", - "region_02_indicator", - "household_region_02_size_1_indicator", - "household_region_02_size_2_indicator", - "household_region_02_size_3_indicator", - "household_region_02_size_4_indicator", - "household_region_02_size_5_indicator", - "household_region_02_size_6_indicator", - "household_region_02_size_7_indicator", - "household_region_02_size_8_indicator", - "household_region_02_owned_indicator", - "household_region_02_not_owned_indicator", - "region_03_indicator", - "household_region_03_size_1_indicator", - "household_region_03_size_2_indicator", - "household_region_03_size_3_indicator", - "household_region_03_size_4_indicator", - "household_region_03_size_5_indicator", - "household_region_03_size_6_indicator", - "household_region_03_size_7_indicator", - "household_region_03_size_8_indicator", - "household_region_03_owned_indicator", - "household_region_03_not_owned_indicator", - "region_04_indicator", - "household_region_04_size_1_indicator", - "household_region_04_size_2_indicator", - "household_region_04_size_3_indicator", - "household_region_04_size_4_indicator", - "household_region_04_size_5_indicator", - "household_region_04_size_6_indicator", - "household_region_04_size_7_indicator", - "household_region_04_size_8_indicator", - "household_region_04_owned_indicator", - "household_region_04_not_owned_indicator", - "region_05_indicator", - "household_region_05_size_1_indicator", - "household_region_05_size_2_indicator", - "household_region_05_size_3_indicator", - "household_region_05_size_4_indicator", - "household_region_05_size_5_indicator", - "household_region_05_size_6_indicator", - "household_region_05_size_7_indicator", - "household_region_05_size_8_indicator", - "household_region_05_owned_indicator", - "household_region_05_not_owned_indicator", - "region_06_indicator", - "household_region_06_size_1_indicator", - "household_region_06_size_2_indicator", - "household_region_06_size_3_indicator", - "household_region_06_size_4_indicator", - "household_region_06_size_5_indicator", - "household_region_06_size_6_indicator", - "household_region_06_size_7_indicator", - "household_region_06_size_8_indicator", - "household_region_06_owned_indicator", - "household_region_06_not_owned_indicator", - "region_07_indicator", - "household_region_07_size_1_indicator", - "household_region_07_size_2_indicator", - "household_region_07_size_3_indicator", - "household_region_07_size_4_indicator", - "household_region_07_size_5_indicator", - "household_region_07_size_6_indicator", - "household_region_07_size_7_indicator", - "household_region_07_size_8_indicator", - "household_region_07_owned_indicator", - "household_region_07_not_owned_indicator", - "region_08_indicator", - "household_region_08_size_1_indicator", - "household_region_08_size_2_indicator", - "household_region_08_size_3_indicator", - "household_region_08_size_4_indicator", - "household_region_08_size_5_indicator", - "household_region_08_size_6_indicator", - "household_region_08_size_7_indicator", - "household_region_08_size_8_indicator", - "household_region_08_owned_indicator", - "household_region_08_not_owned_indicator", - "region_09_indicator", - "household_region_09_size_1_indicator", - "household_region_09_size_2_indicator", - "household_region_09_size_3_indicator", - "household_region_09_size_4_indicator", - "household_region_09_size_5_indicator", - "household_region_09_size_6_indicator", - "household_region_09_size_7_indicator", - "household_region_09_size_8_indicator", - "household_region_09_owned_indicator", - "household_region_09_not_owned_indicator", - "region_12_indicator", - "household_region_12_size_1_indicator", - "household_region_12_size_2_indicator", - "household_region_12_size_3_indicator", - "household_region_12_size_4_indicator", - "household_region_12_size_5_indicator", - "household_region_12_size_6_indicator", - "household_region_12_size_7_indicator", - "household_region_12_size_8_indicator", - "household_region_12_owned_indicator", - "household_region_12_not_owned_indicator", - "region_13_indicator", - "household_region_13_size_1_indicator", - "household_region_13_size_2_indicator", - "household_region_13_size_3_indicator", - "household_region_13_size_4_indicator", - "household_region_13_size_5_indicator", - "household_region_13_size_6_indicator", - "household_region_13_size_7_indicator", - "household_region_13_size_8_indicator", - "household_region_13_owned_indicator", - "household_region_13_not_owned_indicator", - "region_14_indicator", - "household_region_14_size_1_indicator", - "household_region_14_size_2_indicator", - "household_region_14_size_3_indicator", - "household_region_14_size_4_indicator", - "household_region_14_size_5_indicator", - "household_region_14_size_6_indicator", - "household_region_14_size_7_indicator", - "household_region_14_size_8_indicator", - "household_region_14_owned_indicator", - "household_region_14_not_owned_indicator", - "region_15_indicator", - "household_region_15_size_1_indicator", - "household_region_15_size_2_indicator", - "household_region_15_size_3_indicator", - "household_region_15_size_4_indicator", - "household_region_15_size_5_indicator", - "household_region_15_size_6_indicator", - "household_region_15_size_7_indicator", - "household_region_15_size_8_indicator", - "household_region_15_owned_indicator", - "household_region_15_not_owned_indicator", - "region_16_indicator", - "household_region_16_size_1_indicator", - "household_region_16_size_2_indicator", - "household_region_16_size_3_indicator", - "household_region_16_size_4_indicator", - "household_region_16_size_5_indicator", - "household_region_16_size_6_indicator", - "household_region_16_size_7_indicator", - "household_region_16_size_8_indicator", - "household_region_16_owned_indicator", - "household_region_16_not_owned_indicator", - "region_17_indicator", - "household_region_17_size_1_indicator", - "household_region_17_size_2_indicator", - "household_region_17_size_3_indicator", - "household_region_17_size_4_indicator", - "household_region_17_size_5_indicator", - "household_region_17_size_6_indicator", - "household_region_17_size_7_indicator", - "household_region_17_size_8_indicator", - "household_region_17_owned_indicator", - "household_region_17_not_owned_indicator", - "region_18_indicator", - "household_region_18_size_1_indicator", - "household_region_18_size_2_indicator", - "household_region_18_size_3_indicator", - "household_region_18_size_4_indicator", - "household_region_18_size_5_indicator", - "household_region_18_size_6_indicator", - "household_region_18_size_7_indicator", - "household_region_18_size_8_indicator", - "household_region_18_owned_indicator", - "household_region_18_not_owned_indicator", - "region_99_indicator", - "household_region_99_size_1_indicator", - "household_region_99_size_2_indicator", - "household_region_99_size_3_indicator", - "household_region_99_size_4_indicator", - "household_region_99_size_5_indicator", - "household_region_99_size_6_indicator", - "household_region_99_size_7_indicator", - "household_region_99_size_8_indicator", - "household_region_99_owned_indicator", - "household_region_99_not_owned_indicator", - "household_size" - ] + "column": "household_region_07_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_07_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_08_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_08_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_head_person_id" - ] - } - ], - "params": { - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household" - }, - "artifact_inputs": [ + "entity": "household", + "column": "household_region_08_size_6_indicator", + "dtype": "bool" + }, { - "name": "surface", - "producer": "nz.v.V3.targets.compile", - "artifact": "surface" + "entity": "household", + "column": "household_region_08_size_7_indicator", + "dtype": "bool" }, { - "name": "preparation", - "producer": "nz.v.V3.targets.prepare", - "artifact": "preparation" - } - ] - }, - { - "id": "nz.v.V3.calibrate", - "kernel": "calibrate.ordered_adam@1", - "structural": "reweight", - "base": "nz.v.V3", - "mass": "free", - "inputs": [ + "entity": "household", + "column": "household_region_08_size_8_indicator", + "dtype": "bool" + }, { "entity": "household", - "columns": [ - "source_household_id" - ] - } - ], - "weights": { - "entity": "household", - "to_kind": "calibrated", - "mass": "free" - }, - "params": { - "epochs": { - "resource": "calibration_settings", - "path": [ - "epochs" - ], - "encoding": "value" + "column": "household_region_08_owned_indicator", + "dtype": "bool" }, - "learning_rate": { - "resource": "calibration_settings", - "path": [ - "learning_rate" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_08_not_owned_indicator", + "dtype": "bool" }, - "mass": { - "resource": "calibration_settings", - "path": [ - "mass" - ], - "encoding": "value" + { + "entity": "household", + "column": "region_09_indicator", + "dtype": "bool" }, - "max_weight_ratio": { - "resource": "calibration_settings", - "path": [ - "max_weight_ratio" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_09_size_1_indicator", + "dtype": "bool" }, - "weight_anchor": { - "resource": "calibration_settings", - "path": [ - "weight_anchor" - ], - "encoding": "value" - } - }, - "artifact_inputs": [ { - "name": "problem", - "producer": "nz.v.V3.targets.problem", - "artifact": "problem" - } - ] - }, - { - "id": "nz.v.V3.housing", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.v.V3.calibrate", - "inputs": [ + "entity": "household", + "column": "household_region_09_size_2_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V3.inputs", - "kernel": "concepts.encode_groups@1", - "population": "nz.v.V3.housing", - "inputs": [ + "entity": "household", + "column": "household_region_09_size_3_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "household_region_09_size_4_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] + "column": "household_region_09_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_09_size_6_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", + "entity": "household", + "column": "household_region_09_size_7_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64" + "entity": "household", + "column": "household_region_09_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_09_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_12_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_12_size_8_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_boarder", + "entity": "household", + "column": "household_region_12_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64" + "entity": "household", + "column": "region_13_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "entity": "household", + "column": "household_region_13_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", + "entity": "household", + "column": "household_region_13_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "entity": "household", + "column": "household_region_13_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", + "entity": "household", + "column": "household_region_13_size_4_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", + "entity": "household", + "column": "household_region_13_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", + "entity": "household", + "column": "household_region_13_size_6_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_in_relationship", + "entity": "household", + "column": "household_region_13_size_7_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", + "entity": "household", + "column": "household_region_13_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", + "entity": "household", + "column": "household_region_13_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64" + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64" + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "entity": "household", + "column": "household_region_14_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "entity": "household", + "column": "household_region_14_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "entity": "household", + "column": "household_region_14_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64" + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "entity": "household", + "column": "household_region_14_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "entity": "household", + "column": "household_region_14_size_6_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "entity": "household", + "column": "household_region_14_size_7_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", + "entity": "household", + "column": "household_region_14_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", + "entity": "household", + "column": "household_region_14_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", + "entity": "household", + "column": "household_region_14_not_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "entity": "household", + "column": "region_15_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_sole_parent", + "entity": "household", + "column": "household_region_15_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "entity": "household", + "column": "household_region_15_size_4_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64" + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" - }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" - }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" - }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" + "entity": "household", + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" + { + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V3.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_16_size_1_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "bridge_evaluation_reg17_1", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V3.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "age" - ] + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", - "dtype": "float64" + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" + } + ], + "params": { + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" + }, + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" } + } + }, + { + "id": "nz.v.V3.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V3", + "sources": [ + "nz_chronicle_facts" ], - "rules_binding": "accommodation_supplement", "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } } }, { - "id": "nz.v.V3.income_decile", - "kernel": "reporting.carry_income_decile@1", - "structural": "none", - "population": "nz.v.V3.housing", + "id": "nz.v.V3.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V3", "inputs": [ { "entity": "person", "columns": [ - "age" + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" ] }, { "entity": "household", "columns": [ - "source_household_id" + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" ] }, { "entity": "family", "columns": [ - "family_type" + "family_head_person_id" ] } ], - "outputs": [ - { - "entity": "family", - "column": "income_decile", - "dtype": "int64" - } - ], "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "income_decile" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" - }, - "scenario": "V3", "entities": [ "person", "household", "family" - ] + ], + "weight_entity": "household" }, "artifact_inputs": [ { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" - } - ] - }, - { - "id": "nz.v.V3.receipt_group", - "kernel": "reporting.receipt_group@1", - "structural": "none", - "population": "nz.v.V3.housing", - "inputs": [ - { - "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" - ] - }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + "name": "surface", + "producer": "nz.v.V3.targets.compile", + "artifact": "surface" }, - "scenario": "V3" - } - }, - { - "id": "nz.v.V3.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.v.V3.housing", - "inputs": [ - { - "entity": "family", - "columns": [ - "accommodation_supplement_rounded_weekly_payment" - ] - } - ], - "outputs": [ { - "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" - } - ], - "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" - }, - "references": { - "resource": "holdout_references", - "encoding": "json" - }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" + "name": "preparation", + "producer": "nz.v.V3.targets.prepare", + "artifact": "preparation" } - } + ] }, { - "id": "nz.v.V3.gap", - "kernel": "takeup.gap@1", - "structural": "none", - "population": "nz.v.V3.housing", - "sources": [ - "nz_holdout_facts" - ], + "id": "nz.v.V3.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V3", + "mass": "free", "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, { "entity": "household", "columns": [ "source_household_id" ] - }, - { - "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] } ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" }, - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" }, - "scenario": "V3" - } - } - ] - }, - { - "id": "V4", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "census_residual_allocation": "small_households" - }, - "description": "d1886: allocate each region's Census size residual only to one- and two-person households in their stated proportions; tenure remains proportionally allocated", - "encoding_knobs": {}, - "nodes": [ + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" + } + }, + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V3.targets.problem", + "artifact": "problem" + } + ] + }, { - "id": "nz.v.V4", + "id": "nz.v.V3.housing", "kernel": "transport.boundary@1", "structural": "filter", - "base": "nz.open", + "base": "nz.v.V3.calibrate", "inputs": [ { "entity": "person", @@ -20919,8422 +15526,8891 @@ "params": {} }, { - "id": "nz.v.V4.money.normalize", - "kernel": "money.normalize@1", - "population": "nz.v.V4", - "sources": [ - "nz_chronicle_facts" - ], + "id": "nz.v.V3.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V3.housing", "inputs": [ { "entity": "person", "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", "nonfarm_self_employment_income", "farm_self_employment_income", "interest_income", "dividend_income", "rental_income", - "realized_capital_gains", - "private_pension_income" + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" ] }, { "entity": "household", "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", "mortgage_interest", "mortgage_principal", - "property_tax" + "property_tax", + "as_area", + "as_area_alt" + ] + }, + { + "entity": "family", + "columns": [ + "family_household_id", + "family_head_person_id", + "family_source_household_id" ] } ], "outputs": [ { - "entity": "person", - "column": "nonfarm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "farm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "interest_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "dividend_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "rental_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "realized_capital_gains", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "private_pension_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_interest", - "dtype": "float64", - "rewrite": true + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" }, { - "entity": "household", - "column": "mortgage_principal", - "dtype": "float64", - "rewrite": true + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" }, { - "entity": "household", - "column": "property_tax", - "dtype": "float64", - "rewrite": true + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" }, { - "entity": "person", - "column": "nonfarm_self_employment_income_cents", + "entity": "family", + "column": "accommodation_supplement_business_use_area", "dtype": "int64" }, { - "entity": "person", - "column": "farm_self_employment_income_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_cash_assets", + "dtype": "float64" }, { - "entity": "person", - "column": "interest_income_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" }, { - "entity": "person", - "column": "dividend_income_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" }, { - "entity": "person", - "column": "rental_income_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" }, { - "entity": "person", - "column": "realized_capital_gains_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" }, { - "entity": "person", - "column": "private_pension_income_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" }, { - "entity": "household", - "column": "mortgage_interest_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" }, { - "entity": "household", - "column": "mortgage_principal_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" }, { - "entity": "household", - "column": "property_tax_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": { - "resource": "money_normalization", - "path": [], - "encoding": "json" - }, - "declaration_sha256": { - "resource": "money_normalization", - "path": [], - "encoding": "sha256" - }, - "factor_context": { - "resource": "reference_aging", - "path": [], - "encoding": "json" - }, - "factor_context_sha256": { - "resource": "reference_aging", - "path": [], - "encoding": "sha256" + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" }, - "profile_selection": { - "scenario": "knobs", - "encoding": "json" - } - } - }, - { - "id": "nz.v.V4.encode.person", - "kernel": "concepts.encode@1", - "population": "nz.v.V4", - "inputs": [ { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability" - ] + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" }, { - "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "jobseeker_applicant_age", + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_available_for_and_seeking_full_time_employment", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" }, { - "entity": "person", - "column": "jobseeker_full_time_student", + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_has_dependent_child", + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_has_no_income", + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" }, { - "entity": "person", - "column": "jobseeker_in_full_time_employment", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_income_less_than_zero_rate_cutout", + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_section_25_discretionary_student_eligibility", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_living_with_parent", + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "entity": "family", + "column": "accommodation_supplement_sole_parent", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_single", + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_support_total_income", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_paid", + "dtype": "float64" }, { - "entity": "person", - "column": "jobseeker_unemployed_due_to_strike", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - { - "entity": "person", - "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "dtype": "bool" + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.bridge.masks", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ { - "entity": "person", - "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "entity": "family", + "columns": [ + "is_single", + "n_dependent_children" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", "dtype": "bool" }, { - "entity": "person", - "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "entity": "family", + "column": "accommodation_supplement_bridge_single_without_dependent_child", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "mask_bindings" + ] }, - { - "entity": "person", - "column": "main_benefit_income_test_assessable_income", - "dtype": "float64" + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.bridge.sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "main_benefit_receiving_another_main_benefit", - "dtype": "bool" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "main_benefit_receiving_new_zealand_superannuation", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "main_benefit_receiving_veterans_pension", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." + }, + { + "id": "nz.v.V3.bridge.cutout", + "kernel": "simulate.solve_zero@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "nz_super_birth_year", - "dtype": "int64" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "nz_super_born_on_or_before_30_june_of_birth_year", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - { + "variables": [ + "jobseeker_support_net_weekly_payment", + "jobseeker_support_weekly_income_test_reduction" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" + } + ], + "solve_input": { "entity": "person", - "column": "nz_super_overseas_application_residence_exception_applies", - "dtype": "bool" + "column": "jobseeker_support_total_income" }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." + }, + { + "id": "nz.v.V3.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "nz_super_person_age", - "dtype": "int64" + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] }, { - "entity": "person", - "column": "nz_super_principal_residence_is_qualifying_accommodation", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_new_zealand_years", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_total_years", - "dtype": "int64" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" + } + }, + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." + }, + { + "id": "nz.v.V3.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ { "entity": "person", - "column": "nz_super_resident_present_since_age_50_total_years", - "dtype": "int64" + "columns": [ + "age" + ] }, { - "entity": "person", - "column": "nz_super_shares_residence_with_person_at_least_adult_age", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_single", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_after_citizen_or_resident", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, { - "entity": "person", - "column": "social_security_continuous_residence_years_before_application", + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", "dtype": "int64" }, { - "entity": "person", - "column": "social_security_new_zealand_citizen", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", + "dtype": "int64" }, { - "entity": "person", - "column": "social_security_only_temporary_entry_class_visa_holder", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "dtype": "int64" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_new_zealand_on_application", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" }, { - "entity": "person", - "column": "social_security_ordinarily_resident_in_reciprocity_country", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" }, { - "entity": "person", - "column": "social_security_refugee_or_protected_person", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "dtype": "float64" }, { - "entity": "person", - "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", - "dtype": "bool" - }, + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V3.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ { "entity": "person", - "column": "social_security_residence_class_visa_holder", - "dtype": "bool" + "columns": [ + "age" + ] }, { - "entity": "person", - "column": "social_security_section_205_override_applies", - "dtype": "bool" + "entity": "household", + "columns": [ + "source_household_id" + ] }, { - "entity": "person", - "column": "social_security_unlawfully_resident_or_present_in_new_zealand", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "sole_parent_applicant_age", + "entity": "family", + "column": "income_decile", "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - { - "entity": "person", - "column": "sole_parent_caring_for_dependent_children_under_age_limit", - "dtype": "int64" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V3", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ { - "entity": "person", - "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "dtype": "bool" - }, + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V3.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ { "entity": "person", - "column": "sole_parent_is_single", - "dtype": "bool" + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] }, { - "entity": "person", - "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "dtype": "bool" + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - { - "entity": "person", - "column": "sole_parent_marriage_or_civil_union_dissolved", - "dtype": "bool" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V3" + } + }, + { + "id": "nz.v.V3.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V3.housing", + "inputs": [ { - "entity": "person", - "column": "sole_parent_receiving_sole_parent_support", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "sole_parent_split_care_court_order_exception_applies", + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - { - "entity": "person", - "column": "sole_parent_split_care_entitlement_allocated_to_person", - "dtype": "bool" + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ { "entity": "person", - "column": "sole_parent_split_care_situation_applies", - "dtype": "bool" + "columns": [ + "age" + ] }, { - "entity": "person", - "column": "sole_parent_spouse_or_partner_died", - "dtype": "bool" + "entity": "household", + "columns": [ + "source_household_id" + ] }, { - "entity": "person", - "column": "sole_parent_support_personal_earnings_used_for_childcare", - "dtype": "int64" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - { - "entity": "person", - "column": "sole_parent_support_total_income", - "dtype": "float64" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - { - "entity": "person", - "column": "sole_parent_youngest_dependent_child_age", - "dtype": "int64" + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" }, + "scenario": "V3" + } + } + ] + }, + { + "id": "V4", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "census_residual_allocation": "small_households" + }, + "description": "d1886: allocate each region's Census size residual only to one- and two-person households in their stated proportions; tenure remains proportionally allocated", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.V4", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ { "entity": "person", - "column": "supported_living_applicant_age", - "dtype": "int64" - }, + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.V4.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.V4", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ { "entity": "person", - "column": "supported_living_blind_average_weekly_earnings", - "dtype": "float64" + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] }, { - "entity": "person", - "column": "supported_living_blind_beneficiary_employed", - "dtype": "bool" - }, + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "supported_living_blind_other_weekly_amounts_from_all_sources", - "dtype": "int64" + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "dtype": "bool" + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_cared_person_is_spouse_or_partner", - "dtype": "bool" + "column": "interest_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", - "dtype": "bool" + "column": "dividend_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_caring_applicant_age", - "dtype": "int64" + "column": "rental_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_caring_applicant_has_dependent_child", - "dtype": "bool" + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_caring_payment_already_granted", - "dtype": "bool" + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "supported_living_caring_required_full_time_care_at_home", - "dtype": "bool" + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "supported_living_caring_temporary_continuation_days", - "dtype": "int64" + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "supported_living_open_employment_trial_agreed_with_msd", - "dtype": "bool" + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "supported_living_open_employment_trial_weeks", + "column": "nonfarm_self_employment_income_cents", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_applicant_age", + "column": "farm_self_employment_income_cents", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_beneficiary_personal_earnings", - "dtype": "float64" - }, - { - "entity": "person", - "column": "supported_living_payment_caring", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_dependent_children_count", + "column": "interest_income_cents", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_granted_for_restricted_work_capacity", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partner_receives_main_benefit", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_restricted_or_blind", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_single", - "dtype": "bool" - }, - { - "entity": "person", - "column": "supported_living_payment_total_income", - "dtype": "float64" + "column": "dividend_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_totally_blind", - "dtype": "bool" + "column": "rental_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "column": "realized_capital_gains_cents", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "dtype": "bool" + "column": "private_pension_income_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_restricting_condition_expected_to_continue_required_period", - "dtype": "bool" + "entity": "household", + "column": "mortgage_interest_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_terminal_condition", - "dtype": "bool" + "entity": "household", + "column": "mortgage_principal_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_totally_blind", - "dtype": "bool" + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" } ], "params": { - "mapping": { - "resource": "concept_mapping", + "declaration": { + "resource": "money_normalization", "path": [], "encoding": "json" }, - "mapping_sha256": { - "resource": "concept_mapping", + "declaration_sha256": { + "resource": "money_normalization", "path": [], "encoding": "sha256" }, - "closure": { - "resource": "axiom_input_closure", + "factor_context": { + "resource": "reference_aging", "path": [], "encoding": "json" }, - "closure_sha256": { - "resource": "axiom_input_closure", + "factor_context_sha256": { + "resource": "reference_aging", "path": [], "encoding": "sha256" }, - "rulespec_paths": [ - "nz/statutes/social_security/main_benefits/entitlement.yaml", - "nz/statutes/social_security/main_benefits/rates.yaml", - "nz/statutes/new_zealand_superannuation/core.yaml" - ] - } - }, - { - "id": "nz.v.V4.benefits.entitlement", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V4", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "main_benefits_entitlement", - "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_applicant_age", - "jobseeker_available_for_and_seeking_full_time_employment", - "jobseeker_full_time_student", - "jobseeker_has_dependent_child", - "jobseeker_has_no_income", - "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "jobseeker_in_full_time_employment", - "jobseeker_income_less_than_zero_rate_cutout", - "jobseeker_losing_earnings_through_health_condition_or_injury", - "jobseeker_section_25_discretionary_student_eligibility", - "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "jobseeker_unemployed_due_to_strike", - "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "jobseeker_willing_and_able_to_undertake_full_time_employment", - "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "main_benefit_receiving_another_main_benefit", - "main_benefit_receiving_new_zealand_superannuation", - "main_benefit_receiving_veterans_pension", - "social_security_continuous_residence_years_after_citizen_or_resident", - "social_security_continuous_residence_years_before_application", - "social_security_new_zealand_citizen", - "social_security_only_temporary_entry_class_visa_holder", - "social_security_ordinarily_resident_in_new_zealand_on_application", - "social_security_ordinarily_resident_in_reciprocity_country", - "social_security_refugee_or_protected_person", - "social_security_regulations_treat_person_as_meeting_residence_requirement", - "social_security_residence_class_visa_holder", - "social_security_section_205_override_applies", - "social_security_unlawfully_resident_or_present_in_new_zealand", - "sole_parent_applicant_age", - "sole_parent_caring_for_dependent_children_under_age_limit", - "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "sole_parent_is_single", - "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "sole_parent_marriage_or_civil_union_dissolved", - "sole_parent_receiving_sole_parent_support", - "sole_parent_split_care_court_order_exception_applies", - "sole_parent_split_care_entitlement_allocated_to_person", - "sole_parent_split_care_situation_applies", - "sole_parent_spouse_or_partner_died", - "sole_parent_youngest_dependent_child_age", - "supported_living_applicant_age", - "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "supported_living_cared_person_is_spouse_or_partner", - "supported_living_cared_person_would_otherwise_receive_institutional_care", - "supported_living_caring_applicant_age", - "supported_living_caring_applicant_has_dependent_child", - "supported_living_caring_payment_already_granted", - "supported_living_caring_required_full_time_care_at_home", - "supported_living_caring_temporary_continuation_days", - "supported_living_open_employment_trial_agreed_with_msd", - "supported_living_open_employment_trial_weeks", - "supported_living_payment_granted_for_restricted_work_capacity", - "supported_living_regular_open_employment_capacity_hours_per_week", - "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "supported_living_restricting_condition_expected_to_continue_required_period", - "supported_living_terminal_condition", - "supported_living_totally_blind" + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.V4.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.V4", + "inputs": [ + { + "entity": "person", + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" ] } ], "outputs": [ { "entity": "person", - "column": "entitled_to_jobseeker_support", + "column": "jobseeker_applicant_age", "dtype": "int64" }, { "entity": "person", - "column": "entitled_to_sole_parent_support", - "dtype": "int64" + "column": "jobseeker_available_for_and_seeking_full_time_employment", + "dtype": "bool" }, { "entity": "person", - "column": "entitled_to_supported_living_payment_restricted_or_blind", - "dtype": "int64" + "column": "jobseeker_full_time_student", + "dtype": "bool" }, { "entity": "person", - "column": "entitled_to_supported_living_payment_caring", + "column": "jobseeker_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_has_no_income", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_section_25_discretionary_student_eligibility", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_applicant_age", "dtype": "int64" - } - ], - "params": { - "variables": [ - "entitled_to_jobseeker_support", - "entitled_to_sole_parent_support", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring" - ] - } - }, - { - "id": "nz.v.V4.benefits.super", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V4", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "nz_super", - "inputs": [ + }, { "entity": "person", - "columns": [ - "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "nz_super_birth_year", - "nz_super_born_on_or_before_30_june_of_birth_year", - "nz_super_elected_weekly_compensation_instead_of_superannuation", - "nz_super_ordinarily_resident_in_new_zealand_on_application", - "nz_super_overseas_application_residence_exception_applies", - "nz_super_person_age", - "nz_super_principal_residence_is_qualifying_accommodation", - "nz_super_resident_present_since_age_20_new_zealand_years", - "nz_super_resident_present_since_age_20_total_years", - "nz_super_resident_present_since_age_50_total_years", - "nz_super_shares_residence_with_person_at_least_adult_age", - "nz_super_single" - ] - } - ], - "outputs": [ + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "dtype": "bool" + }, { "entity": "person", - "column": "entitled_to_new_zealand_superannuation", + "column": "jobseeker_support_dependent_children_count", "dtype": "int64" }, { "entity": "person", - "column": "nz_super_weekly_amount_before_tax", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax" - ] - } - }, - { - "id": "nz.v.V4.benefits.rates", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.V4", - "structural": "none", - "rules_binding": "main_benefits_rates", - "inputs": [ + "column": "jobseeker_support_living_with_parent", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - } - ], - "outputs": [ + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_net_weekly_payment", - "dtype": "float64" + "column": "jobseeker_support_partner_receives_main_benefit", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_net_weekly_payment", - "dtype": "float64" + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_net_weekly_payment", + "column": "jobseeker_support_single", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", "dtype": "float64" - } - ], - "params": { - "variables": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - }, - { - "id": "nz.v.V4.benefits.net_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ + }, { "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - ], - "outputs": [ + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_net_weekly_payment_cents", + "column": "jobseeker_support_youngest_dependent_child_age", "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_net_weekly_payment_cents", - "dtype": "int64" + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_net_weekly_payment_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_due_to_strike", + "dtype": "bool" + }, + { + "entity": "person", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V4.gross_up.jobseeker_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross", + "column": "main_benefit_income_test_assessable_income", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V4.gross_up.sole_parent_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "sole_parent_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" + }, { "entity": "person", - "column": "sole_parent_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V4.gross_up.supported_living_payment", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "supported_living_payment_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, { "entity": "person", - "column": "supported_living_payment_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "column": "nz_super_birth_year", + "dtype": "int64" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.V4.gross_up.annual_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_annual_gross", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] - } - ], - "outputs": [ + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_cents", - "dtype": "int64" + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_cents", - "dtype": "int64" + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_cents", + "column": "nz_super_person_age", "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V4.gross_up.super_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "nz_super_weekly_amount_before_tax" - ] - } - ], - "outputs": [ + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, { "entity": "person", - "column": "nz_super_weekly_amount_before_tax_cents", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", "dtype": "int64" - } - ], - "params": { - "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.V4.takeup.assign", - "kernel": "takeup.assign@1", - "population": "nz.v.V4", - "inputs": [ + }, { "entity": "person", - "columns": [ - "age", - "region_code", - "take_up_seed", - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring", - "supported_living_payment_net_weekly_payment", - "entitled_to_sole_parent_support", - "sole_parent_support_net_weekly_payment", - "entitled_to_jobseeker_support", - "jobseeker_support_net_weekly_payment" - ] + "column": "nz_super_resident_present_since_age_20_total_years", + "dtype": "int64" }, { - "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "nz_super_resident_present_since_age_50_total_years", + "dtype": "int64" + }, { "entity": "person", - "column": "receives_nz_super", + "column": "nz_super_shares_residence_with_person_at_least_adult_age", "dtype": "bool" }, { "entity": "person", - "column": "receives_supported_living_payment", + "column": "nz_super_single", "dtype": "bool" }, { "entity": "person", - "column": "receives_sole_parent_support", - "dtype": "bool" + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" }, { "entity": "person", - "column": "receives_jobseeker_support", + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" + }, + { + "entity": "person", + "column": "social_security_new_zealand_citizen", "dtype": "bool" - } - ], - "params": { - "receipt_contract": { - "resource": "receipt_contract", - "path": [ - "receipts" - ], - "encoding": "json" }, - "receipt_contract_sha256": { - "resource": "receipt_contract", - "path": [], - "encoding": "sha256" - } - }, - "artifact_inputs": [ { - "name": "surface", - "producer": "nz.facts.precal", - "artifact": "surface" - } - ] - }, - { - "id": "nz.v.V4.benefits.annual_transfers", - "kernel": "money.annual_transfers@1", - "population": "nz.v.V4", - "structural": "none", - "inputs": [ + "entity": "person", + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_nz_super", - "jobseeker_support_annual_gross_cents", - "sole_parent_support_annual_gross_cents", - "supported_living_payment_annual_gross_cents", - "nz_super_weekly_amount_before_tax_cents" - ] - } - ], - "outputs": [ + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_transfer_cents", - "dtype": "int64" + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_transfer_cents", - "dtype": "int64" + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_transfer_cents", - "dtype": "int64" + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_annual_gross_transfer_cents", - "dtype": "int64" - } - ], - "params": { - "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" - } - }, - { - "id": "nz.v.V4.targets.prepare", - "kernel": "calibration.prepare@1", - "population": "nz.v.V4", - "inputs": [ + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "age", - "region_code", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "column": "social_security_section_205_override_applies", + "dtype": "bool" }, { - "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, { "entity": "person", - "column": "people", + "column": "sole_parent_applicant_age", "dtype": "int64" }, { - "entity": "household", - "column": "households", + "entity": "person", + "column": "sole_parent_caring_for_dependent_children_under_age_limit", "dtype": "int64" }, { "entity": "person", - "column": "population_region_01_age_0_14_indicator", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_15_39_indicator", + "column": "sole_parent_is_single", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_40_64_indicator", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_65_plus_indicator", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_0_14_indicator", + "column": "sole_parent_marriage_or_civil_union_dissolved", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_15_39_indicator", + "column": "sole_parent_receiving_sole_parent_support", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_40_64_indicator", + "column": "sole_parent_split_care_court_order_exception_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_65_plus_indicator", + "column": "sole_parent_split_care_entitlement_allocated_to_person", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_0_14_indicator", + "column": "sole_parent_split_care_situation_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_15_39_indicator", + "column": "sole_parent_spouse_or_partner_died", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_personal_earnings_used_for_childcare", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_03_age_65_plus_indicator", - "dtype": "bool" + "column": "sole_parent_support_total_income", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_04_age_0_14_indicator", - "dtype": "bool" + "column": "sole_parent_youngest_dependent_child_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_04_age_15_39_indicator", - "dtype": "bool" + "column": "supported_living_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_04_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_04_age_65_plus_indicator", + "column": "supported_living_blind_beneficiary_employed", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_0_14_indicator", + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_15_39_indicator", + "column": "supported_living_cared_person_is_spouse_or_partner", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_40_64_indicator", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_65_plus_indicator", + "column": "supported_living_caring_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_caring_applicant_has_dependent_child", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_0_14_indicator", + "column": "supported_living_caring_payment_already_granted", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_15_39_indicator", + "column": "supported_living_caring_required_full_time_care_at_home", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_40_64_indicator", + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_open_employment_trial_agreed_with_msd", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_65_plus_indicator", + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_applicant_age", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_caring", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_0_14_indicator", + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_payment_granted_for_restricted_work_capacity", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_15_39_indicator", + "column": "supported_living_payment_partner_receives_main_benefit", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_40_64_indicator", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_65_plus_indicator", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_0_14_indicator", + "column": "supported_living_payment_restricted_or_blind", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_15_39_indicator", + "column": "supported_living_payment_single", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_40_64_indicator", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", "dtype": "bool" }, { "entity": "person", - "column": "population_region_08_age_65_plus_indicator", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_0_14_indicator", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_15_39_indicator", + "column": "supported_living_terminal_condition", "dtype": "bool" }, { "entity": "person", - "column": "population_region_09_age_40_64_indicator", + "column": "supported_living_totally_blind", "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" }, - { - "entity": "person", - "column": "population_region_09_age_65_plus_indicator", - "dtype": "bool" + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.V4.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ { "entity": "person", - "column": "population_region_12_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_12_age_15_39_indicator", - "dtype": "bool" + "column": "entitled_to_jobseeker_support", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_12_age_40_64_indicator", - "dtype": "bool" + "column": "entitled_to_sole_parent_support", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_12_age_65_plus_indicator", - "dtype": "bool" + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_13_age_0_14_indicator", - "dtype": "bool" - }, + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.V4.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ { "entity": "person", - "column": "population_region_13_age_15_39_indicator", - "dtype": "bool" - }, + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_13_age_40_64_indicator", - "dtype": "bool" + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_13_age_65_plus_indicator", - "dtype": "bool" - }, + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.V4.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.V4", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ { "entity": "person", - "column": "population_region_14_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_14_age_15_39_indicator", - "dtype": "bool" + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_14_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_14_age_65_plus_indicator", - "dtype": "bool" - }, + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.V4.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_15_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_15_age_15_39_indicator", - "dtype": "bool" + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_15_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_15_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "population_region_16_age_0_14_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V4.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_16_age_15_39_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_16_age_40_64_indicator", - "dtype": "bool" + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "person", - "column": "population_region_16_age_65_plus_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_17_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "sole_parent_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_17_age_15_39_indicator", - "dtype": "bool" + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_17_age_40_64_indicator", - "dtype": "bool" - }, + "columns": [ + "supported_living_payment_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_17_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.V4.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_18_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_18_age_15_39_indicator", - "dtype": "bool" + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_18_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_18_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" }, - { - "entity": "household", - "column": "region_01_indicator", - "dtype": "bool" + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V4.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_01_size_1_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_01_size_2_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.V4.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.V4", + "inputs": [ { - "entity": "household", - "column": "household_region_01_size_3_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] }, { "entity": "household", - "column": "household_region_01_size_4_indicator", - "dtype": "bool" - }, + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_01_size_5_indicator", + "entity": "person", + "column": "receives_nz_super", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_6_indicator", + "entity": "person", + "column": "receives_supported_living_payment", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_7_indicator", + "entity": "person", + "column": "receives_sole_parent_support", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_01_size_8_indicator", + "entity": "person", + "column": "receives_jobseeker_support", "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_01_owned_indicator", - "dtype": "bool" - }, + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.V4.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.V4", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_01_not_owned_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "region_02_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_1_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_2_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_3_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.V4.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.V4", + "inputs": [ { - "entity": "household", - "column": "household_region_02_size_4_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_02_size_5_indicator", - "dtype": "bool" + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ + { + "entity": "person", + "column": "people", + "dtype": "int64" }, { "entity": "household", - "column": "household_region_02_size_6_indicator", - "dtype": "bool" + "column": "households", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_02_size_7_indicator", + "entity": "person", + "column": "population_region_01_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_8_indicator", + "entity": "person", + "column": "population_region_01_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_owned_indicator", + "entity": "person", + "column": "population_region_01_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_not_owned_indicator", + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_03_indicator", + "entity": "person", + "column": "population_region_02_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_1_indicator", + "entity": "person", + "column": "population_region_02_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_2_indicator", + "entity": "person", + "column": "population_region_02_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_3_indicator", + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_4_indicator", + "entity": "person", + "column": "population_region_03_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_5_indicator", + "entity": "person", + "column": "population_region_03_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_6_indicator", + "entity": "person", + "column": "population_region_03_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_7_indicator", + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_8_indicator", + "entity": "person", + "column": "population_region_04_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_owned_indicator", + "entity": "person", + "column": "population_region_04_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_not_owned_indicator", + "entity": "person", + "column": "population_region_04_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_04_indicator", + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_1_indicator", + "entity": "person", + "column": "population_region_05_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_2_indicator", + "entity": "person", + "column": "population_region_05_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_3_indicator", + "entity": "person", + "column": "population_region_05_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_4_indicator", + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_5_indicator", + "entity": "person", + "column": "population_region_06_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_6_indicator", + "entity": "person", + "column": "population_region_06_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_7_indicator", + "entity": "person", + "column": "population_region_06_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_8_indicator", + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_owned_indicator", + "entity": "person", + "column": "population_region_07_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_not_owned_indicator", + "entity": "person", + "column": "population_region_07_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_05_indicator", + "entity": "person", + "column": "population_region_07_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_1_indicator", + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_2_indicator", + "entity": "person", + "column": "population_region_08_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_3_indicator", + "entity": "person", + "column": "population_region_08_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_4_indicator", + "entity": "person", + "column": "population_region_08_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_5_indicator", + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_6_indicator", + "entity": "person", + "column": "population_region_09_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_7_indicator", + "entity": "person", + "column": "population_region_09_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_8_indicator", + "entity": "person", + "column": "population_region_09_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_owned_indicator", + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_not_owned_indicator", + "entity": "person", + "column": "population_region_12_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_06_indicator", + "entity": "person", + "column": "population_region_12_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_1_indicator", + "entity": "person", + "column": "population_region_12_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_2_indicator", + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_3_indicator", + "entity": "person", + "column": "population_region_13_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_4_indicator", + "entity": "person", + "column": "population_region_13_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_5_indicator", + "entity": "person", + "column": "population_region_13_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_6_indicator", + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_7_indicator", + "entity": "person", + "column": "population_region_14_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_8_indicator", + "entity": "person", + "column": "population_region_14_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_owned_indicator", + "entity": "person", + "column": "population_region_14_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_not_owned_indicator", + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_07_indicator", + "entity": "person", + "column": "population_region_15_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_1_indicator", + "entity": "person", + "column": "population_region_15_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_2_indicator", + "entity": "person", + "column": "population_region_15_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_3_indicator", + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_4_indicator", + "entity": "person", + "column": "population_region_16_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_5_indicator", + "entity": "person", + "column": "population_region_16_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_6_indicator", + "entity": "person", + "column": "population_region_16_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_7_indicator", + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_8_indicator", + "entity": "person", + "column": "population_region_17_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_owned_indicator", + "entity": "person", + "column": "population_region_17_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_not_owned_indicator", + "entity": "person", + "column": "population_region_17_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_08_indicator", + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_1_indicator", + "entity": "person", + "column": "population_region_18_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_2_indicator", + "entity": "person", + "column": "population_region_18_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_3_indicator", + "entity": "person", + "column": "population_region_18_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_08_size_4_indicator", + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_5_indicator", + "column": "region_01_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_6_indicator", + "column": "household_region_01_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_7_indicator", + "column": "household_region_01_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_8_indicator", + "column": "household_region_01_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_owned_indicator", + "column": "household_region_01_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_not_owned_indicator", + "column": "household_region_01_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_09_indicator", + "column": "household_region_01_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_1_indicator", + "column": "household_region_01_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_2_indicator", + "column": "household_region_01_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_3_indicator", + "column": "household_region_01_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_4_indicator", + "column": "household_region_01_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_5_indicator", + "column": "region_02_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_6_indicator", + "column": "household_region_02_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_7_indicator", + "column": "household_region_02_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_8_indicator", + "column": "household_region_02_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_owned_indicator", + "column": "household_region_02_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_not_owned_indicator", + "column": "household_region_02_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_12_indicator", + "column": "household_region_02_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_1_indicator", + "column": "household_region_02_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_2_indicator", + "column": "household_region_02_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_3_indicator", + "column": "household_region_02_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_4_indicator", + "column": "household_region_02_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_5_indicator", + "column": "region_03_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_6_indicator", + "column": "household_region_03_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_7_indicator", + "column": "household_region_03_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_8_indicator", + "column": "household_region_03_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_owned_indicator", + "column": "household_region_03_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_not_owned_indicator", + "column": "household_region_03_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_13_indicator", + "column": "household_region_03_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_1_indicator", + "column": "household_region_03_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_2_indicator", + "column": "household_region_03_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_3_indicator", + "column": "household_region_03_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_4_indicator", + "column": "household_region_03_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_5_indicator", + "column": "region_04_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_6_indicator", + "column": "household_region_04_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_7_indicator", + "column": "household_region_04_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_8_indicator", + "column": "household_region_04_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_owned_indicator", + "column": "household_region_04_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_not_owned_indicator", + "column": "household_region_04_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_14_indicator", + "column": "household_region_04_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_1_indicator", + "column": "household_region_04_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_2_indicator", + "column": "household_region_04_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_3_indicator", + "column": "household_region_04_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_4_indicator", + "column": "household_region_04_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_5_indicator", + "column": "region_05_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_6_indicator", + "column": "household_region_05_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_7_indicator", + "column": "household_region_05_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_8_indicator", + "column": "household_region_05_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_owned_indicator", + "column": "household_region_05_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_not_owned_indicator", + "column": "household_region_05_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_15_indicator", + "column": "household_region_05_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_1_indicator", + "column": "household_region_05_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_2_indicator", + "column": "household_region_05_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_3_indicator", + "column": "household_region_05_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_4_indicator", + "column": "household_region_05_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_5_indicator", + "column": "region_06_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_6_indicator", + "column": "household_region_06_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_7_indicator", + "column": "household_region_06_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_8_indicator", + "column": "household_region_06_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_owned_indicator", + "column": "household_region_06_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_not_owned_indicator", + "column": "household_region_06_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_16_indicator", + "column": "household_region_06_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_1_indicator", + "column": "household_region_06_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_2_indicator", + "column": "household_region_06_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_3_indicator", + "column": "household_region_06_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_4_indicator", + "column": "household_region_06_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_5_indicator", + "column": "region_07_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_6_indicator", + "column": "household_region_07_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_7_indicator", + "column": "household_region_07_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_8_indicator", + "column": "household_region_07_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_owned_indicator", + "column": "household_region_07_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_not_owned_indicator", + "column": "household_region_07_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_17_indicator", + "column": "household_region_07_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_1_indicator", + "column": "household_region_07_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_2_indicator", + "column": "household_region_07_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_3_indicator", + "column": "household_region_07_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_4_indicator", + "column": "household_region_07_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_5_indicator", + "column": "region_08_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_6_indicator", + "column": "household_region_08_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_7_indicator", + "column": "household_region_08_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_8_indicator", + "column": "household_region_08_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_owned_indicator", + "column": "household_region_08_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_not_owned_indicator", + "column": "household_region_08_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_18_indicator", + "column": "household_region_08_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_1_indicator", + "column": "household_region_08_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_2_indicator", + "column": "household_region_08_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_3_indicator", + "column": "household_region_08_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_4_indicator", + "column": "household_region_08_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_5_indicator", + "column": "region_09_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_6_indicator", + "column": "household_region_09_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_7_indicator", + "column": "household_region_09_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_8_indicator", + "column": "household_region_09_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_owned_indicator", + "column": "household_region_09_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_not_owned_indicator", + "column": "household_region_09_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_99_indicator", + "column": "household_region_09_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_1_indicator", + "column": "household_region_09_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_2_indicator", + "column": "household_region_09_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_3_indicator", + "column": "household_region_09_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_4_indicator", + "column": "household_region_09_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_5_indicator", + "column": "region_12_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_6_indicator", + "column": "household_region_12_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_7_indicator", + "column": "household_region_12_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_8_indicator", + "column": "household_region_12_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_owned_indicator", + "column": "household_region_12_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_not_owned_indicator", + "column": "household_region_12_size_5_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_18_24_indicator", + "entity": "household", + "column": "household_region_12_size_6_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_25_39_indicator", + "entity": "household", + "column": "household_region_12_size_7_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_40_54_indicator", + "entity": "household", + "column": "household_region_12_size_8_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_55_64_indicator", + "entity": "household", + "column": "household_region_12_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_size", - "dtype": "int64" - } - ], - "params": { - "bindings": { - "resource": "calibration_bindings", - "path": [], - "encoding": "json" - }, - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V4.targets.compile", - "kernel": "targets.compile@1", - "population": "nz.v.V4", - "sources": [ - "nz_chronicle_facts" - ], - "params": { - "country": "nz", - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V4.targets.problem", - "kernel": "targets.problem@1", - "population": "nz.v.V4", - "inputs": [ - { - "entity": "person", - "columns": [ - "people", - "population_region_01_age_0_14_indicator", - "population_region_01_age_15_39_indicator", - "population_region_01_age_40_64_indicator", - "population_region_01_age_65_plus_indicator", - "population_region_02_age_0_14_indicator", - "population_region_02_age_15_39_indicator", - "population_region_02_age_40_64_indicator", - "population_region_02_age_65_plus_indicator", - "population_region_03_age_0_14_indicator", - "population_region_03_age_15_39_indicator", - "population_region_03_age_40_64_indicator", - "population_region_03_age_65_plus_indicator", - "population_region_04_age_0_14_indicator", - "population_region_04_age_15_39_indicator", - "population_region_04_age_40_64_indicator", - "population_region_04_age_65_plus_indicator", - "population_region_05_age_0_14_indicator", - "population_region_05_age_15_39_indicator", - "population_region_05_age_40_64_indicator", - "population_region_05_age_65_plus_indicator", - "population_region_06_age_0_14_indicator", - "population_region_06_age_15_39_indicator", - "population_region_06_age_40_64_indicator", - "population_region_06_age_65_plus_indicator", - "population_region_07_age_0_14_indicator", - "population_region_07_age_15_39_indicator", - "population_region_07_age_40_64_indicator", - "population_region_07_age_65_plus_indicator", - "population_region_08_age_0_14_indicator", - "population_region_08_age_15_39_indicator", - "population_region_08_age_40_64_indicator", - "population_region_08_age_65_plus_indicator", - "population_region_09_age_0_14_indicator", - "population_region_09_age_15_39_indicator", - "population_region_09_age_40_64_indicator", - "population_region_09_age_65_plus_indicator", - "population_region_12_age_0_14_indicator", - "population_region_12_age_15_39_indicator", - "population_region_12_age_40_64_indicator", - "population_region_12_age_65_plus_indicator", - "population_region_13_age_0_14_indicator", - "population_region_13_age_15_39_indicator", - "population_region_13_age_40_64_indicator", - "population_region_13_age_65_plus_indicator", - "population_region_14_age_0_14_indicator", - "population_region_14_age_15_39_indicator", - "population_region_14_age_40_64_indicator", - "population_region_14_age_65_plus_indicator", - "population_region_15_age_0_14_indicator", - "population_region_15_age_15_39_indicator", - "population_region_15_age_40_64_indicator", - "population_region_15_age_65_plus_indicator", - "population_region_16_age_0_14_indicator", - "population_region_16_age_15_39_indicator", - "population_region_16_age_40_64_indicator", - "population_region_16_age_65_plus_indicator", - "population_region_17_age_0_14_indicator", - "population_region_17_age_15_39_indicator", - "population_region_17_age_40_64_indicator", - "population_region_17_age_65_plus_indicator", - "population_region_18_age_0_14_indicator", - "population_region_18_age_15_39_indicator", - "population_region_18_age_40_64_indicator", - "population_region_18_age_65_plus_indicator", - "age_18_24_indicator", - "age_25_39_indicator", - "age_40_54_indicator", - "age_55_64_indicator", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "column": "household_region_12_not_owned_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "households", - "region_01_indicator", - "household_region_01_size_1_indicator", - "household_region_01_size_2_indicator", - "household_region_01_size_3_indicator", - "household_region_01_size_4_indicator", - "household_region_01_size_5_indicator", - "household_region_01_size_6_indicator", - "household_region_01_size_7_indicator", - "household_region_01_size_8_indicator", - "household_region_01_owned_indicator", - "household_region_01_not_owned_indicator", - "region_02_indicator", - "household_region_02_size_1_indicator", - "household_region_02_size_2_indicator", - "household_region_02_size_3_indicator", - "household_region_02_size_4_indicator", - "household_region_02_size_5_indicator", - "household_region_02_size_6_indicator", - "household_region_02_size_7_indicator", - "household_region_02_size_8_indicator", - "household_region_02_owned_indicator", - "household_region_02_not_owned_indicator", - "region_03_indicator", - "household_region_03_size_1_indicator", - "household_region_03_size_2_indicator", - "household_region_03_size_3_indicator", - "household_region_03_size_4_indicator", - "household_region_03_size_5_indicator", - "household_region_03_size_6_indicator", - "household_region_03_size_7_indicator", - "household_region_03_size_8_indicator", - "household_region_03_owned_indicator", - "household_region_03_not_owned_indicator", - "region_04_indicator", - "household_region_04_size_1_indicator", - "household_region_04_size_2_indicator", - "household_region_04_size_3_indicator", - "household_region_04_size_4_indicator", - "household_region_04_size_5_indicator", - "household_region_04_size_6_indicator", - "household_region_04_size_7_indicator", - "household_region_04_size_8_indicator", - "household_region_04_owned_indicator", - "household_region_04_not_owned_indicator", - "region_05_indicator", - "household_region_05_size_1_indicator", - "household_region_05_size_2_indicator", - "household_region_05_size_3_indicator", - "household_region_05_size_4_indicator", - "household_region_05_size_5_indicator", - "household_region_05_size_6_indicator", - "household_region_05_size_7_indicator", - "household_region_05_size_8_indicator", - "household_region_05_owned_indicator", - "household_region_05_not_owned_indicator", - "region_06_indicator", - "household_region_06_size_1_indicator", - "household_region_06_size_2_indicator", - "household_region_06_size_3_indicator", - "household_region_06_size_4_indicator", - "household_region_06_size_5_indicator", - "household_region_06_size_6_indicator", - "household_region_06_size_7_indicator", - "household_region_06_size_8_indicator", - "household_region_06_owned_indicator", - "household_region_06_not_owned_indicator", - "region_07_indicator", - "household_region_07_size_1_indicator", - "household_region_07_size_2_indicator", - "household_region_07_size_3_indicator", - "household_region_07_size_4_indicator", - "household_region_07_size_5_indicator", - "household_region_07_size_6_indicator", - "household_region_07_size_7_indicator", - "household_region_07_size_8_indicator", - "household_region_07_owned_indicator", - "household_region_07_not_owned_indicator", - "region_08_indicator", - "household_region_08_size_1_indicator", - "household_region_08_size_2_indicator", - "household_region_08_size_3_indicator", - "household_region_08_size_4_indicator", - "household_region_08_size_5_indicator", - "household_region_08_size_6_indicator", - "household_region_08_size_7_indicator", - "household_region_08_size_8_indicator", - "household_region_08_owned_indicator", - "household_region_08_not_owned_indicator", - "region_09_indicator", - "household_region_09_size_1_indicator", - "household_region_09_size_2_indicator", - "household_region_09_size_3_indicator", - "household_region_09_size_4_indicator", - "household_region_09_size_5_indicator", - "household_region_09_size_6_indicator", - "household_region_09_size_7_indicator", - "household_region_09_size_8_indicator", - "household_region_09_owned_indicator", - "household_region_09_not_owned_indicator", - "region_12_indicator", - "household_region_12_size_1_indicator", - "household_region_12_size_2_indicator", - "household_region_12_size_3_indicator", - "household_region_12_size_4_indicator", - "household_region_12_size_5_indicator", - "household_region_12_size_6_indicator", - "household_region_12_size_7_indicator", - "household_region_12_size_8_indicator", - "household_region_12_owned_indicator", - "household_region_12_not_owned_indicator", - "region_13_indicator", - "household_region_13_size_1_indicator", - "household_region_13_size_2_indicator", - "household_region_13_size_3_indicator", - "household_region_13_size_4_indicator", - "household_region_13_size_5_indicator", - "household_region_13_size_6_indicator", - "household_region_13_size_7_indicator", - "household_region_13_size_8_indicator", - "household_region_13_owned_indicator", - "household_region_13_not_owned_indicator", - "region_14_indicator", - "household_region_14_size_1_indicator", - "household_region_14_size_2_indicator", - "household_region_14_size_3_indicator", - "household_region_14_size_4_indicator", - "household_region_14_size_5_indicator", - "household_region_14_size_6_indicator", - "household_region_14_size_7_indicator", - "household_region_14_size_8_indicator", - "household_region_14_owned_indicator", - "household_region_14_not_owned_indicator", - "region_15_indicator", - "household_region_15_size_1_indicator", - "household_region_15_size_2_indicator", - "household_region_15_size_3_indicator", - "household_region_15_size_4_indicator", - "household_region_15_size_5_indicator", - "household_region_15_size_6_indicator", - "household_region_15_size_7_indicator", - "household_region_15_size_8_indicator", - "household_region_15_owned_indicator", - "household_region_15_not_owned_indicator", - "region_16_indicator", - "household_region_16_size_1_indicator", - "household_region_16_size_2_indicator", - "household_region_16_size_3_indicator", - "household_region_16_size_4_indicator", - "household_region_16_size_5_indicator", - "household_region_16_size_6_indicator", - "household_region_16_size_7_indicator", - "household_region_16_size_8_indicator", - "household_region_16_owned_indicator", - "household_region_16_not_owned_indicator", - "region_17_indicator", - "household_region_17_size_1_indicator", - "household_region_17_size_2_indicator", - "household_region_17_size_3_indicator", - "household_region_17_size_4_indicator", - "household_region_17_size_5_indicator", - "household_region_17_size_6_indicator", - "household_region_17_size_7_indicator", - "household_region_17_size_8_indicator", - "household_region_17_owned_indicator", - "household_region_17_not_owned_indicator", - "region_18_indicator", - "household_region_18_size_1_indicator", - "household_region_18_size_2_indicator", - "household_region_18_size_3_indicator", - "household_region_18_size_4_indicator", - "household_region_18_size_5_indicator", - "household_region_18_size_6_indicator", - "household_region_18_size_7_indicator", - "household_region_18_size_8_indicator", - "household_region_18_owned_indicator", - "household_region_18_not_owned_indicator", - "region_99_indicator", - "household_region_99_size_1_indicator", - "household_region_99_size_2_indicator", - "household_region_99_size_3_indicator", - "household_region_99_size_4_indicator", - "household_region_99_size_5_indicator", - "household_region_99_size_6_indicator", - "household_region_99_size_7_indicator", - "household_region_99_size_8_indicator", - "household_region_99_owned_indicator", - "household_region_99_not_owned_indicator", - "household_size" - ] + "column": "region_13_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_head_person_id" - ] - } - ], - "params": { - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household" - }, - "artifact_inputs": [ + "entity": "household", + "column": "household_region_13_size_1_indicator", + "dtype": "bool" + }, { - "name": "surface", - "producer": "nz.v.V4.targets.compile", - "artifact": "surface" + "entity": "household", + "column": "household_region_13_size_2_indicator", + "dtype": "bool" }, { - "name": "preparation", - "producer": "nz.v.V4.targets.prepare", - "artifact": "preparation" - } - ] - }, - { - "id": "nz.v.V4.calibrate", - "kernel": "calibrate.ordered_adam@1", - "structural": "reweight", - "base": "nz.v.V4", - "mass": "free", - "inputs": [ + "entity": "household", + "column": "household_region_13_size_3_indicator", + "dtype": "bool" + }, { "entity": "household", - "columns": [ - "source_household_id" - ] - } - ], - "weights": { - "entity": "household", - "to_kind": "calibrated", - "mass": "free" - }, - "params": { - "epochs": { - "resource": "calibration_settings", - "path": [ - "epochs" - ], - "encoding": "value" + "column": "household_region_13_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_size_5_indicator", + "dtype": "bool" }, - "learning_rate": { - "resource": "calibration_settings", - "path": [ - "learning_rate" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_13_size_6_indicator", + "dtype": "bool" }, - "mass": { - "resource": "calibration_settings", - "path": [ - "mass" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" }, - "max_weight_ratio": { - "resource": "calibration_settings", - "path": [ - "max_weight_ratio" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_13_size_8_indicator", + "dtype": "bool" }, - "weight_anchor": { - "resource": "calibration_settings", - "path": [ - "weight_anchor" - ], - "encoding": "value" - } - }, - "artifact_inputs": [ { - "name": "problem", - "producer": "nz.v.V4.targets.problem", - "artifact": "problem" - } - ] - }, - { - "id": "nz.v.V4.housing", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.v.V4.calibrate", - "inputs": [ + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.V4.inputs", - "kernel": "concepts.encode_groups@1", - "population": "nz.v.V4.housing", - "inputs": [ + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] + "column": "household_region_14_size_1_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", + "entity": "household", + "column": "household_region_14_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64" + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_boarder", + "entity": "household", + "column": "household_region_14_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64" + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "entity": "household", + "column": "household_region_14_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", + "entity": "household", + "column": "household_region_14_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "entity": "household", + "column": "household_region_14_not_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", + "entity": "household", + "column": "region_15_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", + "entity": "household", + "column": "household_region_15_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", + "entity": "household", + "column": "household_region_15_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_in_relationship", + "entity": "household", + "column": "household_region_15_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", + "entity": "household", + "column": "household_region_15_size_4_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", + "entity": "household", + "column": "household_region_15_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64" + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64" + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "entity": "household", + "column": "household_region_15_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "entity": "household", + "column": "household_region_15_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "entity": "household", + "column": "household_region_15_not_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64" + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "entity": "household", + "column": "household_region_16_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "entity": "household", + "column": "household_region_16_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "entity": "household", + "column": "household_region_16_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", + "entity": "household", + "column": "household_region_16_size_4_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", + "entity": "household", + "column": "household_region_16_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", + "entity": "household", + "column": "household_region_16_size_6_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64" + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64" + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_sole_parent", + "entity": "household", + "column": "region_17_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "entity": "household", + "column": "household_region_17_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64" + "entity": "household", + "column": "household_region_17_size_3_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64" + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64" + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64" + "entity": "household", + "column": "household_region_17_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", - "dtype": "int64" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" - }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" - }, - "unit_rule": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "json" - }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", - "path": [], - "encoding": "sha256" - }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" + "entity": "household", + "column": "household_region_17_size_7_indicator", + "dtype": "bool" }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.V4.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_17_size_8_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" - }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V4.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ + "entity": "household", + "column": "household_region_17_owned_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_17_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "region_18_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "bridge_evaluation_reg17_1", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" + "entity": "household", + "column": "household_region_18_size_1_indicator", + "dtype": "bool" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "household", + "column": "household_region_18_size_2_indicator", + "dtype": "bool" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_18_size_3_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_18_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_18_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_99_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_size_4_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "household", + "column": "household_region_99_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" + }, { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "household", + "column": "household_region_99_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V4.bridge.evaluate.reg18_sole_parent_reduction_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "column": "age_18_24_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" + }, { "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", - "dtype": "float64" + "column": "age_40_54_indicator", + "dtype": "bool" + }, + { + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_size", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "bindings": { + "resource": "calibration_bindings", + "path": [], + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "references_sha256": { + "resource": "target_references", + "path": [], "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.v.V4.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", + "id": "nz.v.V4.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.V4", "sources": [ - "rulespec_nz" + "nz_chronicle_facts" ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", + "path": [], + "encoding": "json" + }, + "references_sha256": { + "resource": "target_references", + "path": [], + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.V4", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_head_person_id" ] } ], - "outputs": [ + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", - "dtype": "float64" + "name": "surface", + "producer": "nz.v.V4.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.V4.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.V4.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.V4", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] } ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.V4.targets.problem", + "artifact": "problem" + } + ] }, { - "id": "nz.v.V4.bridge.evaluate.reg18_all_other_units_payment_after_step", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" + "id": "nz.v.V4.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.V4.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } ], + "params": {} + }, + { + "id": "nz.v.V4.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.V4.housing", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_household_id", + "family_head_person_id", + "family_source_household_id" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "entity": "family", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 501 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.V4.as", - "kernel": "simulate.rules_by_ref@1", - "structural": "none", - "population": "nz.v.V4.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "age" - ] + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" }, { "entity": "family", - "columns": [ - "accommodation_supplement_additional_resident_in_social_housing", - "accommodation_supplement_area_let_to_nonresidents", - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_boarder", - "accommodation_supplement_business_use_area", - "accommodation_supplement_cash_assets", - "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", - "accommodation_supplement_costs_are_homeownership", - "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", - "accommodation_supplement_has_accommodation_costs", - "accommodation_supplement_has_dependent_children", - "accommodation_supplement_has_two_or_more_dependent_children", - "accommodation_supplement_in_relationship", - "accommodation_supplement_joint_owner_with_resident", - "accommodation_supplement_non_beneficiary", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - "accommodation_supplement_owner_weekly_payment_share", - "accommodation_supplement_owner_weekly_required_payments", - "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", - "accommodation_supplement_partner_receiving_accommodation_supplement", - "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", - "accommodation_supplement_relevant_weekly_income", - "accommodation_supplement_rent_paid_to_kainga_ora", - "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", - "accommodation_supplement_residential_care_funded_under_residential_care_act", - "accommodation_supplement_resides_in_area_1", - "accommodation_supplement_resides_in_area_2", - "accommodation_supplement_resides_in_area_3", - "accommodation_supplement_section_68_joint_tenant_exception_applies", - "accommodation_supplement_self_contained_area_let_to_residents", - "accommodation_supplement_social_housing_weekly_contributions_paid", - "accommodation_supplement_sole_parent", - "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", - "accommodation_supplement_total_premises_area", - "accommodation_supplement_weekly_board_and_lodgings_paid", - "accommodation_supplement_weekly_boarder_payments_received", - "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "accommodation_supplement_weekly_rent_paid", - "accommodation_supplement_weekly_rent_received_from_other_residents" - ] - } - ], - "outputs": [ + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, { "entity": "family", - "column": "accommodation_supplement_rounded_weekly_payment", - "dtype": "float64" + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" }, { "entity": "family", - "column": "accommodation_supplement_weekly_amount_before_rounding", - "dtype": "float64" + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_non_rate_entitlement_requirements", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_cash_assets_within_limit", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_social_housing_exclusion_not_applies", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "column": "accommodation_supplement_weekly_boarder_payments_received", "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_non_beneficiary_income_reduction", - "dtype": "float64" + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" }, { "entity": "family", - "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", + "column": "accommodation_supplement_weekly_rent_paid", "dtype": "float64" }, { "entity": "family", - "column": "accommodation_supplement_maximum_weekly_rate", - "dtype": "float64" + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" } ], - "rules_binding": "accommodation_supplement", "params": { - "variables": [ - "accommodation_supplement_rounded_weekly_payment", - "accommodation_supplement_weekly_amount_before_rounding", - "accommodation_supplement_non_rate_entitlement_requirements", - "accommodation_supplement_cash_assets_within_limit", - "accommodation_supplement_social_housing_exclusion_not_applies", - "accommodation_supplement_other_funding_exclusion_not_applies", - "accommodation_supplement_non_beneficiary_income_reduction", - "accommodation_supplement_weekly_qualifying_accommodation_costs", - "accommodation_supplement_maximum_weekly_rate" - ] + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" + ], + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", + "encoding": "sha256" + } } }, { - "id": "nz.v.V4.income_decile", - "kernel": "reporting.carry_income_decile@1", + "id": "nz.v.V4.bridge.masks", + "kernel": "calibration.prepare@1", "structural": "none", "population": "nz.v.V4.housing", "inputs": [ - { - "entity": "person", - "columns": [ - "age" - ] - }, - { - "entity": "household", - "columns": [ - "source_household_id" - ] - }, { "entity": "family", "columns": [ - "family_type" + "is_single", + "n_dependent_children" ] } ], "outputs": [ { "entity": "family", - "column": "income_decile", - "dtype": "int64" + "column": "accommodation_supplement_bridge_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_bridge_single_without_dependent_child", + "dtype": "bool" } ], "params": { - "classifier": { - "resource": "reporting_classifiers", + "bindings": { + "resource": "as_rate_bridge", "encoding": "json", "path": [ - "income_decile" + "mask_bindings" ] }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "scenario": "V4", - "entities": [ - "person", - "household", - "family" - ] - }, - "artifact_inputs": [ - { - "name": "baseline_cells", - "producer": "nz.scn.S0.income_decile", - "artifact": "baseline_cells" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" } - ] + } }, { - "id": "nz.v.V4.receipt_group", - "kernel": "reporting.receipt_group@1", + "id": "nz.v.V4.bridge.sole_parent_gross_rate", + "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], "inputs": [ { "entity": "person", "columns": [ - "receives_jobseeker_support", - "receives_nz_super", - "receives_sole_parent_support", - "receives_supported_living_payment" - ] - }, - { - "entity": "family", - "columns": [ - "family_type" - ] - } - ], - "outputs": [ - { - "entity": "family", - "column": "receipt_group", - "dtype": "string" - } - ], - "params": { - "classifier": { - "resource": "reporting_classifiers", - "encoding": "json", - "path": [ - "receipt_group" + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" ] }, - "classifier_sha256": { - "resource": "reporting_classifiers", - "encoding": "sha256" - }, - "scenario": "V4" - } - }, - { - "id": "nz.v.V4.positive_payment", - "kernel": "calibration.prepare@1", - "structural": "none", - "population": "nz.v.V4.housing", - "inputs": [ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" ] } ], "outputs": [ { "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "dtype": "float64" } ], "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - "references": { - "resource": "holdout_references", - "encoding": "json" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - "references_sha256": { - "resource": "holdout_references", + "variables": [ + "jobseeker_support_gross_weekly_rate" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_single", + "value": true + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "value": 1 + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_gross_weekly_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", "encoding": "sha256" } - } + }, + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." }, { - "id": "nz.v.V4.gap", - "kernel": "takeup.gap@1", + "id": "nz.v.V4.bridge.cutout", + "kernel": "simulate.solve_zero@1", "structural": "none", "population": "nz.v.V4.housing", "sources": [ - "nz_holdout_facts" + "rulespec_nz" ], "inputs": [ { "entity": "person", "columns": [ - "age" + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" ] }, { - "entity": "household", + "entity": "family", "columns": [ - "source_household_id" + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" ] - }, + } + ], + "outputs": [ { "entity": "family", - "columns": [ - "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" - ] + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "dtype": "float64" } ], "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - "entities": [ - "person", - "household", - "family" + "variables": [ + "jobseeker_support_net_weekly_payment", + "jobseeker_support_weekly_income_test_reduction" ], - "weight_entity": "household", - "annualisation_factors": { - "resource": "gap_annualisation", - "encoding": "json" - }, - "annualisation_sha256": { - "resource": "gap_annualisation", - "encoding": "sha256" - }, - "scenario": "V4" - } - } - ] - }, - { - "id": "VHF", - "tier": "calibration", - "method_card_row": "MC5", - "knobs": { - "donor_money_index": "hold_fixed" - }, - "description": "The hold-fixed sensitivity keeps all four donor index families at identity factors in its own money-normalization declaration while references retain the central aging profile.", - "encoding_knobs": {}, - "nodes": [ - { - "id": "nz.v.VHF", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.open", - "inputs": [ - { + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" + } + ], + "solve_input": { "entity": "person", - "columns": [ - "age" - ] + "column": "jobseeker_support_total_income" + }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, + "resource_sha256": { + "resource": "as_rate_bridge", + "encoding": "sha256" } - ], - "params": {} + }, + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." }, { - "id": "nz.v.VHF.money.normalize", - "kernel": "money.normalize@1", - "population": "nz.v.VHF", + "id": "nz.v.V4.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", "sources": [ - "nz_chronicle_facts" + "rulespec_nz" ], "inputs": [ { "entity": "person", "columns": [ - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "realized_capital_gains", - "private_pension_income" + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" ] }, { - "entity": "household", + "entity": "family", "columns": [ - "mortgage_interest", - "mortgage_principal", - "property_tax" + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "is_partnered", + "is_single", + "is_sole_parent", + "n_dependent_children", + "youngest_dependent_child_age" ] } ], "outputs": [ { - "entity": "person", - "column": "nonfarm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "farm_self_employment_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "interest_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "dividend_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "rental_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "realized_capital_gains", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "private_pension_income", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_interest", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "mortgage_principal", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "household", - "column": "property_tax", - "dtype": "float64", - "rewrite": true - }, - { - "entity": "person", - "column": "nonfarm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "farm_self_employment_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "interest_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "dividend_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "rental_income_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "realized_capital_gains_cents", - "dtype": "int64" - }, - { - "entity": "person", - "column": "private_pension_income_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_interest_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "mortgage_principal_cents", - "dtype": "int64" - }, - { - "entity": "household", - "column": "property_tax_cents", - "dtype": "int64" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "dtype": "float64" } ], "params": { - "declaration": { - "resource": "money_normalization_hold_fixed", - "path": [], - "encoding": "json" - }, - "declaration_sha256": { - "resource": "money_normalization_hold_fixed", - "path": [], - "encoding": "sha256" + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - "factor_context": { - "resource": "reference_aging", - "path": [], - "encoding": "json" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, - "factor_context_sha256": { - "resource": "reference_aging", - "path": [], + "variables": [ + "jobseeker_support_net_weekly_payment" + ], + "input_overrides": [ + { + "entity": "person", + "column": "jobseeker_support_applicant_age", + "value": 25 + }, + { + "entity": "person", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_dependent_children_count", + "source_entity": "family", + "source_column": "n_dependent_children" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_main_benefit", + "source_entity": "family", + "source_column": "is_partnered" + }, + { + "entity": "person", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_single", + "source_entity": "family", + "source_column": "is_single" + }, + { + "entity": "person", + "column": "jobseeker_support_transferred_2013_no_dependent_children", + "value": false + }, + { + "entity": "person", + "column": "jobseeker_support_youngest_dependent_child_age", + "source_entity": "family", + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + }, + { + "entity": "person", + "column": "jobseeker_support_total_income", + "value": 0 + } + ], + "output_coefficients": [ + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] + } + ], + "resource_sha256": { + "resource": "as_rate_bridge", "encoding": "sha256" - }, - "profile_selection": { - "scenario": "knobs", - "encoding": "json" } - } + }, + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { - "id": "nz.v.VHF.encode.person", - "kernel": "concepts.encode@1", - "population": "nz.v.VHF", + "id": "nz.v.V4.as", + "kernel": "simulate.rules_by_ref@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], "inputs": [ { "entity": "person", "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability" + "age" ] }, { - "entity": "household", + "entity": "family", "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax" + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { - "entity": "person", - "column": "jobseeker_applicant_age", - "dtype": "int64" - }, - { - "entity": "person", - "column": "jobseeker_available_for_and_seeking_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_full_time_student", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_has_dependent_child", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_has_no_income", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_in_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_income_less_than_zero_rate_cutout", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_losing_earnings_through_health_condition_or_injury", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_rounded_weekly_payment", + "dtype": "float64" }, { - "entity": "person", - "column": "jobseeker_section_25_discretionary_student_eligibility", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_weekly_amount_before_rounding", + "dtype": "float64" }, { - "entity": "person", - "column": "jobseeker_support_applicant_age", + "entity": "family", + "column": "accommodation_supplement_non_rate_entitlement_requirements", "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", + "entity": "family", + "column": "accommodation_supplement_cash_assets_within_limit", "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "dtype": "float64" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", + "entity": "family", + "column": "accommodation_supplement_social_housing_exclusion_not_applies", "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_unemployed_due_to_strike", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "dtype": "bool" - }, - { - "entity": "person", - "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_other_funding_exclusion_not_applies", + "dtype": "int64" }, { - "entity": "person", - "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "dtype": "bool" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_reduction", + "dtype": "float64" }, { - "entity": "person", - "column": "main_benefit_income_test_assessable_income", + "entity": "family", + "column": "accommodation_supplement_weekly_qualifying_accommodation_costs", "dtype": "float64" }, { - "entity": "person", - "column": "main_benefit_receiving_another_main_benefit", - "dtype": "bool" - }, + "entity": "family", + "column": "accommodation_supplement_maximum_weekly_rate", + "dtype": "float64" + } + ], + "rules_binding": "accommodation_supplement", + "params": { + "variables": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_weekly_amount_before_rounding", + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_social_housing_exclusion_not_applies", + "accommodation_supplement_other_funding_exclusion_not_applies", + "accommodation_supplement_non_beneficiary_income_reduction", + "accommodation_supplement_weekly_qualifying_accommodation_costs", + "accommodation_supplement_maximum_weekly_rate" + ] + } + }, + { + "id": "nz.v.V4.income_decile", + "kernel": "reporting.carry_income_decile@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ { "entity": "person", - "column": "main_benefit_receiving_new_zealand_superannuation", - "dtype": "bool" + "columns": [ + "age" + ] }, { - "entity": "person", - "column": "main_benefit_receiving_veterans_pension", - "dtype": "bool" + "entity": "household", + "columns": [ + "source_household_id" + ] }, { - "entity": "person", - "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_birth_year", + "entity": "family", + "column": "income_decile", "dtype": "int64" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "income_decile" + ] }, - { - "entity": "person", - "column": "nz_super_born_on_or_before_30_june_of_birth_year", - "dtype": "bool" - }, - { - "entity": "person", - "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", - "dtype": "bool" - }, - { - "entity": "person", - "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", - "dtype": "bool" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V4", + "entities": [ + "person", + "household", + "family" + ] + }, + "artifact_inputs": [ { - "entity": "person", - "column": "nz_super_overseas_application_residence_exception_applies", - "dtype": "bool" - }, + "name": "baseline_cells", + "producer": "nz.scn.S0.income_decile", + "artifact": "baseline_cells" + } + ] + }, + { + "id": "nz.v.V4.receipt_group", + "kernel": "reporting.receipt_group@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ { "entity": "person", - "column": "nz_super_person_age", - "dtype": "int64" + "columns": [ + "receives_jobseeker_support", + "receives_nz_super", + "receives_sole_parent_support", + "receives_supported_living_payment" + ] }, { - "entity": "person", - "column": "nz_super_principal_residence_is_qualifying_accommodation", - "dtype": "bool" - }, + "entity": "family", + "columns": [ + "family_type" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_new_zealand_years", - "dtype": "int64" + "entity": "family", + "column": "receipt_group", + "dtype": "string" + } + ], + "params": { + "classifier": { + "resource": "reporting_classifiers", + "encoding": "json", + "path": [ + "receipt_group" + ] }, - { - "entity": "person", - "column": "nz_super_resident_present_since_age_20_total_years", - "dtype": "int64" + "classifier_sha256": { + "resource": "reporting_classifiers", + "encoding": "sha256" }, + "scenario": "V4" + } + }, + { + "id": "nz.v.V4.positive_payment", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.v.V4.housing", + "inputs": [ { - "entity": "person", - "column": "nz_super_resident_present_since_age_50_total_years", - "dtype": "int64" - }, + "entity": "family", + "columns": [ + "accommodation_supplement_rounded_weekly_payment" + ] + } + ], + "outputs": [ { - "entity": "person", - "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json" }, - { - "entity": "person", - "column": "nz_super_single", - "dtype": "bool" + "references": { + "resource": "holdout_references", + "encoding": "json" }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V4.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ { "entity": "person", - "column": "social_security_continuous_residence_years_after_citizen_or_resident", - "dtype": "int64" + "columns": [ + "age" + ] }, { - "entity": "person", - "column": "social_security_continuous_residence_years_before_application", - "dtype": "int64" + "entity": "household", + "columns": [ + "source_household_id" + ] }, { - "entity": "person", - "column": "social_security_new_zealand_citizen", - "dtype": "bool" + "entity": "family", + "columns": [ + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_rounded_weekly_payment", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, - { - "entity": "person", - "column": "social_security_only_temporary_entry_class_visa_holder", - "dtype": "bool" + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" }, - { - "entity": "person", - "column": "social_security_ordinarily_resident_in_new_zealand_on_application", - "dtype": "bool" + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household", + "annualisation_factors": { + "resource": "gap_annualisation", + "encoding": "json" + }, + "annualisation_sha256": { + "resource": "gap_annualisation", + "encoding": "sha256" }, + "scenario": "V4" + } + } + ] + }, + { + "id": "VHF", + "tier": "calibration", + "method_card_row": "MC5", + "knobs": { + "donor_money_index": "hold_fixed" + }, + "description": "The hold-fixed sensitivity keeps all four donor index families at identity factors in its own money-normalization declaration while references retain the central aging profile.", + "encoding_knobs": {}, + "nodes": [ + { + "id": "nz.v.VHF", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.open", + "inputs": [ { "entity": "person", - "column": "social_security_ordinarily_resident_in_reciprocity_country", - "dtype": "bool" - }, + "columns": [ + "age" + ] + } + ], + "params": {} + }, + { + "id": "nz.v.VHF.money.normalize", + "kernel": "money.normalize@1", + "population": "nz.v.VHF", + "sources": [ + "nz_chronicle_facts" + ], + "inputs": [ { "entity": "person", - "column": "social_security_refugee_or_protected_person", - "dtype": "bool" + "columns": [ + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "realized_capital_gains", + "private_pension_income" + ] }, { - "entity": "person", - "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", - "dtype": "bool" - }, + "entity": "household", + "columns": [ + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "social_security_residence_class_visa_holder", - "dtype": "bool" + "column": "nonfarm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "social_security_section_205_override_applies", - "dtype": "bool" + "column": "farm_self_employment_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "social_security_unlawfully_resident_or_present_in_new_zealand", - "dtype": "bool" + "column": "interest_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "sole_parent_applicant_age", - "dtype": "int64" + "column": "dividend_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "sole_parent_caring_for_dependent_children_under_age_limit", - "dtype": "int64" + "column": "rental_income", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "dtype": "bool" + "column": "realized_capital_gains", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "sole_parent_is_single", - "dtype": "bool" + "column": "private_pension_income", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "dtype": "bool" + "entity": "household", + "column": "mortgage_interest", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "dtype": "bool" + "entity": "household", + "column": "mortgage_principal", + "dtype": "float64", + "rewrite": true }, { - "entity": "person", - "column": "sole_parent_marriage_or_civil_union_dissolved", - "dtype": "bool" + "entity": "household", + "column": "property_tax", + "dtype": "float64", + "rewrite": true }, { "entity": "person", - "column": "sole_parent_receiving_sole_parent_support", - "dtype": "bool" + "column": "nonfarm_self_employment_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_split_care_court_order_exception_applies", - "dtype": "bool" + "column": "farm_self_employment_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_split_care_entitlement_allocated_to_person", - "dtype": "bool" + "column": "interest_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_split_care_situation_applies", - "dtype": "bool" + "column": "dividend_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_spouse_or_partner_died", - "dtype": "bool" + "column": "rental_income_cents", + "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_personal_earnings_used_for_childcare", + "column": "realized_capital_gains_cents", "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_total_income", - "dtype": "float64" + "column": "private_pension_income_cents", + "dtype": "int64" }, { - "entity": "person", - "column": "sole_parent_youngest_dependent_child_age", + "entity": "household", + "column": "mortgage_interest_cents", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_applicant_age", + "entity": "household", + "column": "mortgage_principal_cents", "dtype": "int64" }, { - "entity": "person", - "column": "supported_living_blind_average_weekly_earnings", - "dtype": "float64" + "entity": "household", + "column": "property_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": { + "resource": "money_normalization_hold_fixed", + "path": [], + "encoding": "json" }, - { - "entity": "person", - "column": "supported_living_blind_beneficiary_employed", - "dtype": "bool" + "declaration_sha256": { + "resource": "money_normalization_hold_fixed", + "path": [], + "encoding": "sha256" }, - { - "entity": "person", - "column": "supported_living_blind_other_weekly_amounts_from_all_sources", - "dtype": "int64" + "factor_context": { + "resource": "reference_aging", + "path": [], + "encoding": "json" }, - { - "entity": "person", - "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "dtype": "bool" + "factor_context_sha256": { + "resource": "reference_aging", + "path": [], + "encoding": "sha256" }, + "profile_selection": { + "scenario": "knobs", + "encoding": "json" + } + } + }, + { + "id": "nz.v.VHF.encode.person", + "kernel": "concepts.encode@1", + "population": "nz.v.VHF", + "inputs": [ { "entity": "person", - "column": "supported_living_cared_person_is_spouse_or_partner", - "dtype": "bool" + "columns": [ + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability" + ] }, { - "entity": "person", - "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", - "dtype": "bool" - }, + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "supported_living_caring_applicant_age", + "column": "jobseeker_applicant_age", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_caring_applicant_has_dependent_child", + "column": "jobseeker_available_for_and_seeking_full_time_employment", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_payment_already_granted", + "column": "jobseeker_full_time_student", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_required_full_time_care_at_home", + "column": "jobseeker_has_dependent_child", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_caring_temporary_continuation_days", - "dtype": "int64" + "column": "jobseeker_has_no_income", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_open_employment_trial_agreed_with_msd", + "column": "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_open_employment_trial_weeks", - "dtype": "int64" + "column": "jobseeker_in_full_time_employment", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_applicant_age", - "dtype": "int64" + "column": "jobseeker_income_less_than_zero_rate_cutout", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_beneficiary_personal_earnings", - "dtype": "float64" + "column": "jobseeker_losing_earnings_through_health_condition_or_injury", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_caring", + "column": "jobseeker_section_25_discretionary_student_eligibility", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_dependent_children_count", + "column": "jobseeker_support_applicant_age", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_granted_for_restricted_work_capacity", + "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partner_receives_main_benefit", + "column": "jobseeker_support_dependent_children_count", + "dtype": "int64" + }, + { + "entity": "person", + "column": "jobseeker_support_living_with_parent", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "column": "jobseeker_support_partner_receives_main_benefit", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_restricted_or_blind", + "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_single", + "column": "jobseeker_support_single", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_total_income", + "column": "jobseeker_support_total_income", "dtype": "float64" }, { "entity": "person", - "column": "supported_living_payment_totally_blind", + "column": "jobseeker_support_transferred_2013_no_dependent_children", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "column": "jobseeker_support_youngest_dependent_child_age", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "column": "jobseeker_taken_reasonable_steps_to_find_full_time_employment", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_restricting_condition_expected_to_continue_required_period", + "column": "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_terminal_condition", + "column": "jobseeker_unemployed_due_to_strike", "dtype": "bool" }, { "entity": "person", - "column": "supported_living_totally_blind", + "column": "jobseeker_unemployed_or_on_leave_for_employment_related_training", "dtype": "bool" - } - ], - "params": { - "mapping": { - "resource": "concept_mapping", - "path": [], - "encoding": "json" - }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "json" }, - "closure_sha256": { - "resource": "axiom_input_closure", - "path": [], - "encoding": "sha256" + { + "entity": "person", + "column": "jobseeker_willing_and_able_to_undertake_full_time_employment", + "dtype": "bool" }, - "rulespec_paths": [ - "nz/statutes/social_security/main_benefits/entitlement.yaml", - "nz/statutes/social_security/main_benefits/rates.yaml", - "nz/statutes/new_zealand_superannuation/core.yaml" - ] - } - }, - { - "id": "nz.v.VHF.benefits.entitlement", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.VHF", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "main_benefits_entitlement", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_applicant_age", - "jobseeker_available_for_and_seeking_full_time_employment", - "jobseeker_full_time_student", - "jobseeker_has_dependent_child", - "jobseeker_has_no_income", - "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", - "jobseeker_in_full_time_employment", - "jobseeker_income_less_than_zero_rate_cutout", - "jobseeker_losing_earnings_through_health_condition_or_injury", - "jobseeker_section_25_discretionary_student_eligibility", - "jobseeker_taken_reasonable_steps_to_find_full_time_employment", - "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", - "jobseeker_unemployed_due_to_strike", - "jobseeker_unemployed_or_on_leave_for_employment_related_training", - "jobseeker_willing_and_able_to_undertake_full_time_employment", - "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", - "main_benefit_receiving_another_main_benefit", - "main_benefit_receiving_new_zealand_superannuation", - "main_benefit_receiving_veterans_pension", - "social_security_continuous_residence_years_after_citizen_or_resident", - "social_security_continuous_residence_years_before_application", - "social_security_new_zealand_citizen", - "social_security_only_temporary_entry_class_visa_holder", - "social_security_ordinarily_resident_in_new_zealand_on_application", - "social_security_ordinarily_resident_in_reciprocity_country", - "social_security_refugee_or_protected_person", - "social_security_regulations_treat_person_as_meeting_residence_requirement", - "social_security_residence_class_visa_holder", - "social_security_section_205_override_applies", - "social_security_unlawfully_resident_or_present_in_new_zealand", - "sole_parent_applicant_age", - "sole_parent_caring_for_dependent_children_under_age_limit", - "sole_parent_is_mother_or_father_or_child_regarded_as_child", - "sole_parent_is_single", - "sole_parent_living_apart_and_lost_or_lacks_partner_support", - "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", - "sole_parent_marriage_or_civil_union_dissolved", - "sole_parent_receiving_sole_parent_support", - "sole_parent_split_care_court_order_exception_applies", - "sole_parent_split_care_entitlement_allocated_to_person", - "sole_parent_split_care_situation_applies", - "sole_parent_spouse_or_partner_died", - "sole_parent_youngest_dependent_child_age", - "supported_living_applicant_age", - "supported_living_capacity_restricted_by_health_condition_injury_or_disability", - "supported_living_cared_person_is_spouse_or_partner", - "supported_living_cared_person_would_otherwise_receive_institutional_care", - "supported_living_caring_applicant_age", - "supported_living_caring_applicant_has_dependent_child", - "supported_living_caring_payment_already_granted", - "supported_living_caring_required_full_time_care_at_home", - "supported_living_caring_temporary_continuation_days", - "supported_living_open_employment_trial_agreed_with_msd", - "supported_living_open_employment_trial_weeks", - "supported_living_payment_granted_for_restricted_work_capacity", - "supported_living_regular_open_employment_capacity_hours_per_week", - "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", - "supported_living_restricting_condition_expected_to_continue_required_period", - "supported_living_terminal_condition", - "supported_living_totally_blind" - ] - } - ], - "outputs": [ + "column": "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "dtype": "bool" + }, { "entity": "person", - "column": "entitled_to_jobseeker_support", - "dtype": "int64" + "column": "main_benefit_income_test_assessable_income", + "dtype": "float64" }, { "entity": "person", - "column": "entitled_to_sole_parent_support", - "dtype": "int64" + "column": "main_benefit_receiving_another_main_benefit", + "dtype": "bool" }, { "entity": "person", - "column": "entitled_to_supported_living_payment_restricted_or_blind", - "dtype": "int64" + "column": "main_benefit_receiving_new_zealand_superannuation", + "dtype": "bool" }, { "entity": "person", - "column": "entitled_to_supported_living_payment_caring", - "dtype": "int64" - } - ], - "params": { - "variables": [ - "entitled_to_jobseeker_support", - "entitled_to_sole_parent_support", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring" - ] - } - }, - { - "id": "nz.v.VHF.benefits.super", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.VHF", - "sources": [ - "rulespec_nz" - ], - "rules_binding": "nz_super", - "inputs": [ + "column": "main_benefit_receiving_veterans_pension", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", - "nz_super_birth_year", - "nz_super_born_on_or_before_30_june_of_birth_year", - "nz_super_elected_weekly_compensation_instead_of_superannuation", - "nz_super_ordinarily_resident_in_new_zealand_on_application", - "nz_super_overseas_application_residence_exception_applies", - "nz_super_person_age", - "nz_super_principal_residence_is_qualifying_accommodation", - "nz_super_resident_present_since_age_20_new_zealand_years", - "nz_super_resident_present_since_age_20_total_years", - "nz_super_resident_present_since_age_50_total_years", - "nz_super_shares_residence_with_person_at_least_adult_age", - "nz_super_single" - ] - } - ], - "outputs": [ + "column": "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "dtype": "bool" + }, { "entity": "person", - "column": "entitled_to_new_zealand_superannuation", + "column": "nz_super_birth_year", "dtype": "int64" }, { "entity": "person", - "column": "nz_super_weekly_amount_before_tax", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax" - ] - } - }, - { - "id": "nz.v.VHF.benefits.rates", - "kernel": "simulate.rules_by_ref@1", - "population": "nz.v.VHF", - "structural": "none", - "rules_binding": "main_benefits_rates", - "inputs": [ + "column": "nz_super_born_on_or_before_30_june_of_birth_year", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - } - ], - "outputs": [ + "column": "nz_super_elected_weekly_compensation_instead_of_superannuation", + "dtype": "bool" + }, { - "entity": "person", - "column": "jobseeker_support_net_weekly_payment", - "dtype": "float64" + "entity": "person", + "column": "nz_super_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_net_weekly_payment", - "dtype": "float64" + "column": "nz_super_overseas_application_residence_exception_applies", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_net_weekly_payment", - "dtype": "float64" - } - ], - "params": { - "variables": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - }, - { - "id": "nz.v.VHF.benefits.net_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ + "column": "nz_super_person_age", + "dtype": "int64" + }, { "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment", - "sole_parent_support_net_weekly_payment", - "supported_living_payment_net_weekly_payment" - ] - } - ], - "outputs": [ + "column": "nz_super_principal_residence_is_qualifying_accommodation", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_net_weekly_payment_cents", + "column": "nz_super_resident_present_since_age_20_new_zealand_years", "dtype": "int64" }, { "entity": "person", - "column": "sole_parent_support_net_weekly_payment_cents", + "column": "nz_super_resident_present_since_age_20_total_years", "dtype": "int64" }, { "entity": "person", - "column": "supported_living_payment_net_weekly_payment_cents", + "column": "nz_super_resident_present_since_age_50_total_years", "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" - }, - "period": { - "binding": "main_benefits_rates", - "field": "period" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.VHF.gross_up.jobseeker_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "nz_super_shares_residence_with_person_at_least_adult_age", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "column": "nz_super_single", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.VHF.gross_up.sole_parent_support", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "sole_parent_support_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "social_security_continuous_residence_years_after_citizen_or_resident", + "dtype": "int64" + }, { "entity": "person", - "column": "sole_parent_support_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" - }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + "column": "social_security_continuous_residence_years_before_application", + "dtype": "int64" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.VHF.gross_up.supported_living_payment", - "kernel": "simulate.solve_zero@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "supported_living_payment_net_weekly_payment_cents" - ] - } - ], - "outputs": [ + "column": "social_security_new_zealand_citizen", + "dtype": "bool" + }, { "entity": "person", - "column": "supported_living_payment_annual_gross", - "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "column": "social_security_only_temporary_entry_class_visa_holder", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "social_security_ordinarily_resident_in_new_zealand_on_application", + "dtype": "bool" }, - "variables": [ - "individual_income_tax_before_credits" - ], - "input_overrides": "[]", - "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", - "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", - "bracket": [ - 0, - 1000000 - ], - "tolerance": 1e-07, - "iterations": 48, - "quantum": "0.01", - "tie_rule": "half_even", - "certificate_margin": "0.000001", - "quantized_residual_bound": "0.0050001", - "extra_evaluation_budget": 9 - } - }, - { - "id": "nz.v.VHF.gross_up.annual_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "jobseeker_support_annual_gross", - "sole_parent_support_annual_gross", - "supported_living_payment_annual_gross" - ] - } - ], - "outputs": [ + "column": "social_security_ordinarily_resident_in_reciprocity_country", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_cents", - "dtype": "int64" + "column": "social_security_refugee_or_protected_person", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_cents", - "dtype": "int64" + "column": "social_security_regulations_treat_person_as_meeting_residence_requirement", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_cents", - "dtype": "int64" - } - ], - "params": { - "engine_ref": { - "binding": "income_tax_schedule_1", - "field": "engine_ref" + "column": "social_security_residence_class_visa_holder", + "dtype": "bool" }, - "period": { - "binding": "income_tax_schedule_1", - "field": "period" + { + "entity": "person", + "column": "social_security_section_205_override_applies", + "dtype": "bool" }, - "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.VHF.gross_up.super_cents", - "kernel": "money.minor_units@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ { "entity": "person", - "columns": [ - "nz_super_weekly_amount_before_tax" - ] - } - ], - "outputs": [ + "column": "social_security_unlawfully_resident_or_present_in_new_zealand", + "dtype": "bool" + }, { "entity": "person", - "column": "nz_super_weekly_amount_before_tax_cents", + "column": "sole_parent_applicant_age", "dtype": "int64" - } - ], - "params": { - "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" - } - }, - { - "id": "nz.v.VHF.takeup.assign", - "kernel": "takeup.assign@1", - "population": "nz.v.VHF", - "inputs": [ + }, { "entity": "person", - "columns": [ - "age", - "region_code", - "take_up_seed", - "entitled_to_new_zealand_superannuation", - "nz_super_weekly_amount_before_tax", - "entitled_to_supported_living_payment_restricted_or_blind", - "entitled_to_supported_living_payment_caring", - "supported_living_payment_net_weekly_payment", - "entitled_to_sole_parent_support", - "sole_parent_support_net_weekly_payment", - "entitled_to_jobseeker_support", - "jobseeker_support_net_weekly_payment" - ] + "column": "sole_parent_caring_for_dependent_children_under_age_limit", + "dtype": "int64" }, { - "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ + "entity": "person", + "column": "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "dtype": "bool" + }, { "entity": "person", - "column": "receives_nz_super", + "column": "sole_parent_is_single", "dtype": "bool" }, { "entity": "person", - "column": "receives_supported_living_payment", + "column": "sole_parent_living_apart_and_lost_or_lacks_partner_support", "dtype": "bool" }, { "entity": "person", - "column": "receives_sole_parent_support", + "column": "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", "dtype": "bool" }, { "entity": "person", - "column": "receives_jobseeker_support", + "column": "sole_parent_marriage_or_civil_union_dissolved", "dtype": "bool" - } - ], - "params": { - "receipt_contract": { - "resource": "receipt_contract", - "path": [ - "receipts" - ], - "encoding": "json" }, - "receipt_contract_sha256": { - "resource": "receipt_contract", - "path": [], - "encoding": "sha256" - } - }, - "artifact_inputs": [ { - "name": "surface", - "producer": "nz.facts.precal", - "artifact": "surface" - } - ] - }, - { - "id": "nz.v.VHF.benefits.annual_transfers", - "kernel": "money.annual_transfers@1", - "population": "nz.v.VHF", - "structural": "none", - "inputs": [ + "entity": "person", + "column": "sole_parent_receiving_sole_parent_support", + "dtype": "bool" + }, { "entity": "person", - "columns": [ - "receives_jobseeker_support", - "receives_sole_parent_support", - "receives_supported_living_payment", - "receives_nz_super", - "jobseeker_support_annual_gross_cents", - "sole_parent_support_annual_gross_cents", - "supported_living_payment_annual_gross_cents", - "nz_super_weekly_amount_before_tax_cents" - ] - } - ], - "outputs": [ + "column": "sole_parent_split_care_court_order_exception_applies", + "dtype": "bool" + }, { "entity": "person", - "column": "jobseeker_support_annual_gross_transfer_cents", - "dtype": "int64" + "column": "sole_parent_split_care_entitlement_allocated_to_person", + "dtype": "bool" }, { "entity": "person", - "column": "sole_parent_support_annual_gross_transfer_cents", - "dtype": "int64" + "column": "sole_parent_split_care_situation_applies", + "dtype": "bool" }, { "entity": "person", - "column": "supported_living_payment_annual_gross_transfer_cents", - "dtype": "int64" + "column": "sole_parent_spouse_or_partner_died", + "dtype": "bool" }, { "entity": "person", - "column": "nz_super_annual_gross_transfer_cents", + "column": "sole_parent_support_personal_earnings_used_for_childcare", "dtype": "int64" - } - ], - "params": { - "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" - } - }, - { - "id": "nz.v.VHF.targets.prepare", - "kernel": "calibration.prepare@1", - "population": "nz.v.VHF", - "inputs": [ + }, { "entity": "person", - "columns": [ - "age", - "region_code", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "column": "sole_parent_support_total_income", + "dtype": "float64" }, - { - "entity": "household", - "columns": [ - "household_region_code", - "tenure" - ] - } - ], - "outputs": [ { "entity": "person", - "column": "people", + "column": "sole_parent_youngest_dependent_child_age", "dtype": "int64" }, { - "entity": "household", - "column": "households", + "entity": "person", + "column": "supported_living_applicant_age", "dtype": "int64" }, { "entity": "person", - "column": "population_region_01_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_blind_average_weekly_earnings", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_01_age_15_39_indicator", + "column": "supported_living_blind_beneficiary_employed", "dtype": "bool" }, { "entity": "person", - "column": "population_region_01_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_blind_other_weekly_amounts_from_all_sources", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_01_age_65_plus_indicator", + "column": "supported_living_capacity_restricted_by_health_condition_injury_or_disability", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_0_14_indicator", + "column": "supported_living_cared_person_is_spouse_or_partner", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_15_39_indicator", + "column": "supported_living_cared_person_would_otherwise_receive_institutional_care", "dtype": "bool" }, { "entity": "person", - "column": "population_region_02_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_caring_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_02_age_65_plus_indicator", + "column": "supported_living_caring_applicant_has_dependent_child", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_0_14_indicator", + "column": "supported_living_caring_payment_already_granted", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_15_39_indicator", + "column": "supported_living_caring_required_full_time_care_at_home", "dtype": "bool" }, { "entity": "person", - "column": "population_region_03_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_caring_temporary_continuation_days", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_03_age_65_plus_indicator", + "column": "supported_living_open_employment_trial_agreed_with_msd", "dtype": "bool" }, { "entity": "person", - "column": "population_region_04_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_open_employment_trial_weeks", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_04_age_15_39_indicator", - "dtype": "bool" + "column": "supported_living_payment_applicant_age", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_04_age_40_64_indicator", - "dtype": "bool" + "column": "supported_living_payment_beneficiary_personal_earnings", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_04_age_65_plus_indicator", + "column": "supported_living_payment_caring", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_payment_dependent_children_count", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_05_age_15_39_indicator", + "column": "supported_living_payment_granted_for_restricted_work_capacity", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_40_64_indicator", + "column": "supported_living_payment_partner_receives_main_benefit", "dtype": "bool" }, { "entity": "person", - "column": "population_region_05_age_65_plus_indicator", + "column": "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_0_14_indicator", + "column": "supported_living_payment_partnered_long_term_residential_care_halving_applies", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_15_39_indicator", + "column": "supported_living_payment_restricted_or_blind", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_40_64_indicator", + "column": "supported_living_payment_single", "dtype": "bool" }, { "entity": "person", - "column": "population_region_06_age_65_plus_indicator", + "column": "supported_living_payment_total_income", + "dtype": "float64" + }, + { + "entity": "person", + "column": "supported_living_payment_totally_blind", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_0_14_indicator", + "column": "supported_living_regular_open_employment_capacity_hours_per_week", + "dtype": "int64" + }, + { + "entity": "person", + "column": "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_15_39_indicator", + "column": "supported_living_restricting_condition_expected_to_continue_required_period", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_40_64_indicator", + "column": "supported_living_terminal_condition", "dtype": "bool" }, { "entity": "person", - "column": "population_region_07_age_65_plus_indicator", + "column": "supported_living_totally_blind", "dtype": "bool" + } + ], + "params": { + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" + }, + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" + }, + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" }, - { - "entity": "person", - "column": "population_region_08_age_0_14_indicator", - "dtype": "bool" + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" }, + "rulespec_paths": [ + "nz/statutes/social_security/main_benefits/entitlement.yaml", + "nz/statutes/social_security/main_benefits/rates.yaml", + "nz/statutes/new_zealand_superannuation/core.yaml" + ] + } + }, + { + "id": "nz.v.VHF.benefits.entitlement", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "main_benefits_entitlement", + "inputs": [ { "entity": "person", - "column": "population_region_08_age_15_39_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_applicant_age", + "jobseeker_available_for_and_seeking_full_time_employment", + "jobseeker_full_time_student", + "jobseeker_has_dependent_child", + "jobseeker_has_no_income", + "jobseeker_health_condition_injury_or_disability_limits_capacity_to_seek_or_undertake_work", + "jobseeker_in_full_time_employment", + "jobseeker_income_less_than_zero_rate_cutout", + "jobseeker_losing_earnings_through_health_condition_or_injury", + "jobseeker_section_25_discretionary_student_eligibility", + "jobseeker_taken_reasonable_steps_to_find_full_time_employment", + "jobseeker_temporary_income_reduces_rate_to_zero_but_otherwise_entitled", + "jobseeker_unemployed_due_to_strike", + "jobseeker_unemployed_or_on_leave_for_employment_related_training", + "jobseeker_willing_and_able_to_undertake_full_time_employment", + "jobseeker_would_satisfy_available_for_work_but_for_work_test_exemption_circumstances", + "main_benefit_receiving_another_main_benefit", + "main_benefit_receiving_new_zealand_superannuation", + "main_benefit_receiving_veterans_pension", + "social_security_continuous_residence_years_after_citizen_or_resident", + "social_security_continuous_residence_years_before_application", + "social_security_new_zealand_citizen", + "social_security_only_temporary_entry_class_visa_holder", + "social_security_ordinarily_resident_in_new_zealand_on_application", + "social_security_ordinarily_resident_in_reciprocity_country", + "social_security_refugee_or_protected_person", + "social_security_regulations_treat_person_as_meeting_residence_requirement", + "social_security_residence_class_visa_holder", + "social_security_section_205_override_applies", + "social_security_unlawfully_resident_or_present_in_new_zealand", + "sole_parent_applicant_age", + "sole_parent_caring_for_dependent_children_under_age_limit", + "sole_parent_is_mother_or_father_or_child_regarded_as_child", + "sole_parent_is_single", + "sole_parent_living_apart_and_lost_or_lacks_partner_support", + "sole_parent_lost_regular_support_due_to_partner_sentence_conditions", + "sole_parent_marriage_or_civil_union_dissolved", + "sole_parent_receiving_sole_parent_support", + "sole_parent_split_care_court_order_exception_applies", + "sole_parent_split_care_entitlement_allocated_to_person", + "sole_parent_split_care_situation_applies", + "sole_parent_spouse_or_partner_died", + "sole_parent_youngest_dependent_child_age", + "supported_living_applicant_age", + "supported_living_capacity_restricted_by_health_condition_injury_or_disability", + "supported_living_cared_person_is_spouse_or_partner", + "supported_living_cared_person_would_otherwise_receive_institutional_care", + "supported_living_caring_applicant_age", + "supported_living_caring_applicant_has_dependent_child", + "supported_living_caring_payment_already_granted", + "supported_living_caring_required_full_time_care_at_home", + "supported_living_caring_temporary_continuation_days", + "supported_living_open_employment_trial_agreed_with_msd", + "supported_living_open_employment_trial_weeks", + "supported_living_payment_granted_for_restricted_work_capacity", + "supported_living_regular_open_employment_capacity_hours_per_week", + "supported_living_restricted_capacity_or_blindness_self_inflicted_to_qualify", + "supported_living_restricting_condition_expected_to_continue_required_period", + "supported_living_terminal_condition", + "supported_living_totally_blind" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_08_age_40_64_indicator", - "dtype": "bool" + "column": "entitled_to_jobseeker_support", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_08_age_65_plus_indicator", - "dtype": "bool" + "column": "entitled_to_sole_parent_support", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_09_age_0_14_indicator", - "dtype": "bool" + "column": "entitled_to_supported_living_payment_restricted_or_blind", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_09_age_15_39_indicator", - "dtype": "bool" - }, + "column": "entitled_to_supported_living_payment_caring", + "dtype": "int64" + } + ], + "params": { + "variables": [ + "entitled_to_jobseeker_support", + "entitled_to_sole_parent_support", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring" + ] + } + }, + { + "id": "nz.v.VHF.benefits.super", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "sources": [ + "rulespec_nz" + ], + "rules_binding": "nz_super", + "inputs": [ { "entity": "person", - "column": "population_region_09_age_40_64_indicator", - "dtype": "bool" - }, + "columns": [ + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_09_age_65_plus_indicator", - "dtype": "bool" + "column": "entitled_to_new_zealand_superannuation", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_12_age_0_14_indicator", - "dtype": "bool" - }, + "column": "nz_super_weekly_amount_before_tax", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax" + ] + } + }, + { + "id": "nz.v.VHF.benefits.rates", + "kernel": "simulate.rules_by_ref@1", + "population": "nz.v.VHF", + "structural": "none", + "rules_binding": "main_benefits_rates", + "inputs": [ { "entity": "person", - "column": "population_region_12_age_15_39_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + "jobseeker_support_youngest_dependent_child_age", + "main_benefit_income_test_assessable_income", + "sole_parent_support_personal_earnings_used_for_childcare", + "sole_parent_support_total_income", + "supported_living_blind_average_weekly_earnings", + "supported_living_blind_beneficiary_employed", + "supported_living_blind_other_weekly_amounts_from_all_sources", + "supported_living_payment_applicant_age", + "supported_living_payment_beneficiary_personal_earnings", + "supported_living_payment_caring", + "supported_living_payment_dependent_children_count", + "supported_living_payment_partner_receives_main_benefit", + "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", + "supported_living_payment_partnered_long_term_residential_care_halving_applies", + "supported_living_payment_restricted_or_blind", + "supported_living_payment_single", + "supported_living_payment_total_income", + "supported_living_payment_totally_blind" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_12_age_40_64_indicator", - "dtype": "bool" + "column": "jobseeker_support_net_weekly_payment", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_12_age_65_plus_indicator", - "dtype": "bool" + "column": "sole_parent_support_net_weekly_payment", + "dtype": "float64" }, { "entity": "person", - "column": "population_region_13_age_0_14_indicator", - "dtype": "bool" - }, + "column": "supported_living_payment_net_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "variables": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + }, + { + "id": "nz.v.VHF.benefits.net_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_13_age_15_39_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_net_weekly_payment", + "sole_parent_support_net_weekly_payment", + "supported_living_payment_net_weekly_payment" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_13_age_40_64_indicator", - "dtype": "bool" + "column": "jobseeker_support_net_weekly_payment_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_13_age_65_plus_indicator", - "dtype": "bool" + "column": "sole_parent_support_net_weekly_payment_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_14_age_0_14_indicator", - "dtype": "bool" + "column": "supported_living_payment_net_weekly_payment_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "main_benefits_rates", + "field": "engine_ref" }, - { - "entity": "person", - "column": "population_region_14_age_15_39_indicator", - "dtype": "bool" + "period": { + "binding": "main_benefits_rates", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"jobseeker_support_net_weekly_payment\"},{\"output_column\":\"sole_parent_support_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"sole_parent_support_net_weekly_payment\"},{\"output_column\":\"supported_living_payment_net_weekly_payment_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"supported_living_payment_net_weekly_payment\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.VHF.gross_up.jobseeker_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_14_age_40_64_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_14_age_65_plus_indicator", - "dtype": "bool" + "column": "jobseeker_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"jobseeker_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"jobseeker_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.sole_parent_support", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_15_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "sole_parent_support_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_15_age_15_39_indicator", - "dtype": "bool" + "column": "sole_parent_support_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"source_column\":\"sole_parent_support_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"sole_parent_support_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.supported_living_payment", + "kernel": "simulate.solve_zero@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_15_age_40_64_indicator", - "dtype": "bool" - }, + "columns": [ + "supported_living_payment_net_weekly_payment_cents" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_15_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_annual_gross", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "variables": [ + "individual_income_tax_before_credits" + ], + "input_overrides": "[]", + "output_coefficients": "[{\"coefficient\":0.52,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"source_column\":\"supported_living_payment_net_weekly_payment_cents\",\"source_entity\":\"person\"},{\"coefficient\":1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"variable\":\"individual_income_tax_before_credits\"},{\"coefficient\":-1,\"column\":\"supported_living_payment_annual_gross\",\"entity\":\"person\",\"trial\":true}]", + "solve_input": "{\"column\":\"taxable_income\",\"entity\":\"person\"}", + "bracket": [ + 0, + 1000000 + ], + "tolerance": 1e-07, + "iterations": 48, + "quantum": "0.01", + "tie_rule": "half_even", + "certificate_margin": "0.000001", + "quantized_residual_bound": "0.0050001", + "extra_evaluation_budget": 9 + } + }, + { + "id": "nz.v.VHF.gross_up.annual_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_16_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "jobseeker_support_annual_gross", + "sole_parent_support_annual_gross", + "supported_living_payment_annual_gross" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_16_age_15_39_indicator", - "dtype": "bool" + "column": "jobseeker_support_annual_gross_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_16_age_40_64_indicator", - "dtype": "bool" + "column": "sole_parent_support_annual_gross_cents", + "dtype": "int64" }, { "entity": "person", - "column": "population_region_16_age_65_plus_indicator", - "dtype": "bool" + "column": "supported_living_payment_annual_gross_cents", + "dtype": "int64" + } + ], + "params": { + "engine_ref": { + "binding": "income_tax_schedule_1", + "field": "engine_ref" + }, + "period": { + "binding": "income_tax_schedule_1", + "field": "period" }, + "declaration": "{\"columns\":[{\"output_column\":\"jobseeker_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"jobseeker_support_annual_gross\"},{\"output_column\":\"sole_parent_support_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"sole_parent_support_annual_gross\"},{\"output_column\":\"supported_living_payment_annual_gross_cents\",\"quantum\":\"0.01\",\"rounding\":\"exact\",\"source_column\":\"supported_living_payment_annual_gross\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.VHF.gross_up.super_cents", + "kernel": "money.minor_units@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { "entity": "person", - "column": "population_region_17_age_0_14_indicator", - "dtype": "bool" - }, + "columns": [ + "nz_super_weekly_amount_before_tax" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_17_age_15_39_indicator", - "dtype": "bool" - }, + "column": "nz_super_weekly_amount_before_tax_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"columns\":[{\"output_column\":\"nz_super_weekly_amount_before_tax_cents\",\"quantum\":\"0.01\",\"rounding\":\"half_even\",\"source_column\":\"nz_super_weekly_amount_before_tax\",\"source_tax_basis\":\"before_tax\"}],\"entity\":\"person\"}" + } + }, + { + "id": "nz.v.VHF.takeup.assign", + "kernel": "takeup.assign@1", + "population": "nz.v.VHF", + "inputs": [ { "entity": "person", - "column": "population_region_17_age_40_64_indicator", - "dtype": "bool" + "columns": [ + "age", + "region_code", + "take_up_seed", + "entitled_to_new_zealand_superannuation", + "nz_super_weekly_amount_before_tax", + "entitled_to_supported_living_payment_restricted_or_blind", + "entitled_to_supported_living_payment_caring", + "supported_living_payment_net_weekly_payment", + "entitled_to_sole_parent_support", + "sole_parent_support_net_weekly_payment", + "entitled_to_jobseeker_support", + "jobseeker_support_net_weekly_payment" + ] }, { - "entity": "person", - "column": "population_region_17_age_65_plus_indicator", - "dtype": "bool" - }, + "entity": "household", + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { "entity": "person", - "column": "population_region_18_age_0_14_indicator", + "column": "receives_nz_super", "dtype": "bool" }, { "entity": "person", - "column": "population_region_18_age_15_39_indicator", + "column": "receives_supported_living_payment", "dtype": "bool" }, { "entity": "person", - "column": "population_region_18_age_40_64_indicator", + "column": "receives_sole_parent_support", "dtype": "bool" }, { "entity": "person", - "column": "population_region_18_age_65_plus_indicator", - "dtype": "bool" - }, - { - "entity": "household", - "column": "region_01_indicator", + "column": "receives_jobseeker_support", "dtype": "bool" + } + ], + "params": { + "receipt_contract": { + "resource": "receipt_contract", + "path": [ + "receipts" + ], + "encoding": "json" }, + "receipt_contract_sha256": { + "resource": "receipt_contract", + "path": [], + "encoding": "sha256" + } + }, + "artifact_inputs": [ { - "entity": "household", - "column": "household_region_01_size_1_indicator", - "dtype": "bool" - }, + "name": "surface", + "producer": "nz.facts.precal", + "artifact": "surface" + } + ] + }, + { + "id": "nz.v.VHF.benefits.annual_transfers", + "kernel": "money.annual_transfers@1", + "population": "nz.v.VHF", + "structural": "none", + "inputs": [ { - "entity": "household", - "column": "household_region_01_size_2_indicator", - "dtype": "bool" - }, + "entity": "person", + "columns": [ + "receives_jobseeker_support", + "receives_sole_parent_support", + "receives_supported_living_payment", + "receives_nz_super", + "jobseeker_support_annual_gross_cents", + "sole_parent_support_annual_gross_cents", + "supported_living_payment_annual_gross_cents", + "nz_super_weekly_amount_before_tax_cents" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_01_size_3_indicator", - "dtype": "bool" + "entity": "person", + "column": "jobseeker_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_01_size_4_indicator", - "dtype": "bool" + "entity": "person", + "column": "sole_parent_support_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_01_size_5_indicator", - "dtype": "bool" + "entity": "person", + "column": "supported_living_payment_annual_gross_transfer_cents", + "dtype": "int64" }, { - "entity": "household", - "column": "household_region_01_size_6_indicator", - "dtype": "bool" - }, + "entity": "person", + "column": "nz_super_annual_gross_transfer_cents", + "dtype": "int64" + } + ], + "params": { + "declaration": "{\"entity\":\"person\",\"exposure\":{\"central\":1,\"convention\":\"full_year_stock_equivalent\"},\"transfers\":[{\"flag_column\":\"receives_jobseeker_support\",\"output_column\":\"jobseeker_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"jobseeker_support_annual_gross_cents\"},{\"flag_column\":\"receives_sole_parent_support\",\"output_column\":\"sole_parent_support_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"sole_parent_support_annual_gross_cents\"},{\"flag_column\":\"receives_supported_living_payment\",\"output_column\":\"supported_living_payment_annual_gross_transfer_cents\",\"source_basis\":\"annual_gross_cents\",\"source_column\":\"supported_living_payment_annual_gross_cents\"},{\"flag_column\":\"receives_nz_super\",\"output_column\":\"nz_super_annual_gross_transfer_cents\",\"source_basis\":\"weekly_before_tax_cents\",\"source_column\":\"nz_super_weekly_amount_before_tax_cents\",\"source_tax_basis\":\"before_tax\"}],\"weeks_per_year\":52}" + } + }, + { + "id": "nz.v.VHF.targets.prepare", + "kernel": "calibration.prepare@1", + "population": "nz.v.VHF", + "inputs": [ { - "entity": "household", - "column": "household_region_01_size_7_indicator", - "dtype": "bool" + "entity": "person", + "columns": [ + "age", + "region_code", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, { "entity": "household", - "column": "household_region_01_size_8_indicator", - "dtype": "bool" - }, + "columns": [ + "household_region_code", + "tenure" + ] + } + ], + "outputs": [ { - "entity": "household", - "column": "household_region_01_owned_indicator", - "dtype": "bool" + "entity": "person", + "column": "people", + "dtype": "int64" }, { "entity": "household", - "column": "household_region_01_not_owned_indicator", - "dtype": "bool" + "column": "households", + "dtype": "int64" }, { - "entity": "household", - "column": "region_02_indicator", + "entity": "person", + "column": "population_region_01_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_1_indicator", + "entity": "person", + "column": "population_region_01_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_2_indicator", + "entity": "person", + "column": "population_region_01_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_3_indicator", + "entity": "person", + "column": "population_region_01_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_4_indicator", + "entity": "person", + "column": "population_region_02_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_5_indicator", + "entity": "person", + "column": "population_region_02_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_6_indicator", + "entity": "person", + "column": "population_region_02_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_7_indicator", + "entity": "person", + "column": "population_region_02_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_size_8_indicator", + "entity": "person", + "column": "population_region_03_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_owned_indicator", + "entity": "person", + "column": "population_region_03_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_02_not_owned_indicator", + "entity": "person", + "column": "population_region_03_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_03_indicator", + "entity": "person", + "column": "population_region_03_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_1_indicator", + "entity": "person", + "column": "population_region_04_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_2_indicator", + "entity": "person", + "column": "population_region_04_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_3_indicator", + "entity": "person", + "column": "population_region_04_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_4_indicator", + "entity": "person", + "column": "population_region_04_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_5_indicator", + "entity": "person", + "column": "population_region_05_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_6_indicator", + "entity": "person", + "column": "population_region_05_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_7_indicator", + "entity": "person", + "column": "population_region_05_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_size_8_indicator", + "entity": "person", + "column": "population_region_05_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_owned_indicator", + "entity": "person", + "column": "population_region_06_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_03_not_owned_indicator", + "entity": "person", + "column": "population_region_06_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_04_indicator", + "entity": "person", + "column": "population_region_06_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_1_indicator", + "entity": "person", + "column": "population_region_06_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_2_indicator", + "entity": "person", + "column": "population_region_07_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_3_indicator", + "entity": "person", + "column": "population_region_07_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_4_indicator", + "entity": "person", + "column": "population_region_07_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_5_indicator", + "entity": "person", + "column": "population_region_07_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_6_indicator", + "entity": "person", + "column": "population_region_08_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_7_indicator", + "entity": "person", + "column": "population_region_08_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_size_8_indicator", + "entity": "person", + "column": "population_region_08_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_owned_indicator", + "entity": "person", + "column": "population_region_08_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_04_not_owned_indicator", + "entity": "person", + "column": "population_region_09_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_05_indicator", + "entity": "person", + "column": "population_region_09_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_1_indicator", + "entity": "person", + "column": "population_region_09_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_2_indicator", + "entity": "person", + "column": "population_region_09_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_3_indicator", + "entity": "person", + "column": "population_region_12_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_4_indicator", + "entity": "person", + "column": "population_region_12_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_5_indicator", + "entity": "person", + "column": "population_region_12_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_6_indicator", + "entity": "person", + "column": "population_region_12_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_7_indicator", + "entity": "person", + "column": "population_region_13_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_size_8_indicator", + "entity": "person", + "column": "population_region_13_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_owned_indicator", + "entity": "person", + "column": "population_region_13_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_05_not_owned_indicator", + "entity": "person", + "column": "population_region_13_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_06_indicator", + "entity": "person", + "column": "population_region_14_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_1_indicator", + "entity": "person", + "column": "population_region_14_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_2_indicator", + "entity": "person", + "column": "population_region_14_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_3_indicator", + "entity": "person", + "column": "population_region_14_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_4_indicator", + "entity": "person", + "column": "population_region_15_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_5_indicator", + "entity": "person", + "column": "population_region_15_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_6_indicator", + "entity": "person", + "column": "population_region_15_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_7_indicator", + "entity": "person", + "column": "population_region_15_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_size_8_indicator", + "entity": "person", + "column": "population_region_16_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_owned_indicator", + "entity": "person", + "column": "population_region_16_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_06_not_owned_indicator", + "entity": "person", + "column": "population_region_16_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "region_07_indicator", + "entity": "person", + "column": "population_region_16_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_1_indicator", + "entity": "person", + "column": "population_region_17_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_2_indicator", + "entity": "person", + "column": "population_region_17_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_3_indicator", + "entity": "person", + "column": "population_region_17_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_4_indicator", + "entity": "person", + "column": "population_region_17_age_65_plus_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_5_indicator", + "entity": "person", + "column": "population_region_18_age_0_14_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_6_indicator", + "entity": "person", + "column": "population_region_18_age_15_39_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_7_indicator", + "entity": "person", + "column": "population_region_18_age_40_64_indicator", "dtype": "bool" }, { - "entity": "household", - "column": "household_region_07_size_8_indicator", + "entity": "person", + "column": "population_region_18_age_65_plus_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_owned_indicator", + "column": "region_01_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_07_not_owned_indicator", + "column": "household_region_01_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_08_indicator", + "column": "household_region_01_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_1_indicator", + "column": "household_region_01_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_2_indicator", + "column": "household_region_01_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_3_indicator", + "column": "household_region_01_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_4_indicator", + "column": "household_region_01_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_5_indicator", + "column": "household_region_01_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_6_indicator", + "column": "household_region_01_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_7_indicator", + "column": "household_region_01_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_size_8_indicator", + "column": "household_region_01_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_owned_indicator", + "column": "region_02_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_08_not_owned_indicator", + "column": "household_region_02_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_09_indicator", + "column": "household_region_02_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_1_indicator", + "column": "household_region_02_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_2_indicator", + "column": "household_region_02_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_3_indicator", + "column": "household_region_02_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_4_indicator", + "column": "household_region_02_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_5_indicator", + "column": "household_region_02_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_6_indicator", + "column": "household_region_02_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_7_indicator", + "column": "household_region_02_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_size_8_indicator", + "column": "household_region_02_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_owned_indicator", + "column": "region_03_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_09_not_owned_indicator", + "column": "household_region_03_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_12_indicator", + "column": "household_region_03_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_1_indicator", + "column": "household_region_03_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_2_indicator", + "column": "household_region_03_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_3_indicator", + "column": "household_region_03_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_4_indicator", + "column": "household_region_03_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_5_indicator", + "column": "household_region_03_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_6_indicator", + "column": "household_region_03_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_7_indicator", + "column": "household_region_03_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_size_8_indicator", + "column": "household_region_03_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_owned_indicator", + "column": "region_04_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_12_not_owned_indicator", + "column": "household_region_04_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_13_indicator", + "column": "household_region_04_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_1_indicator", + "column": "household_region_04_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_2_indicator", + "column": "household_region_04_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_3_indicator", + "column": "household_region_04_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_4_indicator", + "column": "household_region_04_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_5_indicator", + "column": "household_region_04_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_6_indicator", + "column": "household_region_04_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_7_indicator", + "column": "household_region_04_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_size_8_indicator", + "column": "household_region_04_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_owned_indicator", + "column": "region_05_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_13_not_owned_indicator", + "column": "household_region_05_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_14_indicator", + "column": "household_region_05_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_1_indicator", + "column": "household_region_05_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_2_indicator", + "column": "household_region_05_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_3_indicator", + "column": "household_region_05_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_4_indicator", + "column": "household_region_05_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_5_indicator", + "column": "household_region_05_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_6_indicator", + "column": "household_region_05_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_7_indicator", + "column": "household_region_05_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_size_8_indicator", + "column": "household_region_05_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_owned_indicator", + "column": "region_06_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_14_not_owned_indicator", + "column": "household_region_06_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_15_indicator", + "column": "household_region_06_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_1_indicator", + "column": "household_region_06_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_2_indicator", + "column": "household_region_06_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_3_indicator", + "column": "household_region_06_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_4_indicator", + "column": "household_region_06_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_5_indicator", + "column": "household_region_06_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_6_indicator", + "column": "household_region_06_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_7_indicator", + "column": "household_region_06_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_size_8_indicator", + "column": "household_region_06_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_owned_indicator", + "column": "region_07_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_15_not_owned_indicator", + "column": "household_region_07_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_16_indicator", + "column": "household_region_07_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_1_indicator", + "column": "household_region_07_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_2_indicator", + "column": "household_region_07_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_3_indicator", + "column": "household_region_07_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_4_indicator", + "column": "household_region_07_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_5_indicator", + "column": "household_region_07_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_6_indicator", + "column": "household_region_07_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_7_indicator", + "column": "household_region_07_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_size_8_indicator", + "column": "household_region_07_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_owned_indicator", + "column": "region_08_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_16_not_owned_indicator", + "column": "household_region_08_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_17_indicator", + "column": "household_region_08_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_1_indicator", + "column": "household_region_08_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_2_indicator", + "column": "household_region_08_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_3_indicator", + "column": "household_region_08_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_4_indicator", + "column": "household_region_08_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_5_indicator", + "column": "household_region_08_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_6_indicator", + "column": "household_region_08_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_7_indicator", + "column": "household_region_08_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_size_8_indicator", + "column": "household_region_08_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_owned_indicator", + "column": "region_09_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_17_not_owned_indicator", + "column": "household_region_09_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_18_indicator", + "column": "household_region_09_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_1_indicator", + "column": "household_region_09_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_2_indicator", + "column": "household_region_09_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_3_indicator", + "column": "household_region_09_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_4_indicator", + "column": "household_region_09_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_5_indicator", + "column": "household_region_09_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_6_indicator", + "column": "household_region_09_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_7_indicator", + "column": "household_region_09_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_size_8_indicator", + "column": "household_region_09_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_owned_indicator", + "column": "region_12_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_18_not_owned_indicator", + "column": "household_region_12_size_1_indicator", "dtype": "bool" }, { "entity": "household", - "column": "region_99_indicator", + "column": "household_region_12_size_2_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_1_indicator", + "column": "household_region_12_size_3_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_2_indicator", + "column": "household_region_12_size_4_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_3_indicator", + "column": "household_region_12_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_4_indicator", + "column": "household_region_12_size_6_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_5_indicator", + "column": "household_region_12_size_7_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_6_indicator", + "column": "household_region_12_size_8_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_7_indicator", + "column": "household_region_12_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_size_8_indicator", + "column": "household_region_12_not_owned_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_owned_indicator", + "column": "region_13_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_region_99_not_owned_indicator", + "column": "household_region_13_size_1_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_18_24_indicator", + "entity": "household", + "column": "household_region_13_size_2_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_25_39_indicator", + "entity": "household", + "column": "household_region_13_size_3_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_40_54_indicator", + "entity": "household", + "column": "household_region_13_size_4_indicator", "dtype": "bool" }, { - "entity": "person", - "column": "age_55_64_indicator", + "entity": "household", + "column": "household_region_13_size_5_indicator", "dtype": "bool" }, { "entity": "household", - "column": "household_size", - "dtype": "int64" - } - ], - "params": { - "bindings": { - "resource": "calibration_bindings", - "path": [], - "encoding": "json" - }, - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" - }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.VHF.targets.compile", - "kernel": "targets.compile@1", - "population": "nz.v.VHF", - "sources": [ - "nz_chronicle_facts" - ], - "params": { - "country": "nz", - "references": { - "resource": "target_references", - "path": [], - "encoding": "json" + "column": "household_region_13_size_6_indicator", + "dtype": "bool" }, - "references_sha256": { - "resource": "target_references", - "path": [], - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.VHF.targets.problem", - "kernel": "targets.problem@1", - "population": "nz.v.VHF", - "inputs": [ { - "entity": "person", - "columns": [ - "people", - "population_region_01_age_0_14_indicator", - "population_region_01_age_15_39_indicator", - "population_region_01_age_40_64_indicator", - "population_region_01_age_65_plus_indicator", - "population_region_02_age_0_14_indicator", - "population_region_02_age_15_39_indicator", - "population_region_02_age_40_64_indicator", - "population_region_02_age_65_plus_indicator", - "population_region_03_age_0_14_indicator", - "population_region_03_age_15_39_indicator", - "population_region_03_age_40_64_indicator", - "population_region_03_age_65_plus_indicator", - "population_region_04_age_0_14_indicator", - "population_region_04_age_15_39_indicator", - "population_region_04_age_40_64_indicator", - "population_region_04_age_65_plus_indicator", - "population_region_05_age_0_14_indicator", - "population_region_05_age_15_39_indicator", - "population_region_05_age_40_64_indicator", - "population_region_05_age_65_plus_indicator", - "population_region_06_age_0_14_indicator", - "population_region_06_age_15_39_indicator", - "population_region_06_age_40_64_indicator", - "population_region_06_age_65_plus_indicator", - "population_region_07_age_0_14_indicator", - "population_region_07_age_15_39_indicator", - "population_region_07_age_40_64_indicator", - "population_region_07_age_65_plus_indicator", - "population_region_08_age_0_14_indicator", - "population_region_08_age_15_39_indicator", - "population_region_08_age_40_64_indicator", - "population_region_08_age_65_plus_indicator", - "population_region_09_age_0_14_indicator", - "population_region_09_age_15_39_indicator", - "population_region_09_age_40_64_indicator", - "population_region_09_age_65_plus_indicator", - "population_region_12_age_0_14_indicator", - "population_region_12_age_15_39_indicator", - "population_region_12_age_40_64_indicator", - "population_region_12_age_65_plus_indicator", - "population_region_13_age_0_14_indicator", - "population_region_13_age_15_39_indicator", - "population_region_13_age_40_64_indicator", - "population_region_13_age_65_plus_indicator", - "population_region_14_age_0_14_indicator", - "population_region_14_age_15_39_indicator", - "population_region_14_age_40_64_indicator", - "population_region_14_age_65_plus_indicator", - "population_region_15_age_0_14_indicator", - "population_region_15_age_15_39_indicator", - "population_region_15_age_40_64_indicator", - "population_region_15_age_65_plus_indicator", - "population_region_16_age_0_14_indicator", - "population_region_16_age_15_39_indicator", - "population_region_16_age_40_64_indicator", - "population_region_16_age_65_plus_indicator", - "population_region_17_age_0_14_indicator", - "population_region_17_age_15_39_indicator", - "population_region_17_age_40_64_indicator", - "population_region_17_age_65_plus_indicator", - "population_region_18_age_0_14_indicator", - "population_region_18_age_15_39_indicator", - "population_region_18_age_40_64_indicator", - "population_region_18_age_65_plus_indicator", - "age_18_24_indicator", - "age_25_39_indicator", - "age_40_54_indicator", - "age_55_64_indicator", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "household_region_13_size_7_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "households", - "region_01_indicator", - "household_region_01_size_1_indicator", - "household_region_01_size_2_indicator", - "household_region_01_size_3_indicator", - "household_region_01_size_4_indicator", - "household_region_01_size_5_indicator", - "household_region_01_size_6_indicator", - "household_region_01_size_7_indicator", - "household_region_01_size_8_indicator", - "household_region_01_owned_indicator", - "household_region_01_not_owned_indicator", - "region_02_indicator", - "household_region_02_size_1_indicator", - "household_region_02_size_2_indicator", - "household_region_02_size_3_indicator", - "household_region_02_size_4_indicator", - "household_region_02_size_5_indicator", - "household_region_02_size_6_indicator", - "household_region_02_size_7_indicator", - "household_region_02_size_8_indicator", - "household_region_02_owned_indicator", - "household_region_02_not_owned_indicator", - "region_03_indicator", - "household_region_03_size_1_indicator", - "household_region_03_size_2_indicator", - "household_region_03_size_3_indicator", - "household_region_03_size_4_indicator", - "household_region_03_size_5_indicator", - "household_region_03_size_6_indicator", - "household_region_03_size_7_indicator", - "household_region_03_size_8_indicator", - "household_region_03_owned_indicator", - "household_region_03_not_owned_indicator", - "region_04_indicator", - "household_region_04_size_1_indicator", - "household_region_04_size_2_indicator", - "household_region_04_size_3_indicator", - "household_region_04_size_4_indicator", - "household_region_04_size_5_indicator", - "household_region_04_size_6_indicator", - "household_region_04_size_7_indicator", - "household_region_04_size_8_indicator", - "household_region_04_owned_indicator", - "household_region_04_not_owned_indicator", - "region_05_indicator", - "household_region_05_size_1_indicator", - "household_region_05_size_2_indicator", - "household_region_05_size_3_indicator", - "household_region_05_size_4_indicator", - "household_region_05_size_5_indicator", - "household_region_05_size_6_indicator", - "household_region_05_size_7_indicator", - "household_region_05_size_8_indicator", - "household_region_05_owned_indicator", - "household_region_05_not_owned_indicator", - "region_06_indicator", - "household_region_06_size_1_indicator", - "household_region_06_size_2_indicator", - "household_region_06_size_3_indicator", - "household_region_06_size_4_indicator", - "household_region_06_size_5_indicator", - "household_region_06_size_6_indicator", - "household_region_06_size_7_indicator", - "household_region_06_size_8_indicator", - "household_region_06_owned_indicator", - "household_region_06_not_owned_indicator", - "region_07_indicator", - "household_region_07_size_1_indicator", - "household_region_07_size_2_indicator", - "household_region_07_size_3_indicator", - "household_region_07_size_4_indicator", - "household_region_07_size_5_indicator", - "household_region_07_size_6_indicator", - "household_region_07_size_7_indicator", - "household_region_07_size_8_indicator", - "household_region_07_owned_indicator", - "household_region_07_not_owned_indicator", - "region_08_indicator", - "household_region_08_size_1_indicator", - "household_region_08_size_2_indicator", - "household_region_08_size_3_indicator", - "household_region_08_size_4_indicator", - "household_region_08_size_5_indicator", - "household_region_08_size_6_indicator", - "household_region_08_size_7_indicator", - "household_region_08_size_8_indicator", - "household_region_08_owned_indicator", - "household_region_08_not_owned_indicator", - "region_09_indicator", - "household_region_09_size_1_indicator", - "household_region_09_size_2_indicator", - "household_region_09_size_3_indicator", - "household_region_09_size_4_indicator", - "household_region_09_size_5_indicator", - "household_region_09_size_6_indicator", - "household_region_09_size_7_indicator", - "household_region_09_size_8_indicator", - "household_region_09_owned_indicator", - "household_region_09_not_owned_indicator", - "region_12_indicator", - "household_region_12_size_1_indicator", - "household_region_12_size_2_indicator", - "household_region_12_size_3_indicator", - "household_region_12_size_4_indicator", - "household_region_12_size_5_indicator", - "household_region_12_size_6_indicator", - "household_region_12_size_7_indicator", - "household_region_12_size_8_indicator", - "household_region_12_owned_indicator", - "household_region_12_not_owned_indicator", - "region_13_indicator", - "household_region_13_size_1_indicator", - "household_region_13_size_2_indicator", - "household_region_13_size_3_indicator", - "household_region_13_size_4_indicator", - "household_region_13_size_5_indicator", - "household_region_13_size_6_indicator", - "household_region_13_size_7_indicator", - "household_region_13_size_8_indicator", - "household_region_13_owned_indicator", - "household_region_13_not_owned_indicator", - "region_14_indicator", - "household_region_14_size_1_indicator", - "household_region_14_size_2_indicator", - "household_region_14_size_3_indicator", - "household_region_14_size_4_indicator", - "household_region_14_size_5_indicator", - "household_region_14_size_6_indicator", - "household_region_14_size_7_indicator", - "household_region_14_size_8_indicator", - "household_region_14_owned_indicator", - "household_region_14_not_owned_indicator", - "region_15_indicator", - "household_region_15_size_1_indicator", - "household_region_15_size_2_indicator", - "household_region_15_size_3_indicator", - "household_region_15_size_4_indicator", - "household_region_15_size_5_indicator", - "household_region_15_size_6_indicator", - "household_region_15_size_7_indicator", - "household_region_15_size_8_indicator", - "household_region_15_owned_indicator", - "household_region_15_not_owned_indicator", - "region_16_indicator", - "household_region_16_size_1_indicator", - "household_region_16_size_2_indicator", - "household_region_16_size_3_indicator", - "household_region_16_size_4_indicator", - "household_region_16_size_5_indicator", - "household_region_16_size_6_indicator", - "household_region_16_size_7_indicator", - "household_region_16_size_8_indicator", - "household_region_16_owned_indicator", - "household_region_16_not_owned_indicator", - "region_17_indicator", - "household_region_17_size_1_indicator", - "household_region_17_size_2_indicator", - "household_region_17_size_3_indicator", - "household_region_17_size_4_indicator", - "household_region_17_size_5_indicator", - "household_region_17_size_6_indicator", - "household_region_17_size_7_indicator", - "household_region_17_size_8_indicator", - "household_region_17_owned_indicator", - "household_region_17_not_owned_indicator", - "region_18_indicator", - "household_region_18_size_1_indicator", - "household_region_18_size_2_indicator", - "household_region_18_size_3_indicator", - "household_region_18_size_4_indicator", - "household_region_18_size_5_indicator", - "household_region_18_size_6_indicator", - "household_region_18_size_7_indicator", - "household_region_18_size_8_indicator", - "household_region_18_owned_indicator", - "household_region_18_not_owned_indicator", - "region_99_indicator", - "household_region_99_size_1_indicator", - "household_region_99_size_2_indicator", - "household_region_99_size_3_indicator", - "household_region_99_size_4_indicator", - "household_region_99_size_5_indicator", - "household_region_99_size_6_indicator", - "household_region_99_size_7_indicator", - "household_region_99_size_8_indicator", - "household_region_99_owned_indicator", - "household_region_99_not_owned_indicator", - "household_size" - ] + "column": "household_region_13_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_13_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_14_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_14_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_head_person_id" - ] - } - ], - "params": { - "entities": [ - "person", - "household", - "family" - ], - "weight_entity": "household" - }, - "artifact_inputs": [ + "entity": "household", + "column": "region_15_indicator", + "dtype": "bool" + }, { - "name": "surface", - "producer": "nz.v.VHF.targets.compile", - "artifact": "surface" + "entity": "household", + "column": "household_region_15_size_1_indicator", + "dtype": "bool" }, { - "name": "preparation", - "producer": "nz.v.VHF.targets.prepare", - "artifact": "preparation" - } - ] - }, - { - "id": "nz.v.VHF.calibrate", - "kernel": "calibrate.ordered_adam@1", - "structural": "reweight", - "base": "nz.v.VHF", - "mass": "free", - "inputs": [ + "entity": "household", + "column": "household_region_15_size_2_indicator", + "dtype": "bool" + }, { "entity": "household", - "columns": [ - "source_household_id" - ] - } - ], - "weights": { - "entity": "household", - "to_kind": "calibrated", - "mass": "free" - }, - "params": { - "epochs": { - "resource": "calibration_settings", - "path": [ - "epochs" - ], - "encoding": "value" + "column": "household_region_15_size_3_indicator", + "dtype": "bool" }, - "learning_rate": { - "resource": "calibration_settings", - "path": [ - "learning_rate" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_15_size_4_indicator", + "dtype": "bool" }, - "mass": { - "resource": "calibration_settings", - "path": [ - "mass" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_15_size_5_indicator", + "dtype": "bool" }, - "max_weight_ratio": { - "resource": "calibration_settings", - "path": [ - "max_weight_ratio" - ], - "encoding": "value" + { + "entity": "household", + "column": "household_region_15_size_6_indicator", + "dtype": "bool" }, - "weight_anchor": { - "resource": "calibration_settings", - "path": [ - "weight_anchor" - ], - "encoding": "value" - } - }, - "artifact_inputs": [ { - "name": "problem", - "producer": "nz.v.VHF.targets.problem", - "artifact": "problem" - } - ] - }, - { - "id": "nz.v.VHF.housing", - "kernel": "transport.boundary@1", - "structural": "filter", - "base": "nz.v.VHF.calibrate", - "inputs": [ + "entity": "household", + "column": "household_region_15_size_7_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age" - ] - } - ], - "params": {} - }, - { - "id": "nz.v.VHF.inputs", - "kernel": "concepts.encode_groups@1", - "population": "nz.v.VHF.housing", - "inputs": [ + "entity": "household", + "column": "household_region_15_size_8_indicator", + "dtype": "bool" + }, { - "entity": "person", - "columns": [ - "age", - "sex", - "partner_person_id", - "parent_1_person_id", - "parent_2_person_id", - "usual_weekly_hours", - "take_up_seed", - "liquid_financial_assets", - "employment_income", - "nonfarm_self_employment_income", - "farm_self_employment_income", - "interest_income", - "dividend_income", - "rental_income", - "private_pension_income", - "enrolled_full_time", - "legal_marital_status", - "has_disability", - "receives_nz_super", - "receives_supported_living_payment", - "receives_sole_parent_support", - "receives_jobseeker_support" - ] + "entity": "household", + "column": "household_region_15_owned_indicator", + "dtype": "bool" }, { "entity": "household", - "columns": [ - "reference_person_id", - "source_household_id", - "donor_support_stratum", - "tenure", - "rent", - "mortgage_interest", - "mortgage_principal", - "property_tax", - "as_area", - "as_area_alt" - ] + "column": "household_region_15_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "columns": [ - "family_household_id", - "family_head_person_id", - "family_source_household_id" - ] - } - ], - "outputs": [ + "entity": "household", + "column": "region_16_indicator", + "dtype": "bool" + }, { - "entity": "family", - "column": "accommodation_supplement_additional_resident_in_social_housing", + "entity": "household", + "column": "household_region_16_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_area_let_to_nonresidents", - "dtype": "int64" + "entity": "household", + "column": "household_region_16_size_2_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_boarder", + "entity": "household", + "column": "household_region_16_size_3_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_4_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_5_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_6_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_7_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_size_8_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_16_not_owned_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "region_17_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_1_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_2_indicator", + "dtype": "bool" + }, + { + "entity": "household", + "column": "household_region_17_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_business_use_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_17_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_cash_assets", - "dtype": "float64" + "entity": "household", + "column": "household_region_17_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "entity": "household", + "column": "household_region_17_size_6_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_costs_are_homeownership", + "entity": "household", + "column": "household_region_17_size_7_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "entity": "household", + "column": "household_region_17_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_accommodation_costs", + "entity": "household", + "column": "household_region_17_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_dependent_children", + "entity": "household", + "column": "household_region_17_not_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_has_two_or_more_dependent_children", + "entity": "household", + "column": "region_18_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_in_relationship", + "entity": "household", + "column": "household_region_18_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_joint_owner_with_resident", + "entity": "household", + "column": "household_region_18_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_non_beneficiary", + "entity": "household", + "column": "household_region_18_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_payment_share", - "dtype": "int64" + "entity": "household", + "column": "household_region_18_size_4_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owner_weekly_required_payments", - "dtype": "float64" + "entity": "household", + "column": "household_region_18_size_5_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "entity": "household", + "column": "household_region_18_size_6_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "entity": "household", + "column": "household_region_18_size_7_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "entity": "household", + "column": "household_region_18_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_relevant_weekly_income", - "dtype": "float64" + "entity": "household", + "column": "household_region_18_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "entity": "household", + "column": "household_region_18_not_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "entity": "household", + "column": "region_99_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "entity": "household", + "column": "household_region_99_size_1_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_1", + "entity": "household", + "column": "household_region_99_size_2_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_2", + "entity": "household", + "column": "household_region_99_size_3_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_resides_in_area_3", + "entity": "household", + "column": "household_region_99_size_4_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "entity": "household", + "column": "household_region_99_size_5_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_self_contained_area_let_to_residents", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_size_6_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_social_housing_weekly_contributions_paid", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_size_7_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_sole_parent", + "entity": "household", + "column": "household_region_99_size_8_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "entity": "household", + "column": "household_region_99_owned_indicator", "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_total_premises_area", - "dtype": "int64" + "entity": "household", + "column": "household_region_99_not_owned_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_board_and_lodgings_paid", - "dtype": "int64" + "entity": "person", + "column": "age_18_24_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_boarder_payments_received", - "dtype": "int64" + "entity": "person", + "column": "age_25_39_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", - "dtype": "int64" + "entity": "person", + "column": "age_40_54_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_paid", - "dtype": "float64" + "entity": "person", + "column": "age_55_64_indicator", + "dtype": "bool" }, { - "entity": "family", - "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "entity": "household", + "column": "household_size", "dtype": "int64" } ], "params": { - "mapping": { - "resource": "concept_mapping", + "bindings": { + "resource": "calibration_bindings", "path": [], "encoding": "json" }, - "mapping_sha256": { - "resource": "concept_mapping", - "path": [], - "encoding": "sha256" - }, - "closure": { - "resource": "axiom_input_closure", + "references": { + "resource": "target_references", "path": [], "encoding": "json" }, - "closure_sha256": { - "resource": "axiom_input_closure", + "references_sha256": { + "resource": "target_references", "path": [], "encoding": "sha256" - }, - "unit_rule": { - "resource": "benefit_unit_rule", + } + } + }, + { + "id": "nz.v.VHF.targets.compile", + "kernel": "targets.compile@1", + "population": "nz.v.VHF", + "sources": [ + "nz_chronicle_facts" + ], + "params": { + "country": "nz", + "references": { + "resource": "target_references", "path": [], "encoding": "json" }, - "unit_rule_sha256": { - "resource": "benefit_unit_rule", + "references_sha256": { + "resource": "target_references", "path": [], "encoding": "sha256" + } + } + }, + { + "id": "nz.v.VHF.targets.problem", + "kernel": "targets.problem@1", + "population": "nz.v.VHF", + "inputs": [ + { + "entity": "person", + "columns": [ + "people", + "population_region_01_age_0_14_indicator", + "population_region_01_age_15_39_indicator", + "population_region_01_age_40_64_indicator", + "population_region_01_age_65_plus_indicator", + "population_region_02_age_0_14_indicator", + "population_region_02_age_15_39_indicator", + "population_region_02_age_40_64_indicator", + "population_region_02_age_65_plus_indicator", + "population_region_03_age_0_14_indicator", + "population_region_03_age_15_39_indicator", + "population_region_03_age_40_64_indicator", + "population_region_03_age_65_plus_indicator", + "population_region_04_age_0_14_indicator", + "population_region_04_age_15_39_indicator", + "population_region_04_age_40_64_indicator", + "population_region_04_age_65_plus_indicator", + "population_region_05_age_0_14_indicator", + "population_region_05_age_15_39_indicator", + "population_region_05_age_40_64_indicator", + "population_region_05_age_65_plus_indicator", + "population_region_06_age_0_14_indicator", + "population_region_06_age_15_39_indicator", + "population_region_06_age_40_64_indicator", + "population_region_06_age_65_plus_indicator", + "population_region_07_age_0_14_indicator", + "population_region_07_age_15_39_indicator", + "population_region_07_age_40_64_indicator", + "population_region_07_age_65_plus_indicator", + "population_region_08_age_0_14_indicator", + "population_region_08_age_15_39_indicator", + "population_region_08_age_40_64_indicator", + "population_region_08_age_65_plus_indicator", + "population_region_09_age_0_14_indicator", + "population_region_09_age_15_39_indicator", + "population_region_09_age_40_64_indicator", + "population_region_09_age_65_plus_indicator", + "population_region_12_age_0_14_indicator", + "population_region_12_age_15_39_indicator", + "population_region_12_age_40_64_indicator", + "population_region_12_age_65_plus_indicator", + "population_region_13_age_0_14_indicator", + "population_region_13_age_15_39_indicator", + "population_region_13_age_40_64_indicator", + "population_region_13_age_65_plus_indicator", + "population_region_14_age_0_14_indicator", + "population_region_14_age_15_39_indicator", + "population_region_14_age_40_64_indicator", + "population_region_14_age_65_plus_indicator", + "population_region_15_age_0_14_indicator", + "population_region_15_age_15_39_indicator", + "population_region_15_age_40_64_indicator", + "population_region_15_age_65_plus_indicator", + "population_region_16_age_0_14_indicator", + "population_region_16_age_15_39_indicator", + "population_region_16_age_40_64_indicator", + "population_region_16_age_65_plus_indicator", + "population_region_17_age_0_14_indicator", + "population_region_17_age_15_39_indicator", + "population_region_17_age_40_64_indicator", + "population_region_17_age_65_plus_indicator", + "population_region_18_age_0_14_indicator", + "population_region_18_age_15_39_indicator", + "population_region_18_age_40_64_indicator", + "population_region_18_age_65_plus_indicator", + "age_18_24_indicator", + "age_25_39_indicator", + "age_40_54_indicator", + "age_55_64_indicator", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] }, - "engine_entity": "Family", - "rulespec_paths": [ - "nz/statutes/social_security/accommodation_supplement/core.yaml" - ], - "knobs": { - "scenario": "encoding_knobs", - "encoding": "json" - }, - "scenario_sha256": { - "scenario": "encoding_knobs", - "encoding": "sha256" - } - } - }, - { - "id": "nz.v.VHF.bridge.evaluate.reg17_0", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.VHF.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", + "entity": "household", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "households", + "region_01_indicator", + "household_region_01_size_1_indicator", + "household_region_01_size_2_indicator", + "household_region_01_size_3_indicator", + "household_region_01_size_4_indicator", + "household_region_01_size_5_indicator", + "household_region_01_size_6_indicator", + "household_region_01_size_7_indicator", + "household_region_01_size_8_indicator", + "household_region_01_owned_indicator", + "household_region_01_not_owned_indicator", + "region_02_indicator", + "household_region_02_size_1_indicator", + "household_region_02_size_2_indicator", + "household_region_02_size_3_indicator", + "household_region_02_size_4_indicator", + "household_region_02_size_5_indicator", + "household_region_02_size_6_indicator", + "household_region_02_size_7_indicator", + "household_region_02_size_8_indicator", + "household_region_02_owned_indicator", + "household_region_02_not_owned_indicator", + "region_03_indicator", + "household_region_03_size_1_indicator", + "household_region_03_size_2_indicator", + "household_region_03_size_3_indicator", + "household_region_03_size_4_indicator", + "household_region_03_size_5_indicator", + "household_region_03_size_6_indicator", + "household_region_03_size_7_indicator", + "household_region_03_size_8_indicator", + "household_region_03_owned_indicator", + "household_region_03_not_owned_indicator", + "region_04_indicator", + "household_region_04_size_1_indicator", + "household_region_04_size_2_indicator", + "household_region_04_size_3_indicator", + "household_region_04_size_4_indicator", + "household_region_04_size_5_indicator", + "household_region_04_size_6_indicator", + "household_region_04_size_7_indicator", + "household_region_04_size_8_indicator", + "household_region_04_owned_indicator", + "household_region_04_not_owned_indicator", + "region_05_indicator", + "household_region_05_size_1_indicator", + "household_region_05_size_2_indicator", + "household_region_05_size_3_indicator", + "household_region_05_size_4_indicator", + "household_region_05_size_5_indicator", + "household_region_05_size_6_indicator", + "household_region_05_size_7_indicator", + "household_region_05_size_8_indicator", + "household_region_05_owned_indicator", + "household_region_05_not_owned_indicator", + "region_06_indicator", + "household_region_06_size_1_indicator", + "household_region_06_size_2_indicator", + "household_region_06_size_3_indicator", + "household_region_06_size_4_indicator", + "household_region_06_size_5_indicator", + "household_region_06_size_6_indicator", + "household_region_06_size_7_indicator", + "household_region_06_size_8_indicator", + "household_region_06_owned_indicator", + "household_region_06_not_owned_indicator", + "region_07_indicator", + "household_region_07_size_1_indicator", + "household_region_07_size_2_indicator", + "household_region_07_size_3_indicator", + "household_region_07_size_4_indicator", + "household_region_07_size_5_indicator", + "household_region_07_size_6_indicator", + "household_region_07_size_7_indicator", + "household_region_07_size_8_indicator", + "household_region_07_owned_indicator", + "household_region_07_not_owned_indicator", + "region_08_indicator", + "household_region_08_size_1_indicator", + "household_region_08_size_2_indicator", + "household_region_08_size_3_indicator", + "household_region_08_size_4_indicator", + "household_region_08_size_5_indicator", + "household_region_08_size_6_indicator", + "household_region_08_size_7_indicator", + "household_region_08_size_8_indicator", + "household_region_08_owned_indicator", + "household_region_08_not_owned_indicator", + "region_09_indicator", + "household_region_09_size_1_indicator", + "household_region_09_size_2_indicator", + "household_region_09_size_3_indicator", + "household_region_09_size_4_indicator", + "household_region_09_size_5_indicator", + "household_region_09_size_6_indicator", + "household_region_09_size_7_indicator", + "household_region_09_size_8_indicator", + "household_region_09_owned_indicator", + "household_region_09_not_owned_indicator", + "region_12_indicator", + "household_region_12_size_1_indicator", + "household_region_12_size_2_indicator", + "household_region_12_size_3_indicator", + "household_region_12_size_4_indicator", + "household_region_12_size_5_indicator", + "household_region_12_size_6_indicator", + "household_region_12_size_7_indicator", + "household_region_12_size_8_indicator", + "household_region_12_owned_indicator", + "household_region_12_not_owned_indicator", + "region_13_indicator", + "household_region_13_size_1_indicator", + "household_region_13_size_2_indicator", + "household_region_13_size_3_indicator", + "household_region_13_size_4_indicator", + "household_region_13_size_5_indicator", + "household_region_13_size_6_indicator", + "household_region_13_size_7_indicator", + "household_region_13_size_8_indicator", + "household_region_13_owned_indicator", + "household_region_13_not_owned_indicator", + "region_14_indicator", + "household_region_14_size_1_indicator", + "household_region_14_size_2_indicator", + "household_region_14_size_3_indicator", + "household_region_14_size_4_indicator", + "household_region_14_size_5_indicator", + "household_region_14_size_6_indicator", + "household_region_14_size_7_indicator", + "household_region_14_size_8_indicator", + "household_region_14_owned_indicator", + "household_region_14_not_owned_indicator", + "region_15_indicator", + "household_region_15_size_1_indicator", + "household_region_15_size_2_indicator", + "household_region_15_size_3_indicator", + "household_region_15_size_4_indicator", + "household_region_15_size_5_indicator", + "household_region_15_size_6_indicator", + "household_region_15_size_7_indicator", + "household_region_15_size_8_indicator", + "household_region_15_owned_indicator", + "household_region_15_not_owned_indicator", + "region_16_indicator", + "household_region_16_size_1_indicator", + "household_region_16_size_2_indicator", + "household_region_16_size_3_indicator", + "household_region_16_size_4_indicator", + "household_region_16_size_5_indicator", + "household_region_16_size_6_indicator", + "household_region_16_size_7_indicator", + "household_region_16_size_8_indicator", + "household_region_16_owned_indicator", + "household_region_16_not_owned_indicator", + "region_17_indicator", + "household_region_17_size_1_indicator", + "household_region_17_size_2_indicator", + "household_region_17_size_3_indicator", + "household_region_17_size_4_indicator", + "household_region_17_size_5_indicator", + "household_region_17_size_6_indicator", + "household_region_17_size_7_indicator", + "household_region_17_size_8_indicator", + "household_region_17_owned_indicator", + "household_region_17_not_owned_indicator", + "region_18_indicator", + "household_region_18_size_1_indicator", + "household_region_18_size_2_indicator", + "household_region_18_size_3_indicator", + "household_region_18_size_4_indicator", + "household_region_18_size_5_indicator", + "household_region_18_size_6_indicator", + "household_region_18_size_7_indicator", + "household_region_18_size_8_indicator", + "household_region_18_owned_indicator", + "household_region_18_not_owned_indicator", + "region_99_indicator", + "household_region_99_size_1_indicator", + "household_region_99_size_2_indicator", + "household_region_99_size_3_indicator", + "household_region_99_size_4_indicator", + "household_region_99_size_5_indicator", + "household_region_99_size_6_indicator", + "household_region_99_size_7_indicator", + "household_region_99_size_8_indicator", + "household_region_99_owned_indicator", + "household_region_99_not_owned_indicator", + "household_size" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_head_person_id" ] } ], - "outputs": [ + "params": { + "entities": [ + "person", + "household", + "family" + ], + "weight_entity": "household" + }, + "artifact_inputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg17_0", - "dtype": "float64" + "name": "surface", + "producer": "nz.v.VHF.targets.compile", + "artifact": "surface" + }, + { + "name": "preparation", + "producer": "nz.v.VHF.targets.prepare", + "artifact": "preparation" + } + ] + }, + { + "id": "nz.v.VHF.calibrate", + "kernel": "calibrate.ordered_adam@1", + "structural": "reweight", + "base": "nz.v.VHF", + "mass": "free", + "inputs": [ + { + "entity": "household", + "columns": [ + "source_household_id" + ] } ], + "weights": { + "entity": "household", + "to_kind": "calibrated", + "mass": "free" + }, "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "epochs": { + "resource": "calibration_settings", + "path": [ + "epochs" + ], + "encoding": "value" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "learning_rate": { + "resource": "calibration_settings", + "path": [ + "learning_rate" + ], + "encoding": "value" }, - "variables": [ - "jobseeker_support_net_weekly_payment" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_applicant_age", - "value": 25 - }, - { - "entity": "person", - "column": "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "source_entity": "family", - "source_column": "n_dependent_children" - }, - { - "entity": "person", - "column": "jobseeker_support_living_with_parent", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_main_benefit", - "source_entity": "family", - "source_column": "is_partnered" - }, - { - "entity": "person", - "column": "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_single", - "source_entity": "family", - "source_column": "is_single" - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_net_weekly_payment", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg17_0" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" + "mass": { + "resource": "calibration_settings", + "path": [ + "mass" + ], + "encoding": "value" + }, + "max_weight_ratio": { + "resource": "calibration_settings", + "path": [ + "max_weight_ratio" + ], + "encoding": "value" + }, + "weight_anchor": { + "resource": "calibration_settings", + "path": [ + "weight_anchor" + ], + "encoding": "value" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "artifact_inputs": [ + { + "name": "problem", + "producer": "nz.v.VHF.targets.problem", + "artifact": "problem" + } + ] }, { - "id": "nz.v.VHF.bridge.evaluate.reg17_1", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.VHF.housing", - "sources": [ - "rulespec_nz" + "id": "nz.v.VHF.housing", + "kernel": "transport.boundary@1", + "structural": "filter", + "base": "nz.v.VHF.calibrate", + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + } ], + "params": {} + }, + { + "id": "nz.v.VHF.inputs", + "kernel": "concepts.encode_groups@1", + "population": "nz.v.VHF.housing", "inputs": [ { "entity": "person", "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" + "age", + "sex", + "partner_person_id", + "parent_1_person_id", + "parent_2_person_id", + "usual_weekly_hours", + "take_up_seed", + "liquid_financial_assets", + "employment_income", + "nonfarm_self_employment_income", + "farm_self_employment_income", + "interest_income", + "dividend_income", + "rental_income", + "private_pension_income", + "enrolled_full_time", + "legal_marital_status", + "has_disability", + "receives_nz_super", + "receives_supported_living_payment", + "receives_sole_parent_support", + "receives_jobseeker_support" + ] + }, + { + "entity": "household", + "columns": [ + "reference_person_id", + "source_household_id", + "donor_support_stratum", + "tenure", + "rent", + "mortgage_interest", + "mortgage_principal", + "property_tax", + "as_area", + "as_area_alt" ] }, { "entity": "family", "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "family_household_id", + "family_head_person_id", + "family_source_household_id" ] } ], "outputs": [ { "entity": "family", - "column": "bridge_evaluation_reg17_1", + "column": "accommodation_supplement_additional_resident_in_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_area_let_to_nonresidents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_boarder", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_business_use_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_cash_assets", "dtype": "float64" - } - ], - "params": { - "engine_ref": { - "binding": "family_tax_credits", - "field": "engine_ref" }, - "period": { - "binding": "family_tax_credits", - "field": "period" + { + "entity": "family", + "column": "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "dtype": "bool" }, - "variables": [ - "family_tax_credit_prescribed_amount" - ], - "input_overrides": [ - { - "entity": "family", - "column": "family_tax_credit_eldest_dependent_child_care_units", - "value": 1 - }, - { - "entity": "family", - "column": "family_tax_credit_subsequent_dependent_child_care_units", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "family_tax_credit_prescribed_amount", - "coefficient": 1, - "entity": "family", - "column": "bridge_evaluation_reg17_1" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", - "encoding": "sha256" - } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." - }, - { - "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_gross_rate", - "kernel": "simulate.counterfactual@1", - "structural": "none", - "population": "nz.v.VHF.housing", - "sources": [ - "rulespec_nz" - ], - "inputs": [ { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] + "entity": "family", + "column": "accommodation_supplement_costs_are_homeownership", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_accommodation_costs", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_has_two_or_more_dependent_children", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_in_relationship", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_non_beneficiary", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_payment_share", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owner_weekly_required_payments", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_partner_receiving_accommodation_supplement", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_relevant_weekly_income", + "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_kainga_ora", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_residential_care_funded_under_residential_care_act", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_1", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_2", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_resides_in_area_3", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_section_68_joint_tenant_exception_applies", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_self_contained_area_let_to_residents", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_social_housing_weekly_contributions_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_sole_parent", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_total_premises_area", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_board_and_lodgings_paid", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_boarder_payments_received", + "dtype": "int64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "dtype": "int64" }, { "entity": "family", - "columns": [ - "is_partnered", - "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" - ] - } - ], - "outputs": [ - { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate", + "column": "accommodation_supplement_weekly_rent_paid", "dtype": "float64" + }, + { + "entity": "family", + "column": "accommodation_supplement_weekly_rent_received_from_other_residents", + "dtype": "int64" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "mapping": { + "resource": "concept_mapping", + "path": [], + "encoding": "json" }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "mapping_sha256": { + "resource": "concept_mapping", + "path": [], + "encoding": "sha256" }, - "variables": [ - "jobseeker_support_gross_weekly_rate" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 1 - }, - { - "entity": "person", - "column": "jobseeker_support_youngest_dependent_child_age", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 0 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_gross_weekly_rate", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_gross_rate" - } + "closure": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "json" + }, + "closure_sha256": { + "resource": "axiom_input_closure", + "path": [], + "encoding": "sha256" + }, + "unit_rule": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "json" + }, + "unit_rule_sha256": { + "resource": "benefit_unit_rule", + "path": [], + "encoding": "sha256" + }, + "engine_entity": "Family", + "rulespec_paths": [ + "nz/statutes/social_security/accommodation_supplement/core.yaml" ], - "resource_sha256": { - "resource": "as_rate_bridge", + "knobs": { + "scenario": "encoding_knobs", + "encoding": "json" + }, + "scenario_sha256": { + "scenario": "encoding_knobs", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_reduction_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.VHF.bridge.masks", + "kernel": "calibration.prepare@1", "structural": "none", "population": "nz.v.VHF.housing", - "sources": [ - "rulespec_nz" - ], "inputs": [ - { - "entity": "person", - "columns": [ - "jobseeker_support_applicant_age", - "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", - "jobseeker_support_dependent_children_count", - "jobseeker_support_living_with_parent", - "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", - "jobseeker_support_partner_receives_main_benefit", - "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", - "jobseeker_support_single", - "jobseeker_support_total_income", - "jobseeker_support_transferred_2013_no_dependent_children", - "jobseeker_support_youngest_dependent_child_age", - "main_benefit_income_test_assessable_income", - "sole_parent_support_personal_earnings_used_for_childcare", - "sole_parent_support_total_income", - "supported_living_blind_average_weekly_earnings", - "supported_living_blind_beneficiary_employed", - "supported_living_blind_other_weekly_amounts_from_all_sources", - "supported_living_payment_applicant_age", - "supported_living_payment_beneficiary_personal_earnings", - "supported_living_payment_caring", - "supported_living_payment_dependent_children_count", - "supported_living_payment_partner_receives_main_benefit", - "supported_living_payment_partner_receives_new_zealand_superannuation_or_veterans_pension", - "supported_living_payment_partnered_long_term_residential_care_halving_applies", - "supported_living_payment_restricted_or_blind", - "supported_living_payment_single", - "supported_living_payment_total_income", - "supported_living_payment_totally_blind" - ] - }, { "entity": "family", "columns": [ - "is_partnered", "is_single", - "is_sole_parent", - "n_dependent_children", - "youngest_dependent_child_age" + "n_dependent_children" ] } ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor", - "dtype": "float64" + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_bridge_single_without_dependent_child", + "dtype": "bool" } ], "params": { - "engine_ref": { - "binding": "main_benefits_rates", - "field": "engine_ref" + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "mask_bindings" + ] }, - "period": { - "binding": "main_benefits_rates", - "field": "period" + "references": { + "resource": "holdout_references", + "encoding": "json" }, - "variables": [ - "jobseeker_support_weekly_income_test_reduction" - ], - "input_overrides": [ - { - "entity": "person", - "column": "jobseeker_support_single", - "value": true - }, - { - "entity": "person", - "column": "jobseeker_support_dependent_children_count", - "value": 0 - }, - { - "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 - } - ], - "output_coefficients": [ - { - "variable": "jobseeker_support_weekly_income_test_reduction", - "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_at_anchor" - } - ], - "resource_sha256": { - "resource": "as_rate_bridge", + "references_sha256": { + "resource": "holdout_references", "encoding": "sha256" } - }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + } }, { - "id": "nz.v.VHF.bridge.evaluate.reg18_sole_parent_reduction_after_step", + "id": "nz.v.VHF.bridge.sole_parent_gross_rate", "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.v.VHF.housing", @@ -29378,6 +24454,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -29388,8 +24466,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step", + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", "dtype": "float64" } ], @@ -29403,7 +24481,7 @@ "field": "period" }, "variables": [ - "jobseeker_support_weekly_income_test_reduction" + "jobseeker_support_gross_weekly_rate" ], "input_overrides": [ { @@ -29414,25 +24492,31 @@ { "entity": "person", "column": "jobseeker_support_dependent_children_count", - "value": 0 + "value": 1 }, { "entity": "person", - "column": "jobseeker_support_transferred_2013_no_dependent_children", - "value": false + "column": "jobseeker_support_youngest_dependent_child_age", + "value": 0 }, { "entity": "person", "column": "jobseeker_support_total_income", - "value": 501 + "value": 0 } ], "output_coefficients": [ { - "variable": "jobseeker_support_weekly_income_test_reduction", + "variable": "jobseeker_support_gross_weekly_rate", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_sole_parent_reduction_after_step" + "entity": "family", + "column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } } ], "resource_sha256": { @@ -29440,11 +24524,11 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents." }, { - "id": "nz.v.VHF.bridge.evaluate.reg18_all_other_units_payment_at_anchor", - "kernel": "simulate.counterfactual@1", + "id": "nz.v.VHF.bridge.cutout", + "kernel": "simulate.solve_zero@1", "structural": "none", "population": "nz.v.VHF.housing", "sources": [ @@ -29487,6 +24571,9 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", + "accommodation_supplement_bridge_sole_parent_gross_rate", "is_partnered", "is_single", "is_sole_parent", @@ -29497,8 +24584,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor", + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", "dtype": "float64" } ], @@ -29512,7 +24599,8 @@ "field": "period" }, "variables": [ - "jobseeker_support_net_weekly_payment" + "jobseeker_support_net_weekly_payment", + "jobseeker_support_weekly_income_test_reduction" ], "input_overrides": [ { @@ -29556,7 +24644,7 @@ "entity": "person", "column": "jobseeker_support_single", "source_entity": "family", - "source_column": "is_single" + "source_column": "accommodation_supplement_bridge_single_without_dependent_child" }, { "entity": "person", @@ -29567,31 +24655,66 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" - }, - { - "entity": "person", - "column": "jobseeker_support_total_income", - "value": 500 + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } } ], "output_coefficients": [ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_at_anchor" + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": false + } + }, + { + "variable": "jobseeker_support_weekly_income_test_reduction", + "coefficient": -1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_sole_parent", + "equals": true + } + }, + { + "source_entity": "family", + "source_column": "accommodation_supplement_bridge_sole_parent_gross_rate", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" } ], + "solve_input": { + "entity": "person", + "column": "jobseeker_support_total_income" + }, + "bracket": [ + 0, + 5000 + ], + "tolerance": 1e-09, + "iterations": 43, "resource_sha256": { "resource": "as_rate_bridge", "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout." }, { - "id": "nz.v.VHF.bridge.evaluate.reg18_all_other_units_payment_after_step", + "id": "nz.v.VHF.bridge.base_rate", "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.v.VHF.housing", @@ -29635,6 +24758,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", "is_sole_parent", @@ -29645,8 +24770,8 @@ ], "outputs": [ { - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step", + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", "dtype": "float64" } ], @@ -29715,20 +24840,85 @@ "entity": "person", "column": "jobseeker_support_youngest_dependent_child_age", "source_entity": "family", - "source_column": "youngest_dependent_child_age" + "source_column": "youngest_dependent_child_age", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } }, { "entity": "person", "column": "jobseeker_support_total_income", - "value": 501 + "value": 0 } ], "output_coefficients": [ { "variable": "jobseeker_support_net_weekly_payment", "coefficient": 1, - "entity": "person", - "column": "bridge_evaluation_reg18_all_other_units_payment_after_step" + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": false + } + }, + { + "variable": "jobseeker_support_net_weekly_payment", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "aggregation": "first", + "mask": { + "entity": "family", + "column": "is_partnered", + "equals": true + } + }, + { + "variable": "family_tax_credit_prescribed_amount", + "coefficient": 0.019230769230769232, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_has_dependent_child", + "equals": true + } + } + ], + "components": [ + { + "engine_ref": { + "binding": "family_tax_credits", + "field": "engine_ref" + }, + "period": { + "binding": "family_tax_credits", + "field": "period" + }, + "variables": [ + "family_tax_credit_prescribed_amount" + ], + "input_overrides": [ + { + "entity": "family", + "column": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1 + }, + { + "entity": "family", + "column": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0 + } + ] } ], "resource_sha256": { @@ -29736,7 +24926,7 @@ "encoding": "sha256" } }, - "description": "The engine evaluates this declared bridge component; the hub still must supply the approved final assembly." + "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." }, { "id": "nz.v.VHF.as", diff --git a/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json index d77e3c0b2a..bcadc329a4 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json +++ b/packages/microcosm-build/src/microcosm/build/nz/transport_graph.json @@ -1,7 +1,7 @@ { "schema_version": 1, "country": "nz", - "description": "The NZ transport declaration retains named pending money producers and unresolved reviewed AS bridge assembly. The graph makes no estimate or publication claim.", + "description": "The NZ transport declaration retains named pending money producers. The graph makes no estimate or publication claim.", "export_contract": "export_contract", "sources": [ { @@ -4330,7 +4330,6 @@ ] }, "pending_outputs": [ - "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", "w4 support, release-input coverage and weight audit evidence", "r2c income stand-in and reconciliation", "P1 earnings, Census rent and liquid-assets quantile producers" diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py new file mode 100644 index 0000000000..48c3d9e74f --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py @@ -0,0 +1,666 @@ +"""The packaged reg 17 base rate and reg 18 cutout, run on labelled fixture engines. + +``JobseekerShapeFixture`` copies only the shape of rulespec-nz's +``jobseeker_support_gross_weekly_rate``, ``..._weekly_income_test_reduction`` +and ``..._net_weekly_payment`` formulas. Its default numbers are fixture +values: three of them (the single-with-children rate 521.52, the lower +threshold 160 and the Income Test 3 rate 0.7) and the eldest-child tax credit +7921 reproduce golden-08's compiled quantities; every other number is +invented so the branches differ. None is a statement of NZ law. The tests +execute the packaged node declarations through the real kernels. +""" + +from __future__ import annotations + +import copy +import json +from dataclasses import dataclass +from decimal import Decimal + +import numpy as np +import pandas as pd +import pytest +from hypothesis import assume, given, settings +from hypothesis import strategies as st + +from microcosm.build.transport.compose import ( + TransportGraphConfig, + _artifact_outputs, + load_transport_spec, +) +from microcosm.build.transport.entitlement import _parameter, _rows +from microcosm.build.transport.target_kernels import CalibrationPrepareKernel +from microcosm.frame import ExportContract, Frame, VariableMetadata, WeightKind, Weights +from microcosm.frame.adapters.axiom import NZ_SCHEMA +from microcosm.frame.rules_kernels import ( + SimulateCounterfactualKernel, + SimulateSolveZeroKernel, +) +from microcosm.graph import Node, Owned, Slice +from test_support.microcosm_frame.kernels import _context +from test_support.paths import paths_for + +_FIXTURES = paths_for("microcosm-build").tests / "fixtures/nz" +_SPEC = load_transport_spec("nz") +_BRIDGE = _SPEC["resources"]["as_rate_bridge"] +_BASE = "accommodation_supplement_base_rate_weekly_amount" +_CUTOUT = "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount" +_HAS_CHILD = "accommodation_supplement_bridge_has_dependent_child" +_GROSS = "accommodation_supplement_bridge_sole_parent_gross_rate" +_YOUNGEST = "jobseeker_support_youngest_dependent_child_age" +_JS_BINDINGS = ("main_benefits_rates", "family_tax_credits", "nz_super") +_REFS = {name: f"fixture:{name}" for name in _JS_BINDINGS} +_CONFIG = TransportGraphConfig( + engine_refs=_REFS, create_outputs=(Owned("person", "age", "int64"),) +) + + +@dataclass +class JobseekerShapeFixture: + """Fixture numbers for the Jobseeker Support formula shape; not NZ law.""" + + single_with_children: float = 521.52 + single_youngest_14_or_older: float = 480.10 + single_under_20_living_with_parent: float = 250.0 + single_under_25: float = 300.0 + single_transferred_2013: float = 340.0 + single_standard: float = 360.0 + partner_ineligible_with_children: float = 410.0 + partner_ineligible_without_children: float = 330.0 + both_main_with_children: float = 430.0 + both_main_without_children: float = 310.0 + super_partner_with_children: float = 420.0 + super_partner_without_children: float = 300.0 + no_benefit_partner_with_children: float = 450.0 + no_benefit_partner_without_children: float = 320.0 + lower: float = 160.0 + upper: float = 250.0 + test_1_lower_rate: float = 0.3 + test_1_upper_rate: float = 0.7 + test_3_rate: float = 0.7 + test_4_rate: float = 0.35 + + def gross(self, row): + children = row["jobseeker_support_dependent_children_count"] >= 1 + if row["jobseeker_support_single"]: + if children: + if row[_YOUNGEST] >= 14: + return self.single_youngest_14_or_older + return self.single_with_children + if ( + row["jobseeker_support_applicant_age"] < 20 + and row["jobseeker_support_living_with_parent"] + and row["jobseeker_support_benefit_commenced_on_or_after_1998_07_01"] + ): + return self.single_under_20_living_with_parent + if row["jobseeker_support_applicant_age"] < 25: + return self.single_under_25 + if row["jobseeker_support_transferred_2013_no_dependent_children"]: + return self.single_transferred_2013 + return self.single_standard + if row["jobseeker_support_partner_ineligible_due_to_sanction_or_strike"]: + return ( + self.partner_ineligible_with_children + if children + else self.partner_ineligible_without_children + ) + if row["jobseeker_support_partner_receives_main_benefit"]: + return ( + self.both_main_with_children + if children + else self.both_main_without_children + ) + if row[ + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension" + ]: + return ( + self.super_partner_with_children + if children + else self.super_partner_without_children + ) + return ( + self.no_benefit_partner_with_children + if children + else self.no_benefit_partner_without_children + ) + + def _test_1(self, income): + return ( + min(max(0, income - self.lower), max(0, self.upper - self.lower)) + * self.test_1_lower_rate + + max(0, income - self.upper) * self.test_1_upper_rate + ) + + def reduction(self, row): + income = row["jobseeker_support_total_income"] + if row["jobseeker_support_single"]: + if row["jobseeker_support_dependent_children_count"] >= 1: + return self._test_1(income) + if row["jobseeker_support_transferred_2013_no_dependent_children"]: + return self._test_1(income) + return max(0, income - self.lower) * self.test_3_rate + if ( + row["jobseeker_support_partner_ineligible_due_to_sanction_or_strike"] + or row["jobseeker_support_partner_receives_main_benefit"] + or row[ + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension" + ] + ): + return max(0, income - self.lower) * self.test_4_rate + return max(0, income - self.lower) * self.test_3_rate + + def net(self, row): + return max(0, self.gross(row) - self.reduction(row)) + + +_JS_INPUTS = ( + "jobseeker_support_applicant_age", + "jobseeker_support_benefit_commenced_on_or_after_1998_07_01", + "jobseeker_support_dependent_children_count", + "jobseeker_support_living_with_parent", + "jobseeker_support_partner_ineligible_due_to_sanction_or_strike", + "jobseeker_support_partner_receives_main_benefit", + "jobseeker_support_partner_receives_new_zealand_superannuation_or_veterans_pension", + "jobseeker_support_single", + "jobseeker_support_total_income", + "jobseeker_support_transferred_2013_no_dependent_children", + _YOUNGEST, +) + + +class _FixtureEngine: + """Engine protocol double that records each input column it receives.""" + + entity = "person" + inputs: tuple[str, ...] = () + outputs: tuple[str, ...] = () + + def __init__(self): + self.received: list[pd.DataFrame] = [] + + def entity_schema(self): + return NZ_SCHEMA + + def variables(self): + return self.inputs + + def variable_metadata(self, name): + if name not in self.outputs: + raise ValueError("Input variables have no engine output metadata") + return VariableMetadata( + name=name, entity=self.entity, dtype="float", period="year" + ) + + def export_contract(self): + return ExportContract.empty() + + def write_dataset(self, bundle, path, period): + return None + + def _batch(self, table): + """Read inputs by column dtype, as the Axiom adapter's batch builder does.""" + batch = {} + for name in self.inputs: + column = table[name] + kind = column.dtype.kind + if kind == "b": + batch[name] = column.to_numpy(dtype=bool) + elif kind in ("i", "u"): + batch[name] = column.to_numpy(dtype=np.int64) + elif kind == "f": + batch[name] = column.to_numpy(dtype=np.float64) + else: + raise ValueError(f"Column {name!r} has dtype kind {kind!r}.") + return batch + + +class JobseekerEngine(_FixtureEngine): + inputs = _JS_INPUTS + outputs = ( + "jobseeker_support_gross_weekly_rate", + "jobseeker_support_weekly_income_test_reduction", + "jobseeker_support_net_weekly_payment", + ) + + def __init__(self, schedule=None): + super().__init__() + self.schedule = JobseekerShapeFixture() if schedule is None else schedule + + def materialize(self, bundle, variables, period): + assert period == "2026-27" + table = bundle.table("person") + self.received.append(table.copy()) + batch = self._batch(table) + rows = [ + {name: batch[name][index] for name in self.inputs} + for index in range(len(table)) + ] + functions = { + "jobseeker_support_gross_weekly_rate": self.schedule.gross, + "jobseeker_support_weekly_income_test_reduction": self.schedule.reduction, + "jobseeker_support_net_weekly_payment": self.schedule.net, + } + return { + name: np.asarray([functions[name](row) for row in rows], dtype=np.float64) + for name in variables + } + + +class TaxCreditEngine(_FixtureEngine): + """Prescribed amount = care units times fixture annual amounts.""" + + entity = "family" + inputs = ( + "family_tax_credit_eldest_dependent_child_care_units", + "family_tax_credit_subsequent_dependent_child_care_units", + ) + outputs = ("family_tax_credit_prescribed_amount",) + eldest = 7921.0 + subsequent = 6438.0 + + def materialize(self, bundle, variables, period): + table = bundle.table("family") + self.received.append(table.copy()) + batch = self._batch(table) + return { + "family_tax_credit_prescribed_amount": batch[self.inputs[0]] * self.eldest + + batch[self.inputs[1]] * self.subsequent + } + + +def _row(node_id): + for row, scenario in _rows(_SPEC)[0]: + if row["id"] == node_id: + return copy.deepcopy(row), scenario + raise AssertionError(f"No packaged node {node_id!r}.") + + +def _node(row, scenario): + return Node( + row["id"], + row["kernel"], + inputs=tuple( + Slice(item["entity"], tuple(item["columns"])) for item in row["inputs"] + ), + outputs=tuple( + Owned(item["entity"], item["column"], item["dtype"]) + for item in row["outputs"] + ), + params={ + key: _parameter(_SPEC, _CONFIG, value, scenario) + for key, value in row["params"].items() + }, + artifact_outputs=_artifact_outputs(row), + ) + + +@dataclass +class Unit: + """One invented benefit unit: its adults' and children's ages.""" + + partnered: bool = False + children: tuple[int, ...] = () + receipt_group: str = "beneficiary" + super_amount: float = 0.0 + + +def _frame(units): + closure = _SPEC["resources"]["axiom_input_closure"] + rate_path = next( + row["rulespec_path"] + for row in _SPEC["resources"]["axiom_rules_bindings"]["bindings"] + if row["id"] == "main_benefits_rates" + ) + person, family = [], [] + next_person = 1 + for index, unit in enumerate(units): + family_id = 100 + index + adults = 2 if unit.partnered else 1 + for member in range(adults + len(unit.children)): + row = { + "person_id": next_person, + "person_household_id": family_id, + "person_family_id": family_id, + "nz_super_weekly_amount_before_tax": unit.super_amount + if member < adults + else 0.0, + } + for entry in closure["entries"]: + if entry["rulespec_path"] == rate_path and entry["entity"] == "Person": + row[entry["input"]] = entry.get("value", 0) + person.append(row) + next_person += 1 + youngest = min(unit.children) if unit.children else None + family.append( + { + "family_id": family_id, + "n_dependent_children": len(unit.children), + "is_partnered": unit.partnered, + "is_single": not unit.partnered, + "is_sole_parent": not unit.partnered and bool(unit.children), + "youngest_dependent_child_age": youngest, + "receipt_group": unit.receipt_group, + } + ) + family = pd.DataFrame(family) + family["youngest_dependent_child_age"] = family[ + "youngest_dependent_child_age" + ].astype("Int64") + family["receipt_group"] = family["receipt_group"].astype("string") + ids = family["family_id"].to_numpy() + return Frame( + { + "person": pd.DataFrame(person), + "household": pd.DataFrame({"household_id": ids}), + "family": family, + }, + NZ_SCHEMA, + {"household": Weights(np.ones(len(ids)), WeightKind.DESIGN)}, + ) + + +def _engines(schedule=None): + return { + _REFS["main_benefits_rates"]: JobseekerEngine(schedule), + _REFS["family_tax_credits"]: TaxCreditEngine(), + } + + +def _run(frame, row, scenario, engines): + node = _node(row, scenario) + if row["kernel"] == "calibration.prepare@1": + kernel = CalibrationPrepareKernel() + elif row["kernel"] == "simulate.solve_zero@1": + kernel = SimulateSolveZeroKernel(engines) + else: + kernel = SimulateCounterfactualKernel(engines) + result = kernel.run(_context(frame, node, weighted_entities=("household",))) + for (entity, column), values in result.columns.items(): + frame.table(entity)[column] = values.to_numpy() + return result + + +def _bridge(units, *, schedule=None, prefix="nz.as", branch="nz.scn.S0"): + """Run masks, gross rate, cutout and the branch's base rate in order.""" + frame = _frame(units) + engines = _engines(schedule) + for node_id in ( + f"{prefix}.bridge.masks", + f"{prefix}.bridge.sole_parent_gross_rate", + f"{prefix}.bridge.cutout", + f"{branch}.bridge.base_rate", + ): + _run(frame, *_row(node_id), engines) + family = frame.table("family") + ids = family["family_id"] + base = dict(zip(ids, family[_BASE], strict=True)) + return frame, engines, base, dict(zip(ids, family[_CUTOUT], strict=True)) + + +# --- Golden-08 -------------------------------------------------------------- + + +def test_fixture_run_reproduces_golden_08_base_rate_and_cutout(): + """Golden-08: a sole parent with children aged 0, 1 and 10 and no income. + + Tolerance: 1e-9 absolute, the solve's declared tolerance; the base rate's + float64 sum carries representation error near 1e-13. + """ + golden = json.loads( + (_FIXTURES / "axiom_oracle_golden_08_accommodation_supplement.json").read_text() + ) + (case,) = _BRIDGE["differential_expectations"]["cases"] + assert case["request_id"] == "golden-08" and case["branch"] == "sole_parent" + _, _, base, cutout = _bridge([Unit(children=(0, 1, 10))]) + for column, actual in ((_BASE, base[100]), (_CUTOUT, cutout[100])): + expected = Decimal(case[column]) + assert Decimal(golden["inputs"][column]["value"]) == expected + assert abs(Decimal(repr(actual)) - expected) <= Decimal("1e-9"), column + + +# --- Reg 18 ----------------------------------------------------------------- + +_BOUNDED = settings(max_examples=40, deadline=None, derandomize=True) + + +@_BOUNDED +@given( + lower=st.floats(min_value=0, max_value=400), + slope=st.floats(min_value=0.05, max_value=1), + rate=st.floats(min_value=1, max_value=1500), + children=st.lists(st.integers(min_value=0, max_value=17), min_size=1, max_size=3), +) +def test_solved_sole_parent_cutout_equals_lower_plus_rate_over_slope( + lower, slope, rate, children +): + assume(lower + rate / slope < 4999) + schedule = JobseekerShapeFixture( + single_with_children=rate, lower=lower, test_3_rate=slope + ) + _, _, _, cutout = _bridge([Unit(children=tuple(children))], schedule=schedule) + assert abs(cutout[100] - (lower + rate / slope)) <= 1e-9 + + +@_BOUNDED +@given( + lower=st.floats(min_value=0, max_value=450), + test_3=st.floats(min_value=0.05, max_value=1), + test_4=st.floats(min_value=0.05, max_value=1), + single=st.floats(min_value=1, max_value=1500), + couple=st.floats(min_value=1, max_value=1500), + couple_children=st.lists( + st.integers(min_value=0, max_value=17), min_size=0, max_size=2 + ), +) +def test_solved_other_unit_cutout_equals_the_harness_anchor_extrapolation( + lower, test_3, test_4, single, couple, couple_children +): + schedule = JobseekerShapeFixture( + single_standard=single, + both_main_with_children=couple, + both_main_without_children=couple, + lower=lower, + test_3_rate=test_3, + test_4_rate=test_4, + ) + + def payment(gross, rate, income): + return max(0.0, gross - max(0.0, income - lower) * rate) + + expected = [] + for gross, rate in ((single, test_3), (couple, test_4)): + at, after = payment(gross, rate, 500), payment(gross, rate, 501) + assume(after > 0 and lower + gross / rate < 4999) + expected.append(500 + at / (at - after)) + _, _, _, cutout = _bridge( + [Unit(), Unit(partnered=True, children=tuple(couple_children))], + schedule=schedule, + ) + for actual, harness in zip((cutout[100], cutout[101]), expected, strict=True): + assert abs(actual - harness) <= 1e-9 * max(1.0, harness) + + +def test_solve_covers_a_zero_anchor_payment_where_the_extrapolation_refuses(): + schedule = JobseekerShapeFixture(single_standard=40.0, lower=160, test_3_rate=0.7) + anchor = { + **{name: 0 for name in _JS_INPUTS}, + "jobseeker_support_single": True, + "jobseeker_support_applicant_age": 25, + "jobseeker_support_total_income": 500, + } + assert schedule.net(anchor) == 0 + _, _, _, cutout = _bridge([Unit()], schedule=schedule) + assert abs(cutout[100] - (160 + 40 / 0.7)) <= 1e-9 + + +def test_sole_parent_reaches_income_test_3_not_income_test_1(): + # Income Test 1's two tiers give 250 + (521.52 - 27) / 0.7 = 956.46. + _, _, _, cutout = _bridge([Unit(children=(4,))]) + assert abs(cutout[100] - (160 + 521.52 / 0.7)) <= 1e-9 + assert abs(cutout[100] - (250 + (521.52 - 27) / 0.7)) > 1 + + +def test_sole_parent_cutout_uses_the_gross_rate_overrides_not_the_units_schedule(): + # A youngest child of 15 selects the 14-or-older rate on the unit's own + # schedule; reg 18(3)(b) reads the single-with-children rate. + frame, _, _, cutout = _bridge([Unit(children=(15,)), Unit()]) + assert frame.table("family")[_GROSS].tolist() == [521.52, 0.0] + assert abs(cutout[100] - (160 + 521.52 / 0.7)) <= 1e-9 + assert abs(cutout[100] - (160 + 480.10 / 0.7)) > 1 + + +def test_upper_bracket_refuses_a_positive_residual(): + schedule = JobseekerShapeFixture(single_with_children=5000.0) + with pytest.raises(ValueError, match="upper endpoint has a positive residual"): + _bridge([Unit(children=(1,))], schedule=schedule) + + +def test_cutout_declaration_matches_the_ruling(): + row, _ = _row("nz.as.bridge.cutout") + params = row["params"] + assert (params["bracket"], params["tolerance"], params["iterations"]) == ( + [0, 5000], + 1e-9, + 43, + ) + assert np.ldexp(5000.0, -43) <= params["tolerance"] + assert params["solve_input"] == { + "entity": "person", + "column": "jobseeker_support_total_income", + } + assert not {"quantum", "certificate_margin"} & set(params) + terms = params["output_coefficients"] + assert [(term.get("variable"), term["coefficient"]) for term in terms] == [ + ("jobseeker_support_net_weekly_payment", 1), + ("jobseeker_support_weekly_income_test_reduction", -1), + (None, 1), + ] + assert terms[0]["mask"]["equals"] is False + assert terms[1]["mask"]["equals"] is True + assert terms[2]["source_column"] == _GROSS + overrides = {item["column"]: item for item in params["input_overrides"]} + assert overrides["jobseeker_support_single"]["source_column"] == ( + "accommodation_supplement_bridge_single_without_dependent_child" + ) + assert "jobseeker_support_total_income" not in overrides + assert _BRIDGE["outputs"][1]["method"] == "solve_zero" + assert "awaiting D1" not in json.dumps(_BRIDGE) + + +# --- Reg 17 ----------------------------------------------------------------- + + +def test_base_rate_sums_jobseeker_once_or_twice_and_the_credit_only_with_a_child(): + units = [ + Unit(), + Unit(partnered=True), + Unit(partnered=True, children=(3, 9)), + Unit(children=(0, 1, 10)), + ] + _, engines, base, _ = _bridge(units) + schedule = engines[_REFS["main_benefits_rates"]].schedule + credit = TaxCreditEngine.eldest / 52 + expected = { + 100: schedule.single_standard, + 101: 2 * schedule.both_main_without_children, + 102: 2 * schedule.both_main_with_children + credit, + 103: schedule.single_with_children + credit, + } + for family_id, value in expected.items(): + assert abs(base[family_id] - value) <= 1e-9, family_id + + +def test_base_rate_declaration_matches_the_ruling(): + row, _ = _row("nz.scn.S0.bridge.base_rate") + params = row["params"] + terms = params["output_coefficients"] + shape = [ + ( + term["variable"], + term["coefficient"], + term.get("aggregation"), + term["mask"]["column"], + term["mask"]["equals"], + ) + for term in terms + ] + assert shape == [ + ("jobseeker_support_net_weekly_payment", 1, "first", "is_partnered", False), + ("jobseeker_support_net_weekly_payment", 2, "first", "is_partnered", True), + ("family_tax_credit_prescribed_amount", 1 / 52, None, _HAS_CHILD, True), + ] + assert terms[2]["engine_ref"] == { + "binding": "family_tax_credits", + "field": "engine_ref", + } + (component,) = params["components"] + assert component["engine_ref"]["binding"] == "family_tax_credits" + + +def _youngest_received(units, *, masked=True): + row, scenario = _row("nz.scn.S0.bridge.base_rate") + if not masked: + for item in row["params"]["input_overrides"]: + if item["column"] == _YOUNGEST: + item.pop("mask") + frame = _frame(units) + engines = _engines() + _run(frame, *_row("nz.as.bridge.masks"), engines) + try: + _run(frame, row, scenario, engines) + finally: + received = engines[_REFS["main_benefits_rates"]].received + return received[-1][_YOUNGEST] + + +def test_a_childless_family_keeps_the_closure_default_youngest_child_age(): + units = [Unit(), Unit(children=(4, 7))] + received = _youngest_received(units) + # 0 for the childless family's adult, 4 for the parent and both children. + assert pd.Series(received).to_numpy(dtype=np.int64).tolist() == [0, 4, 4, 4] + + +def test_unmasked_youngest_child_override_carries_a_missing_age_to_the_engine(): + """Without the mask the childless unit's null age reaches the engine input. + + pandas 3 reads the nullable Int64 source as float64 with NaN, so the + adapter's int64 conversion raises under numpy's invalid-value check and + otherwise yields int64's minimum. + """ + units = [Unit(), Unit(children=(4, 7))] + received = _youngest_received(units, masked=False) + assert received.isna().tolist() == [True, False, False, False] + with np.errstate(invalid="raise"), pytest.raises(FloatingPointError): + pd.Series(received).to_numpy(dtype=np.int64) + + +def test_bridge_scratch_columns_stay_out_of_the_export_contract(): + contract = _SPEC["resources"]["export_contract"] + persisted = set(contract["required"]) | set(contract["optional"]) + persisted |= { + column + for roster in contract["entity_slices"].values() + for columns in roster.values() + for column in columns + } + scratch = {column["name"] for column in _BRIDGE["mask_bindings"]["columns"]} + assert not persisted & (scratch | {_GROSS}) + + +def test_every_as_population_runs_its_own_bridge_and_every_branch_its_base_rate(): + rows = {row["id"]: row for row, _ in _rows(_SPEC)[0]} + scenarios = _SPEC["resources"]["scenarios"]["scenarios"] + for node_id in ("masks", "sole_parent_gross_rate", "cutout"): + assert rows[f"nz.as.bridge.{node_id}"]["population"] == "nz.as.bridge" + shared = rows["nz.as.bridge"] + assert (shared["structural"], shared["base"]) == ("filter", "nz.as") + for scenario in scenarios: + if scenario["tier"] == "entitlement": + prefix, population = f"nz.scn.{scenario['id']}", f"nz.scn.{scenario['id']}" + assert rows[prefix]["base"] == "nz.as.bridge" + else: + prefix = f"nz.v.{scenario['id']}" + population = prefix + ".housing" + for node_id in ("masks", "sole_parent_gross_rate", "cutout"): + assert rows[f"{prefix}.bridge.{node_id}"]["population"] == population + assert rows[f"{prefix}.bridge.base_rate"]["population"] == population diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py index 236e06caff..45535209c4 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py @@ -212,7 +212,9 @@ def test_the_bridge_values_come_from_their_nodes(self) -> None: assert { ref.name: node for ref, node in CLOSURE.graph_node_inputs().items() } == { - "accommodation_supplement_base_rate_weekly_amount": "nz.as.bridge.base_rate", + "accommodation_supplement_base_rate_weekly_amount": ( + "nz.scn.S0.bridge.base_rate" + ), "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount": ( "nz.as.bridge.cutout" ), diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index 12c8473449..c1216884c1 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -359,7 +359,7 @@ def lineage(population): variant = scenario["tier"] == "calibration" prefix = ("nz.v." if variant else "nz.scn.") + scenario["id"] calibration = prefix + ".calibrate" if variant else "nz.calibrate" - for suffix in (".as", ".positive_payment", ".gap", ".bridge.evaluate.reg17_1"): + for suffix in (".as", ".positive_payment", ".gap", ".bridge.base_rate"): row = by_id[prefix + suffix] assert calibration in lineage(row["population"]), row["id"] for row in rows: @@ -381,9 +381,7 @@ def lineage(population): @pytest.mark.parametrize("encoding", ["json", "sha256"]) def test_nz_variant_holdout_selection_refuses_before_calibration(encoding): - spec, config = _synthetic_nz_composition_spec_and_config( - admit_unimplemented_roots=True - ) + spec, config = _nz_composition_spec_and_config() variant = next( row for row in spec["resources"]["scenarios"]["scenarios"] if row["id"] == "V1" ) @@ -621,12 +619,21 @@ def test_nz_executable_support_keeps_region99_separate_from_ta999(): ) -def _synthetic_nz_composition_spec_and_config(*, admit_unimplemented_roots): - """Supply compiler-only toy pins and an invented CREATE inventory. +_BRIDGE_AND_REGION = { + ("person", "region_code"), + ("family", "accommodation_supplement_base_rate_weekly_amount"), + ("family", "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount"), +} + + +def _nz_composition_spec_and_config(): + """Supply compiler-only toy pins, the three money producers and CREATE's inventory. The synthetic quantile declarations certify no distribution or runtime result. They only remove the three deliberate money-producer gaps while the compiler checks the complete packaged node and population structure. + CREATE's inventory holds canonical concepts and unit outputs only: no + bridge or region column enters as a root. """ from microcosm.graph import Owned @@ -680,13 +687,7 @@ def add_quantiles(rows): for item in row.get("inputs", ()) for column in item["columns"] } - produced - unimplemented = { - ("family", "accommodation_supplement_base_rate_weekly_amount"), - ( - "family", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - ), - } + assert needed.isdisjoint(_BRIDGE_AND_REGION), sorted(needed & _BRIDGE_AND_REGION) from microcosm.frame import EntitySchema from microcosm.frame.concepts import CONCEPTS, TransportRule from microcosm.frame.unit_construction import BenefitUnitRule @@ -718,10 +719,6 @@ def add_quantiles(rows): (rule.entity, rule.source_household_column): "string", } ) - if admit_unimplemented_roots: - inventory.update({key: "float64" for key in unimplemented}) - else: - needed -= unimplemented assert needed <= inventory.keys(), ( "The declaration reads donor columns outside the canonical concepts and actual CREATE/unit outputs", sorted(needed - inventory.keys()), @@ -739,60 +736,34 @@ def add_quantiles(rows): return spec, config -def test_nz_packaged_graph_names_region_and_bridge_roots_without_inventing_producers(): +def test_nz_packaged_graph_produces_region_and_bridge_columns_from_named_nodes(): spec = _spec() rows = _instantiated_nz_rows(spec) - outputs = { - (output["entity"], output["column"]) - for row in rows - for output in row.get("outputs", ()) - } - inputs = { - (item["entity"], column) - for row in rows - for item in row.get("inputs", ()) - for column in item["columns"] - } - missing = { - ("family", "accommodation_supplement_base_rate_weekly_amount"), - ( - "family", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", - ), + producers = {} + for row in rows: + for output in row.get("outputs", ()): + producers.setdefault((output["entity"], output["column"]), set()).add( + row["kernel"] + ) + assert producers["person", "region_code"] == {"geography.person_location@1"} + assert producers["family", "accommodation_supplement_base_rate_weekly_amount"] == { + "simulate.counterfactual@1" } - assert missing <= inputs - assert missing.isdisjoint(outputs) - # geography.person_location@1 now owns the person region code. - (producer,) = [ - row - for row in rows - if ("person", "region_code") - in {(item["entity"], item["column"]) for item in row.get("outputs", ())} - ] - assert (producer["id"], producer["kernel"]) == ( - "nz.geo.person", - "geography.person_location@1", - ) - assert spec["resources"]["transport_graph"]["pending_outputs"] - - -def test_nz_packaged_graph_compile_refuses_unimplemented_region_and_bridge_roots(): - from microcosm.graph import GraphError - - spec, config = _synthetic_nz_composition_spec_and_config( - admit_unimplemented_roots=False - ) - with pytest.raises( - GraphError, match="region_code|base_rate_weekly_amount|cutout_weekly_amount" - ): - compose.compose_transport_graph(spec, config) + assert producers[ + "family", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + ] == {"simulate.solve_zero@1"} + pending = " ".join(spec["resources"]["transport_graph"]["pending_outputs"]) + assert "region" not in pending and "Reg 17" not in pending -def test_nz_packaged_graph_compiles_with_explicitly_synthetic_missing_root_inventory(): +def test_nz_packaged_graph_compiles_with_only_pins_and_money_producers(): from microcosm.graph import compile_graph - spec, config = _synthetic_nz_composition_spec_and_config( - admit_unimplemented_roots=True + spec, config = _nz_composition_spec_and_config() + # No bridge or region root stays synthetic: CREATE declares none of them. + assert _BRIDGE_AND_REGION.isdisjoint( + (owned.entity, owned.column) for owned in config.create_outputs ) graph = compose.compose_transport_graph(spec, config) compiled = compile_graph(graph) diff --git a/tools/build_nz_entitlement_graph.py b/tools/build_nz_entitlement_graph.py index e3ea77ed42..a3645990d2 100644 --- a/tools/build_nz_entitlement_graph.py +++ b/tools/build_nz_entitlement_graph.py @@ -1,10 +1,16 @@ #!/usr/bin/env python3 """Generate NZ's post-calibration entitlement branch declarations. -The bridge evaluations preserve the committed reg 17/18 recipes. No kernel -currently assembles their nonlinear expressions, so the graph deliberately -leaves the two final bridge inputs without a producer. The hub must close -that conflict before activation; this generator never substitutes a schedule. +The Accommodation Supplement bridge follows ``as_rate_bridge.json``. On each +population that runs the AS engine, a ``calibration.prepare@1`` node writes +the family masks, a ``simulate.counterfactual@1`` node writes the reg 18(3)(b) +sole-parent gross rate and a ``simulate.solve_zero@1`` node writes the reg 18 +cutout. The shared ``nz.as.bridge`` population, a FILTER branch of ``nz.as``, +runs these once for every entitlement scenario, and each variant repeats them +on its own housing population. An extension node on ``nz.as`` itself would +re-key the skeleton's ``nz.terminal``, which composition refuses. Each +branch runs its own reg 17 base-rate counterfactual. Every coefficient, mask +and override comes from the resource; this generator adds no schedule. """ from __future__ import annotations @@ -12,18 +18,17 @@ import argparse import copy import json +from fractions import Fraction from pathlib import Path ROOT = Path(__file__).resolve().parents[1] NZ = ROOT / "packages/microcosm-build/src/microcosm/build/nz" AS_BINDING = "accommodation_supplement" -BRIDGE_COLUMNS = ( - "accommodation_supplement_base_rate_weekly_amount", - "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", -) PAYMENT = "accommodation_supplement_rounded_weekly_payment" POSITIVE = "accommodation_supplement_positive_payment_indicator" ENTITIES = ["person", "household", "family"] +#: The FILTER branch of nz.as on which the shared bridge nodes run. +SHARED_BRIDGE = "nz.as.bridge" def read(nz, name): @@ -72,82 +77,225 @@ def binding(name, field="engine_ref"): return {"binding": name, "field": field} -def _overrides(rows): +def _unit(attribute): + entity, _, column = attribute.partition(".") + return entity, column + + +def _mask(row): + entity, column = _unit(row["unit_attribute"]) + return {"entity": entity, "column": column, "equals": row["equals"]} + + +def _overrides(rows, entity="person"): + """Translate the resource's override rows into kernel override records.""" result = [] for row in rows: - item = {"entity": "person", "column": row["variable"]} + item = {"entity": entity, "column": row["variable"]} if "unit_attribute" in row: - entity, _, column = row["unit_attribute"].partition(".") - item.update(source_entity=entity, source_column=column) + source_entity, column = _unit(row["unit_attribute"]) + item.update(source_entity=source_entity, source_column=column) else: item["value"] = row["value"] + if "mask" in row: + item["mask"] = _mask(row["mask"]) result.append(item) return result -def bridge_evaluations(nz, population, prefix): - """Expose the declared engine calls while leaving final assembly pending.""" - bridge = read(nz, "as_rate_bridge") +def _coefficient(value): + return float(Fraction(value)) if isinstance(value, str) else value + + +def _term(row, target, primary, bindings): + """One output coefficient on the family target column.""" + if "source" in row: + entity, column = _unit(row["source"]) + return { + "source_entity": entity, + "source_column": column, + "coefficient": _coefficient(row["coefficient"]), + "entity": "family", + "column": target, + } + term = { + "variable": row["variable"], + "coefficient": _coefficient(row["coefficient"]), + "entity": "family", + "column": target, + } + if row["binding"] != primary: + term["engine_ref"] = binding(row["binding"]) + if bindings[row["binding"]]["entity"] == "person": + term["aggregation"] = row["aggregation"] + if "mask" in row: + term["mask"] = _mask(row["mask"]) + return term + + +def _bridge_inputs(nz, *extra): bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} closure = read(nz, "axiom_input_closure") rate_path = bindings["main_benefits_rates"]["rulespec_path"] rate_inputs = [ entry["input"] for entry in closure["entries"] - if entry["rulespec_path"] == rate_path + if entry["rulespec_path"] == rate_path and entry["entity"] == "Person" ] - family_inputs = [ + family = [ "n_dependent_children", "is_partnered", "is_single", "is_sole_parent", "youngest_dependent_child_age", + *( + column["name"] + for column in read(nz, "as_rate_bridge")["mask_bindings"]["columns"] + ), + *extra, ] - result = [] - evaluations = [] - reg17, reg18 = bridge["outputs"] - for index, term in enumerate(reg17["terms"]): - evaluations.append((f"reg17_{index}", term)) - for branch in reg18["branches"]: - for evaluation in branch["evaluations"]: - evaluations.append((f"reg18_{branch['id']}_{evaluation['id']}", evaluation)) - for label, evaluation in evaluations: - name = evaluation["binding"] - entity = bindings[name]["entity"] - inputs = [slices("person", rate_inputs), slices("family", family_inputs)] - overrides = _overrides(evaluation["input_overrides"]) - if entity == "family": - for override in overrides: - override["entity"] = "family" - variable = evaluation["variable"] - column = f"bridge_evaluation_{label}" - result.append( - node( - f"{prefix}.bridge.evaluate.{label}", - "simulate.counterfactual@1", - population, - sources=["rulespec_nz"], - inputs=inputs, - outputs=[owned(entity, column)], - params={ - "engine_ref": binding(name), - "period": binding(name, "period"), - "variables": [variable], - "input_overrides": overrides, - "output_coefficients": [ - { - "variable": variable, - "coefficient": 1, - "entity": entity, - "column": column, - } - ], - "resource_sha256": select("as_rate_bridge", "sha256"), - }, - description="The engine evaluates this declared bridge component; the hub still must supply the approved final assembly.", + return [slices("person", rate_inputs), slices("family", family)] + + +def bridge_masks(nz, population, prefix): + """The family booleans the equality-only bridge masks compare.""" + bridge = read(nz, "as_rate_bridge") + return node( + f"{prefix}.bridge.masks", + "calibration.prepare@1", + population, + inputs=[ + slices(entity, columns) + for entity, columns in bridge["mask_bindings"]["required_inputs"].items() + ], + outputs=[ + owned(column["entity"], column["name"], "bool") + for column in bridge["mask_bindings"]["columns"] + ], + params={ + "bindings": select("as_rate_bridge", "json", "mask_bindings"), + "references": select("holdout_references"), + "references_sha256": select("holdout_references", "sha256"), + }, + ) + + +def _counterfactual_params(primary, overrides, terms, components=()): + params = { + "engine_ref": binding(primary), + "period": binding(primary, "period"), + "variables": list( + dict.fromkeys( + term["variable"] + for term in terms + if "variable" in term and "engine_ref" not in term ) + ), + "input_overrides": overrides, + "output_coefficients": terms, + } + if components: + params["components"] = list(components) + params["resource_sha256"] = select("as_rate_bridge", "sha256") + return params + + +def cutout_nodes(nz, population, prefix): + """Reg 18: the sole-parent gross rate, then one zero-solve per population.""" + bridge = read(nz, "as_rate_bridge") + bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} + reg18 = bridge["outputs"][1] + gross = reg18["gross_rate"] + gross_term = { + "variable": gross["variable"], + "coefficient": gross["coefficient"], + "entity": "family", + "column": gross["column"], + "aggregation": gross["aggregation"], + "mask": _mask(gross["mask"]), + } + solve = reg18["solve"] + target = reg18["target_input"] + terms = [_term(row, target, solve["binding"], bindings) for row in solve["terms"]] + params = _counterfactual_params( + solve["binding"], _overrides(solve["input_overrides"]), terms + ) + resource = params.pop("resource_sha256") + params.update( + solve_input=solve["solve_input"], + bracket=solve["bracket"], + tolerance=solve["tolerance"], + iterations=solve["iterations"], + resource_sha256=resource, + ) + return [ + node( + f"{prefix}.bridge.{gross['id']}", + gross["kernel"], + population, + sources=["rulespec_nz"], + inputs=_bridge_inputs(nz), + outputs=[owned("family", gross["column"])], + params=_counterfactual_params( + gross["binding"], _overrides(gross["input_overrides"]), [gross_term] + ), + description="The engine evaluates the reg 18(3)(b) sole-parent Jobseeker Support rate for sole parents.", + ), + node( + f"{prefix}.bridge.cutout", + reg18["kernel"], + population, + sources=["rulespec_nz"], + inputs=_bridge_inputs(nz, gross["column"]), + outputs=[owned("family", target)], + params=params, + description="The engine's Jobseeker Support residual reaches zero at the reg 18 non-beneficiary income cutout.", + ), + ] + + +def base_rate_node(nz, population, prefix): + """Reg 17: one counterfactual over the main-benefit and tax-credit modules.""" + bridge = read(nz, "as_rate_bridge") + bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} + reg17 = bridge["outputs"][0] + primary = reg17["primary_binding"] + target = reg17["target_input"] + components = [] + for component in reg17["components"]: + name = component["binding"] + components.append( + { + "engine_ref": binding(name), + "period": binding(name, "period"), + "variables": [ + term["variable"] + for term in reg17["terms"] + if term["binding"] == name + ], + "input_overrides": _overrides( + component["input_overrides"], bindings[name]["entity"] + ), + } ) - return result + terms = [_term(row, target, primary, bindings) for row in reg17["terms"]] + return node( + f"{prefix}.bridge.base_rate", + reg17["kernel"], + population, + sources=["rulespec_nz"], + inputs=_bridge_inputs(nz), + outputs=[owned("family", target)], + params=_counterfactual_params( + primary, _overrides(reg17["input_overrides"]), terms, components + ), + description="The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit.", + ) + + +def shared_bridge_nodes(nz, population, prefix): + """Masks, the sole-parent gross rate and the cutout, once per population.""" + return [bridge_masks(nz, population, prefix), *cutout_nodes(nz, population, prefix)] def group_node(nz, population, prefix, *, rewrite=False, scenario=True): @@ -252,7 +400,7 @@ def as_nodes(nz, population, prefix, scenario, *, baseline=False): "accommodation_supplement_other_funding_exclusion_not_applies", } return [ - *bridge_evaluations(nz, population, prefix), + base_rate_node(nz, population, prefix), node( f"{prefix}.as", "simulate.rules_by_ref@1", @@ -318,14 +466,21 @@ def documents(nz=NZ): from build_nz_transport_graph import calibration_nodes scenarios = read(nz, "scenarios")["scenarios"] + # An extension node on nz.as would re-key the skeleton's nz.terminal + # FILTER, so the shared bridge runs on a FILTER branch of nz.as that every + # entitlement scenario descends from. + shared = [ + boundary(SHARED_BRIDGE, "nz.as"), + *shared_bridge_nodes(nz, SHARED_BRIDGE, "nz.as"), + ] entitlement = [ - boundary("nz.scn.{scenario}", "nz.as"), + boundary("nz.scn.{scenario}", SHARED_BRIDGE), *as_nodes(nz, "nz.scn.{scenario}", "nz.scn.{scenario}", "{scenario}"), ] for scenario in scenarios: if scenario["tier"] == "entitlement": prefix = f"nz.scn.{scenario['id']}" - rows = [boundary(prefix, "nz.as")] + rows = [boundary(prefix, SHARED_BRIDGE)] if scenario["id"] in {"S1", "S2", "S3"}: rows.append(group_node(nz, prefix, prefix, rewrite=True)) rows.extend( @@ -358,6 +513,7 @@ def documents(nz=NZ): [ boundary(population, calibrated), group_node(nz, population, prefix), + *shared_bridge_nodes(nz, population, prefix), *as_nodes(nz, population, prefix, scenario["id"]), ] ) @@ -365,7 +521,7 @@ def documents(nz=NZ): return { "entitlement_graph": { "schema_version": 1, - "nodes": [], + "nodes": shared, "scenario_nodes": entitlement, "scenario_gap": "nz.scn.{scenario}.gap", "variant_gap": "nz.v.{variant}.gap", diff --git a/tools/build_nz_transport_graph.py b/tools/build_nz_transport_graph.py index bc5337ca80..c52d9f2fed 100644 --- a/tools/build_nz_transport_graph.py +++ b/tools/build_nz_transport_graph.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 """Generate NZ transport declarations without reading donor records. -The graph leaves quantile producers and the reviewed AS assembly unresolved. -It declares the executable wiring that the current shared kernels support. +The graph leaves the three money quantile producers unresolved and names +them as pending. It declares the executable wiring the shared kernels support. """ from __future__ import annotations @@ -837,7 +837,7 @@ def documents(): graph = { "schema_version": 1, "country": "nz", - "description": "The NZ transport declaration retains named pending money producers and unresolved reviewed AS bridge assembly. The graph makes no estimate or publication claim.", + "description": "The NZ transport declaration retains named pending money producers. The graph makes no estimate or publication claim.", "export_contract": "export_contract", "sources": [ {"name": name, "codec": codec} @@ -856,7 +856,6 @@ def documents(): "terminal": ["nz.export.prepare", "nz.package"], }, "pending_outputs": [ - "Reviewed Reg 17 and Reg 18 assembly and the S5 superannuitant alternative", "w4 support, release-input coverage and weight audit evidence", "r2c income stand-in and reconciliation", "P1 earnings, Census rent and liquid-assets quantile producers", From 0e457e988914361a57931e15d6cbef1759bf8992 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 20:13:37 +0000 Subject: [PATCH 07/15] Gate the AS payment on the engine judgment and apply MC11 H25: rulespec-nz's rounded AS payment never reads the module's non-rate entitlement judgment, so each branch's positive_payment node now holds only where the payment exceeds zero and the judgment equals 1, the code the Axiom adapter's decoder gives "holds". Undetermined (0) fails. A new {prefix}.as.entitled counterfactual reruns the AS engine with no overrides and writes accommodation_supplement_entitled_weekly_payment, the rounded payment masked on that indicator. H2, the reporting measure, the gap node's inputs, cell declarations, bands and gates read the entitled column, while H1 keeps the indicator. The column joins export_contract formula_owned_excluded and the formula_owned_export gate's list. The target reference generator reads it, and holdout_references.json carries the same four edits by hand; the hub runs both generators' --check. H26: every branch but S5 adds receipt_group in [beneficiary, other] to the conjunction (holdout_comparator_bindings central). That one predicate defines the excluded set, so it equals the superannuitant cell, and reporting_classifiers.json lists the structural zero for V1 to V4 and VHF as well. S5 selects the s5 bindings without that clause. Its own masks node, run after its receipt_group node, crosses single and partnered with superannuitant, and its base rate takes nz_super_weekly_amount_before_tax (max, coefficient 1 or 2) for superannuitant units. as_rate_bridge.json states the before-tax reading and the mixed-couple simplification. Tests in test_nz_as_bridge.py run the packaged positive-payment, entitled, receipt-group, mask and base-rate nodes on labelled fixture engines: failing and undetermined judgments read zero; S1's asset-test knob, through InputClosure.group_knobs, lifts a unit over the asset limit that S0 zeroes; a superannuitant unit reads zero in S0 to S3, V1 to V4 and VHF but keeps its payment in S5; the excluded set equals the superannuitant cell; S5 pays from NZS with coefficient 2 for a couple. test_nz_spec_package.py also gets fixes for four failures that predated this session: VHF in the scenario list, the concept-mapping format id, and the annual-gross classifier columns. Tests: test_nz_as_bridge.py 32 passed, test_nz_spec_package.py 1203 passed, test_nz_transport_declarations.py 24 passed and 2 skipped, test_nz_target_references.py 16 passed and 38 skipped. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- changelog.d/nz-transport-graph.added.md | 2 +- docs/transport-entitlement.md | 12 + .../microcosm/build/nz/as_rate_bridge.json | 201 ++- .../microcosm/build/nz/entitlement_graph.json | 108 +- .../microcosm/build/nz/export_contract.json | 1 + .../build/nz/export_replay_bindings.json | 2 +- .../src/microcosm/build/nz/gates.json | 3 +- .../build/nz/holdout_comparator_bindings.json | 117 +- .../build/nz/holdout_references.json | 8 +- .../build/nz/reporting_classifiers.json | 20 + .../src/microcosm/build/nz/scenarios.json | 1263 ++++++++++++++++- .../engine_free/shared/test_nz_as_bridge.py | 317 ++++- .../shared/test_nz_spec_package.py | 92 +- .../shared/test_nz_target_references.py | 4 +- .../shared/test_nz_transport_declarations.py | 38 +- tools/build_nz_entitlement_graph.py | 175 ++- tools/build_nz_transport_graph.py | 6 + tools/generate_nz_target_references.py | 8 +- 18 files changed, 2200 insertions(+), 177 deletions(-) diff --git a/changelog.d/nz-transport-graph.added.md b/changelog.d/nz-transport-graph.added.md index cbcfae434c..18b7e3b4ef 100644 --- a/changelog.d/nz-transport-graph.added.md +++ b/changelog.d/nz-transport-graph.added.md @@ -1 +1 @@ -Declare NZ transport and entitlement branches with independent calibration variants and an identity-factor hold-fixed sensitivity. Add a synthetic replay fixture, exact export and gate contracts, and positive-payment comparator inputs. A `money.minor_units@1` node rounds each weekly benefit net half-even to whole cents before its gross-up, and `geography.person_location@1`, in its own module, carries assigned household region codes to persons. Keep the package inactive while engine pins, money quantile producers and reviewed AS assembly remain open. +Declare NZ transport and entitlement branches with independent calibration variants and an identity-factor hold-fixed sensitivity. Add a synthetic replay fixture, exact export and gate contracts, and positive-payment comparator inputs. A `money.minor_units@1` node rounds each weekly benefit net half-even to whole cents before its gross-up, and `geography.person_location@1`, in its own module, carries assigned household region codes to persons. The reg 17 base rate runs as one engine counterfactual and the reg 18 cutout as one zero-solve per population. The graph gates the Accommodation Supplement payment on the engine's non-rate judgment, excludes and counts superannuitant units outside S5, and pays them in S5 from NZ Superannuation before tax. Keep the package inactive while engine pins and money quantile producers remain open. diff --git a/docs/transport-entitlement.md b/docs/transport-entitlement.md index d7b56a6692..0fbf6315b7 100644 --- a/docs/transport-entitlement.md +++ b/docs/transport-entitlement.md @@ -193,6 +193,18 @@ credit over 52 for a unit with a dependent child. The tests in `test_nz_as_bridge.py` reproduce golden-08's base rate and cutout with a labelled fixture engine; no real-engine result is claimed. +rulespec-nz's rounded Accommodation Supplement payment never reads the +module's non-rate entitlement judgment, so the NZ graph gates the payment in +the host. Each branch's `positive_payment` node (`calibration.prepare@1`) +holds where the payment exceeds zero and the judgment reads "holds" (code 1; +undetermined fails), and, in every branch but S5, where the unit's receipt +group is not superannuitant (MC11's exclude-and-count). A +`simulate.counterfactual@1` node then writes +`accommodation_supplement_entitled_weekly_payment`, the rounded payment +masked on that indicator, which the dollar comparator, the reporting cells +and the gates read. S5 instead pays superannuitant units from a reg 17 base +rate that takes NZ Superannuation before tax. + The hub can compare approved small cases and sampled-unit outputs without donor H5 I/O using the declared case format in `tools/transport_bridge_differential.py`: diff --git a/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json b/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json index 0cd3c8c7f8..f278805131 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json +++ b/packages/microcosm-build/src/microcosm/build/nz/as_rate_bridge.json @@ -399,8 +399,205 @@ "mask_note": "Kernel masks compare equality only, so one calibration.prepare@1 node per population writes these family booleans ahead of the bridge nodes.", "superannuitant_units": { "central": "exclude_and_count", + "central_rule": "Every branch but S5 adds receipt_group in [beneficiary, other] to the positive-payment conjunction (holdout_comparator_bindings.json central). That one predicate defines the excluded set, so the set equals the superannuitant receipt-group reporting cell by construction, and the cell diagnostics report its unit count.", + "schedule_5_input": "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit stays defaulted: the engine's payment ignores it, so it cannot serve as the exclusion switch.", "scenario_s5": "reg17_superannuitant_base_rate", - "status": "The harness has no NZ Superannuation or Veteran's Pension base-rate branch. G7 implements one from the reg 17 text if it can; otherwise the MC11 fallback stands: superannuitant units are excluded from the central run and counted. Scenario S5 carries the alternative. Awaiting D1 (MC11).", + "s5_rule": "S5 drops the receipt-group clause from the positive-payment conjunction (holdout_comparator_bindings.json s5) and pays superannuitant units from s5_base_rate.", + "s5_base_rate": { + "id": "reg17_superannuitant_base_rate", + "target_input": "accommodation_supplement_base_rate_weekly_amount", + "legal_basis": "Social Security Regulations 2018 reg 17(2)(b) to (e)", + "graph_node": "nz.scn.S5.bridge.base_rate", + "kernel": "simulate.counterfactual@1", + "primary_binding": "main_benefits_rates", + "input_overrides": "reg17_base_rate", + "components": [ + { + "binding": "family_tax_credits", + "input_overrides": [ + { + "variable": "family_tax_credit_eldest_dependent_child_care_units", + "value": 1, + "value_source": "bridge_point", + "reason": "one eldest-child care unit, so the prescribed amount equals family_tax_credit_eldest_child_annual_amount (the parameter the harness reads, run.py:1525-1527)" + }, + { + "variable": "family_tax_credit_subsequent_dependent_child_care_units", + "value": 0, + "value_source": "bridge_point", + "reason": "no subsequent-child amount enters reg 17" + } + ] + }, + { + "binding": "nz_super", + "input_overrides": [] + } + ], + "terms": [ + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_net_weekly_payment", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 1, + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_single_non_superannuitant", + "equals": true + }, + "rule": "a single unit outside the superannuitant group takes zero-income Jobseeker Support once, as in the central base rate" + }, + { + "binding": "main_benefits_rates", + "variable": "jobseeker_support_net_weekly_payment", + "engine_entity": "Person", + "aggregation": "first", + "coefficient": 2, + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_partnered_non_superannuitant", + "equals": true + }, + "rule": "a partnered unit outside the superannuitant group takes it once for each partner" + }, + { + "binding": "nz_super", + "variable": "nz_super_weekly_amount_before_tax", + "engine_entity": "Person", + "aggregation": "max", + "coefficient": 1, + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_single_superannuitant", + "equals": true + }, + "rule": "a single superannuitant unit takes the NZ Superannuation weekly amount before tax" + }, + { + "binding": "nz_super", + "variable": "nz_super_weekly_amount_before_tax", + "engine_entity": "Person", + "aggregation": "max", + "coefficient": 2, + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_partnered_superannuitant", + "equals": true + }, + "rule": "reg 17(2)(e) treats a partner as if a rate were paid, so a partnered superannuitant unit takes twice the larger member amount" + }, + { + "binding": "family_tax_credits", + "variable": "family_tax_credit_prescribed_amount", + "engine_entity": "Family", + "coefficient": "1/52", + "mask": { + "unit_attribute": "family.accommodation_supplement_bridge_has_dependent_child", + "equals": true + }, + "rule": "reg 17 adds the annual eldest-child family tax credit divided by 52 for a unit with a dependent child (run.py:2556-2562); the harness's 365/7 divisor is a Treasury-host diagnostic only and is not used" + } + ], + "before_tax_reading": "Before tax follows reg 17's \"before any abatement or deduction\" and the Schedule 1 rate the nz_super engine holds.", + "mixed_couple_simplification": "A partner on a main benefit takes the NZ Superannuation amount, not their own rate: max over members picks the superannuitant's amount for both partners.", + "receipt_group_order": "The S5 receipt_group node runs ahead of these masks, so the superannuitant group comes from the one assigned-member receipt predicate." + }, + "s5_mask_bindings": { + "schema_version": 1, + "required_inputs": { + "family": [ + "is_partnered", + "receipt_group" + ] + }, + "input_domains": { + "family": { + "is_partnered": { + "values": [ + true, + false + ] + }, + "receipt_group": { + "values": [ + "superannuitant", + "beneficiary", + "other" + ] + } + } + }, + "columns": [ + { + "entity": "family", + "name": "accommodation_supplement_bridge_single_non_superannuitant", + "predicates": [ + { + "column": "is_partnered", + "operator": "eq", + "value": false + }, + { + "column": "receipt_group", + "operator": "in", + "value": [ + "beneficiary", + "other" + ] + } + ] + }, + { + "entity": "family", + "name": "accommodation_supplement_bridge_partnered_non_superannuitant", + "predicates": [ + { + "column": "is_partnered", + "operator": "eq", + "value": true + }, + { + "column": "receipt_group", + "operator": "in", + "value": [ + "beneficiary", + "other" + ] + } + ] + }, + { + "entity": "family", + "name": "accommodation_supplement_bridge_single_superannuitant", + "predicates": [ + { + "column": "is_partnered", + "operator": "eq", + "value": false + }, + { + "column": "receipt_group", + "operator": "eq", + "value": "superannuitant" + } + ] + }, + { + "entity": "family", + "name": "accommodation_supplement_bridge_partnered_superannuitant", + "predicates": [ + { + "column": "is_partnered", + "operator": "eq", + "value": true + }, + { + "column": "receipt_group", + "operator": "eq", + "value": "superannuitant" + } + ] + } + ] + }, + "status": "MC11 adopted (d1043): central runs exclude and count; S5 carries the reg 17 superannuitant base rate.", "predicate": { "resource": "reporting_classifiers", "path": [ @@ -415,7 +612,7 @@ }, "predicate_note": "MC11 exclude-and-count and reporting must select this one assigned-member receipt predicate. A bridge implementation must resolve the reference rather than infer superannuitants from entitlement or age." }, - "beneficiary_note": "The harness computes the base rate from zero-income Jobseeker Support for every scenario, beneficiary or not; accommodation_supplement_non_beneficiary itself comes from the receipt layer through the group encode, not from this bridge.", + "beneficiary_note": "The harness computes the base rate from zero-income Jobseeker Support for every scenario, beneficiary or not; accommodation_supplement_non_beneficiary itself comes from the receipt layer through the group encode, not from this bridge. Reg 17 for non-superannuitant beneficiaries stays as built; whether reg 17 uses each adult's own age-dependent rate remains open.", "differential_expectations": { "source": { "repository": "TheAxiomFoundation/axiom-oracles", diff --git a/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json index e8bfa96120..0adc47018b 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json +++ b/packages/microcosm-build/src/microcosm/build/nz/entitlement_graph.json @@ -830,7 +830,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -844,7 +846,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -856,6 +861,103 @@ } } }, + { + "id": "nz.scn.{scenario}.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.{scenario}", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.scn.{scenario}.gap", "kernel": "takeup.gap@1", @@ -880,8 +982,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json index b683e5d1d1..2325da4456 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_contract.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_contract.json @@ -224,6 +224,7 @@ ], "formula_owned_excluded": [ "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_maximum_weekly_rate", "accommodation_supplement_non_beneficiary_income_reduction", "accommodation_supplement_non_rate_entitlement_requirements", diff --git a/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json index eea985818e..afd23a381a 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json +++ b/packages/microcosm-build/src/microcosm/build/nz/export_replay_bindings.json @@ -1,4 +1,4 @@ { - "export_contract_sha256": "3f6c9fff388d51aa2d8cc3e75883e5637db1537f56c161d9d29de0bbb30c4155", + "export_contract_sha256": "9483b44ef0646aee4556ec2bce1e744bd102685ebf393d6a3eef5ee1b4b377b5", "axiom_input_closure_sha256": "1c237a316eecffd8d8eb9258a451b992373b804d72b411895337647c272731aa" } diff --git a/packages/microcosm-build/src/microcosm/build/nz/gates.json b/packages/microcosm-build/src/microcosm/build/nz/gates.json index 62c44ffebf..3376c553bd 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/gates.json +++ b/packages/microcosm-build/src/microcosm/build/nz/gates.json @@ -141,6 +141,7 @@ "parameters": { "formula_owned_columns": [ "accommodation_supplement_cash_assets_within_limit", + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_maximum_weekly_rate", "accommodation_supplement_non_beneficiary_income_reduction", "accommodation_supplement_non_rate_entitlement_requirements", @@ -282,7 +283,7 @@ "target_maximum_single_donor_dollar_share": 0.05 }, "evidence_absent_blocks": true, - "notes": "MC15: missing, malformed or scenario-incomplete source-household diagnostics block. MC15 suppresses cells below ESS 100, above contribution CV 2 or donor dollar share 10% and excludes them from reported output; proper suppression does not block. The classifier lists structural-zero cells separately. Subgroup rows report entitlement, without invented subgroup payment comparators. G8 addendum A2 explicitly expects structural-zero cells: S0/beneficiary_superannuitant_other/superannuitant, S1/beneficiary_superannuitant_other/superannuitant, S2/beneficiary_superannuitant_other/superannuitant, S3/beneficiary_superannuitant_other/superannuitant. The machine-readable list is reporting_classifiers.json structural_zero_cells; reported amounts determine actual structural-zero diagnostics." + "notes": "MC15: missing, malformed or scenario-incomplete source-household diagnostics block. MC15 suppresses cells below ESS 100, above contribution CV 2 or donor dollar share 10% and excludes them from reported output; proper suppression does not block. The classifier lists structural-zero cells separately. Subgroup rows report entitlement, without invented subgroup payment comparators. G8 addendum A2 explicitly expects structural-zero cells, and MC11's central exclude-and-count adds every variant: S0/beneficiary_superannuitant_other/superannuitant, S1/beneficiary_superannuitant_other/superannuitant, S2/beneficiary_superannuitant_other/superannuitant, S3/beneficiary_superannuitant_other/superannuitant, V1/beneficiary_superannuitant_other/superannuitant, V2/beneficiary_superannuitant_other/superannuitant, V3/beneficiary_superannuitant_other/superannuitant, V4/beneficiary_superannuitant_other/superannuitant, VHF/beneficiary_superannuitant_other/superannuitant. S5 pays superannuitant units, so its cell is not structurally zero. The machine-readable list is reporting_classifiers.json structural_zero_cells; reported amounts determine actual structural-zero diagnostics." }, { "id": "weight_effective_sample_size_target_a", diff --git a/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json b/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json index 6b2ca5f263..a054a42024 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json +++ b/packages/microcosm-build/src/microcosm/build/nz/holdout_comparator_bindings.json @@ -1,28 +1,101 @@ { "schema_version": 1, - "required_inputs": { - "family": [ - "accommodation_supplement_rounded_weekly_payment" - ] - }, - "input_domains": { - "family": { - "accommodation_supplement_rounded_weekly_payment": { - "kind": "nonnegative_number" + "central": { + "schema_version": 1, + "required_inputs": { + "family": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_non_rate_entitlement_requirements", + "receipt_group" + ] + }, + "input_domains": { + "family": { + "accommodation_supplement_rounded_weekly_payment": { + "kind": "nonnegative_number" + }, + "accommodation_supplement_non_rate_entitlement_requirements": { + "values": [ + -1, + 0, + 1 + ] + }, + "receipt_group": { + "values": [ + "superannuitant", + "beneficiary", + "other" + ] + } + } + }, + "columns": [ + { + "entity": "family", + "name": "accommodation_supplement_positive_payment_indicator", + "predicates": [ + { + "column": "accommodation_supplement_rounded_weekly_payment", + "operator": "gt", + "value": 0 + }, + { + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "operator": "eq", + "value": 1 + }, + { + "column": "receipt_group", + "operator": "in", + "value": [ + "beneficiary", + "other" + ] + } + ] } - } + ] }, - "columns": [ - { - "entity": "family", - "name": "accommodation_supplement_positive_payment_indicator", - "predicates": [ - { - "column": "accommodation_supplement_rounded_weekly_payment", - "operator": "gt", - "value": 0 - } + "s5": { + "schema_version": 1, + "required_inputs": { + "family": [ + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_non_rate_entitlement_requirements" ] - } - ] + }, + "input_domains": { + "family": { + "accommodation_supplement_rounded_weekly_payment": { + "kind": "nonnegative_number" + }, + "accommodation_supplement_non_rate_entitlement_requirements": { + "values": [ + -1, + 0, + 1 + ] + } + } + }, + "columns": [ + { + "entity": "family", + "name": "accommodation_supplement_positive_payment_indicator", + "predicates": [ + { + "column": "accommodation_supplement_rounded_weekly_payment", + "operator": "gt", + "value": 0 + }, + { + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "operator": "eq", + "value": 1 + } + ] + } + ] + } } diff --git a/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json b/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json index 17b772bab9..5127e46c75 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json +++ b/packages/microcosm-build/src/microcosm/build/nz/holdout_references.json @@ -41,12 +41,12 @@ "method_card_row": "MC5", "holdout_use": "accommodation_supplement_recipient_comparator", "annualisation_factor": "1", - "indicator_input_column": "accommodation_supplement_rounded_weekly_payment", + "indicator_input_column": "accommodation_supplement_entitled_weekly_payment", "indicator_operator": "positive", "indicator_threshold": "0", "measurement_basis": "National positive-payment recipient count; June 2026 snapshot stock, not annual recipients or dollars." }, - "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_rounded_weekly_payment exceeds zero. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration." + "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_entitled_weekly_payment exceeds zero: the rounded payment where the engine judges the non-rate entitlement requirements to hold and, outside S5, the unit is not superannuitant. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration." }, { "name": "msd_annual_report_accommodation_assistance_expenditure", @@ -70,7 +70,7 @@ "aggregate_fact_key": "ledger.aggregate_fact.v2:10c6ad3bbb19b8137b471748" }, "entity": "family", - "measure": "accommodation_supplement_rounded_weekly_payment", + "measure": "accommodation_supplement_entitled_weekly_payment", "period": 2024, "family": "accommodation_supplement", "metadata": { @@ -88,7 +88,7 @@ "annualisation_factor": "52", "measurement_basis": "Historical fiscal-year 2024/25 Accommodation Assistance expenditure versus annualised model dollars; no period alignment or AS-only scope claim." }, - "notes": "H2 annualises accommodation_supplement_rounded_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set." + "notes": "H2 annualises accommodation_supplement_entitled_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set." }, { "name": "treasury_an24_01_accommodation_supplement_fiscal_total", diff --git a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json index 112472f981..63410e30fb 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json +++ b/packages/microcosm-build/src/microcosm/build/nz/reporting_classifiers.json @@ -250,6 +250,26 @@ { "scenario": "S3", "cell": "beneficiary_superannuitant_other/superannuitant" + }, + { + "scenario": "V1", + "cell": "beneficiary_superannuitant_other/superannuitant" + }, + { + "scenario": "V2", + "cell": "beneficiary_superannuitant_other/superannuitant" + }, + { + "scenario": "V3", + "cell": "beneficiary_superannuitant_other/superannuitant" + }, + { + "scenario": "V4", + "cell": "beneficiary_superannuitant_other/superannuitant" + }, + { + "scenario": "VHF", + "cell": "beneficiary_superannuitant_other/superannuitant" } ], "structural_zero_citation": { diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index 0223b7e41b..e8e720d13d 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -551,7 +551,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -565,7 +567,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -577,6 +582,103 @@ } } }, + { + "id": "nz.scn.S0.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S0", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.scn.S0.gap", "kernel": "takeup.gap@1", @@ -601,8 +703,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -1445,7 +1547,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -1459,7 +1563,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -1471,6 +1578,103 @@ } } }, + { + "id": "nz.scn.S1.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S1", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.scn.S1.gap", "kernel": "takeup.gap@1", @@ -1495,8 +1699,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -2333,7 +2537,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -2347,7 +2553,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -2360,12 +2569,12 @@ } }, { - "id": "nz.scn.S2.gap", - "kernel": "takeup.gap@1", + "id": "nz.scn.S2.as.entitled", + "kernel": "simulate.counterfactual@1", "structural": "none", "population": "nz.scn.S2", "sources": [ - "nz_holdout_facts" + "rulespec_nz" ], "inputs": [ { @@ -2374,28 +2583,125 @@ "age" ] }, - { - "entity": "household", - "columns": [ - "source_household_id" - ] - }, { "entity": "family", "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", - "family_type", - "income_decile", - "receipt_group" + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], - "params": { - "country": "nz", - "references": { - "resource": "holdout_references", - "encoding": "json" + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, + { + "id": "nz.scn.S2.gap", + "kernel": "takeup.gap@1", + "structural": "none", + "population": "nz.scn.S2", + "sources": [ + "nz_holdout_facts" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "household", + "columns": [ + "source_household_id" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_entitled_weekly_payment", + "accommodation_supplement_positive_payment_indicator", + "family_type", + "income_decile", + "receipt_group" + ] + } + ], + "params": { + "country": "nz", + "references": { + "resource": "holdout_references", + "encoding": "json" }, "references_sha256": { "resource": "holdout_references", @@ -3221,7 +3527,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -3235,7 +3543,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -3247,6 +3558,103 @@ } } }, + { + "id": "nz.scn.S3.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S3", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.scn.S3.gap", "kernel": "takeup.gap@1", @@ -3271,8 +3679,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -3333,6 +3741,61 @@ ], "params": {} }, + { + "id": "nz.scn.S5.bridge.superannuitant_masks", + "kernel": "calibration.prepare@1", + "structural": "none", + "population": "nz.scn.S5", + "inputs": [ + { + "entity": "family", + "columns": [ + "is_partnered", + "receipt_group" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_bridge_single_non_superannuitant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_bridge_partnered_non_superannuitant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_bridge_single_superannuitant", + "dtype": "bool" + }, + { + "entity": "family", + "column": "accommodation_supplement_bridge_partnered_superannuitant", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "as_rate_bridge", + "encoding": "json", + "path": [ + "superannuitant_units", + "s5_mask_bindings" + ] + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, { "id": "nz.scn.S5.bridge.base_rate", "kernel": "simulate.counterfactual@1", @@ -3357,6 +3820,19 @@ "jobseeker_support_transferred_2013_no_dependent_children", "jobseeker_support_youngest_dependent_child_age", "main_benefit_income_test_assessable_income", + "nz_super_all_shared_adults_are_exempt_dependent_children_or_temporary_visitors", + "nz_super_birth_year", + "nz_super_born_on_or_before_30_june_of_birth_year", + "nz_super_elected_weekly_compensation_instead_of_superannuation", + "nz_super_ordinarily_resident_in_new_zealand_on_application", + "nz_super_overseas_application_residence_exception_applies", + "nz_super_person_age", + "nz_super_principal_residence_is_qualifying_accommodation", + "nz_super_resident_present_since_age_20_new_zealand_years", + "nz_super_resident_present_since_age_20_total_years", + "nz_super_resident_present_since_age_50_total_years", + "nz_super_shares_residence_with_person_at_least_adult_age", + "nz_super_single", "sole_parent_support_personal_earnings_used_for_childcare", "sole_parent_support_total_income", "supported_living_blind_average_weekly_earnings", @@ -3379,6 +3855,10 @@ "entity": "family", "columns": [ "accommodation_supplement_bridge_has_dependent_child", + "accommodation_supplement_bridge_partnered_non_superannuitant", + "accommodation_supplement_bridge_partnered_superannuitant", + "accommodation_supplement_bridge_single_non_superannuitant", + "accommodation_supplement_bridge_single_superannuitant", "accommodation_supplement_bridge_single_without_dependent_child", "is_partnered", "is_single", @@ -3482,8 +3962,8 @@ "aggregation": "first", "mask": { "entity": "family", - "column": "is_partnered", - "equals": false + "column": "accommodation_supplement_bridge_single_non_superannuitant", + "equals": true } }, { @@ -3494,7 +3974,39 @@ "aggregation": "first", "mask": { "entity": "family", - "column": "is_partnered", + "column": "accommodation_supplement_bridge_partnered_non_superannuitant", + "equals": true + } + }, + { + "variable": "nz_super_weekly_amount_before_tax", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "nz_super", + "field": "engine_ref" + }, + "aggregation": "max", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_single_superannuitant", + "equals": true + } + }, + { + "variable": "nz_super_weekly_amount_before_tax", + "coefficient": 2, + "entity": "family", + "column": "accommodation_supplement_base_rate_weekly_amount", + "engine_ref": { + "binding": "nz_super", + "field": "engine_ref" + }, + "aggregation": "max", + "mask": { + "entity": "family", + "column": "accommodation_supplement_bridge_partnered_superannuitant", "equals": true } }, @@ -3539,6 +4051,20 @@ "value": 0 } ] + }, + { + "engine_ref": { + "binding": "nz_super", + "field": "engine_ref" + }, + "period": { + "binding": "nz_super", + "field": "period" + }, + "variables": [ + "nz_super_weekly_amount_before_tax" + ], + "input_overrides": [] } ], "resource_sha256": { @@ -3546,7 +4072,7 @@ "encoding": "sha256" } }, - "description": "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." + "description": "The engine evaluates the S5 reg 17 base rate, with NZ Superannuation before tax for superannuitant units." }, { "id": "nz.scn.S5.as", @@ -3782,6 +4308,7 @@ { "entity": "family", "columns": [ + "accommodation_supplement_non_rate_entitlement_requirements", "accommodation_supplement_rounded_weekly_payment" ] } @@ -3796,7 +4323,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "s5" + ] }, "references": { "resource": "holdout_references", @@ -3808,6 +4338,103 @@ } } }, + { + "id": "nz.scn.S5.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.scn.S5", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.scn.S5.gap", "kernel": "takeup.gap@1", @@ -3832,8 +4459,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -8058,7 +8685,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -8072,7 +8701,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -8084,6 +8716,103 @@ } } }, + { + "id": "nz.v.V1.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V1.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.v.V1.gap", "kernel": "takeup.gap@1", @@ -8108,8 +8837,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -12334,7 +13063,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -12348,7 +13079,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -12360,6 +13094,103 @@ } } }, + { + "id": "nz.v.V2.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V2.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.v.V2.gap", "kernel": "takeup.gap@1", @@ -12384,8 +13215,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -16610,31 +17441,133 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "dtype": "bool" + } + ], + "params": { + "bindings": { + "resource": "holdout_comparator_bindings", + "encoding": "json", + "path": [ + "central" + ] + }, + "references": { + "resource": "holdout_references", + "encoding": "json" + }, + "references_sha256": { + "resource": "holdout_references", + "encoding": "sha256" + } + } + }, + { + "id": "nz.v.V3.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V3.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" ] } ], "outputs": [ { "entity": "family", - "column": "accommodation_supplement_positive_payment_indicator", - "dtype": "bool" + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" } ], "params": { - "bindings": { - "resource": "holdout_comparator_bindings", - "encoding": "json" + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" }, - "references": { - "resource": "holdout_references", - "encoding": "json" + "period": { + "binding": "accommodation_supplement", + "field": "period" }, - "references_sha256": { - "resource": "holdout_references", - "encoding": "sha256" - } - } + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." }, { "id": "nz.v.V3.gap", @@ -16660,8 +17593,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -20886,7 +21819,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -20900,7 +21835,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -20912,6 +21850,103 @@ } } }, + { + "id": "nz.v.V4.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.V4.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.v.V4.gap", "kernel": "takeup.gap@1", @@ -20936,8 +21971,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -25162,7 +26197,9 @@ { "entity": "family", "columns": [ - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_non_rate_entitlement_requirements", + "accommodation_supplement_rounded_weekly_payment", + "receipt_group" ] } ], @@ -25176,7 +26213,10 @@ "params": { "bindings": { "resource": "holdout_comparator_bindings", - "encoding": "json" + "encoding": "json", + "path": [ + "central" + ] }, "references": { "resource": "holdout_references", @@ -25188,6 +26228,103 @@ } } }, + { + "id": "nz.v.VHF.as.entitled", + "kernel": "simulate.counterfactual@1", + "structural": "none", + "population": "nz.v.VHF.housing", + "sources": [ + "rulespec_nz" + ], + "inputs": [ + { + "entity": "person", + "columns": [ + "age" + ] + }, + { + "entity": "family", + "columns": [ + "accommodation_supplement_additional_resident_in_social_housing", + "accommodation_supplement_area_let_to_nonresidents", + "accommodation_supplement_base_rate_weekly_amount", + "accommodation_supplement_boarder", + "accommodation_supplement_business_use_area", + "accommodation_supplement_cash_assets", + "accommodation_supplement_concessionary_mortgage_payments_to_kainga_ora_or_crown", + "accommodation_supplement_costs_are_homeownership", + "accommodation_supplement_disability_accommodation_or_care_funded_under_pae_ora_act", + "accommodation_supplement_has_accommodation_costs", + "accommodation_supplement_has_dependent_children", + "accommodation_supplement_has_two_or_more_dependent_children", + "accommodation_supplement_in_relationship", + "accommodation_supplement_joint_owner_with_resident", + "accommodation_supplement_non_beneficiary", + "accommodation_supplement_non_beneficiary_income_cutout_weekly_amount", + "accommodation_supplement_owner_weekly_payment_share", + "accommodation_supplement_owner_weekly_required_payments", + "accommodation_supplement_owns_premises_and_not_joint_owner_with_resident", + "accommodation_supplement_partner_receiving_accommodation_supplement", + "accommodation_supplement_positive_payment_indicator", + "accommodation_supplement_receiving_or_eligible_for_student_allowance_grant", + "accommodation_supplement_relevant_weekly_income", + "accommodation_supplement_rent_paid_to_kainga_ora", + "accommodation_supplement_rent_paid_to_registered_community_housing_provider_social_housing", + "accommodation_supplement_residential_care_funded_under_residential_care_act", + "accommodation_supplement_resides_in_area_1", + "accommodation_supplement_resides_in_area_2", + "accommodation_supplement_resides_in_area_3", + "accommodation_supplement_section_68_joint_tenant_exception_applies", + "accommodation_supplement_self_contained_area_let_to_residents", + "accommodation_supplement_social_housing_weekly_contributions_paid", + "accommodation_supplement_sole_parent", + "accommodation_supplement_super_or_veterans_pension_income_above_schedule_5_limit", + "accommodation_supplement_total_premises_area", + "accommodation_supplement_weekly_board_and_lodgings_paid", + "accommodation_supplement_weekly_boarder_payments_received", + "accommodation_supplement_weekly_contributions_received_from_additional_residents", + "accommodation_supplement_weekly_rent_paid", + "accommodation_supplement_weekly_rent_received_from_other_residents" + ] + } + ], + "outputs": [ + { + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "dtype": "float64" + } + ], + "params": { + "engine_ref": { + "binding": "accommodation_supplement", + "field": "engine_ref" + }, + "period": { + "binding": "accommodation_supplement", + "field": "period" + }, + "variables": [ + "accommodation_supplement_rounded_weekly_payment" + ], + "input_overrides": [], + "output_coefficients": [ + { + "variable": "accommodation_supplement_rounded_weekly_payment", + "coefficient": 1, + "entity": "family", + "column": "accommodation_supplement_entitled_weekly_payment", + "mask": { + "entity": "family", + "column": "accommodation_supplement_positive_payment_indicator", + "equals": true + } + } + ] + }, + "description": "The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere." + }, { "id": "nz.v.VHF.gap", "kernel": "takeup.gap@1", @@ -25212,8 +26349,8 @@ { "entity": "family", "columns": [ + "accommodation_supplement_entitled_weekly_payment", "accommodation_supplement_positive_payment_indicator", - "accommodation_supplement_rounded_weekly_payment", "family_type", "income_decile", "receipt_group" @@ -25265,7 +26402,7 @@ }, "reporting_cells": { "entity": "family", - "measure": "accommodation_supplement_rounded_weekly_payment", + "measure": "accommodation_supplement_entitled_weekly_payment", "period": "2026-27", "annualisation_factor": 52, "tables": [ diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py index 48c3d9e74f..5673c99b77 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_as_bridge.py @@ -48,7 +48,12 @@ _HAS_CHILD = "accommodation_supplement_bridge_has_dependent_child" _GROSS = "accommodation_supplement_bridge_sole_parent_gross_rate" _YOUNGEST = "jobseeker_support_youngest_dependent_child_age" -_JS_BINDINGS = ("main_benefits_rates", "family_tax_credits", "nz_super") +_JS_BINDINGS = ( + "main_benefits_rates", + "family_tax_credits", + "nz_super", + "accommodation_supplement", +) _REFS = {name: f"fixture:{name}" for name in _JS_BINDINGS} _CONFIG = TransportGraphConfig( engine_refs=_REFS, create_outputs=(Owned("person", "age", "int64"),) @@ -268,6 +273,70 @@ def materialize(self, bundle, variables, period): } +class SuperannuationEngine(_FixtureEngine): + """A fixture weekly amount before tax for adults aged 65 or older.""" + + inputs = ("nz_super_person_age",) + outputs = ("nz_super_weekly_amount_before_tax",) + weekly = 538.0 + + def materialize(self, bundle, variables, period): + table = bundle.table("person") + self.received.append(table.copy()) + age = self._batch(table)["nz_super_person_age"] + return { + "nz_super_weekly_amount_before_tax": np.where(age >= 65, self.weekly, 0.0) + } + + +class AccommodationSupplementEngine(_FixtureEngine): + """Pays half the rent, rounded, and judges a fixture cash-asset limit. + + As in rulespec-nz's core.yaml, the rounded payment never reads the + non-rate judgment: only the host's gate can withhold it. + """ + + entity = "family" + outputs = ( + "accommodation_supplement_rounded_weekly_payment", + "accommodation_supplement_non_rate_entitlement_requirements", + ) + cash_limit = 8100.0 + + def __init__(self, undetermined=()): + super().__init__() + self.undetermined = set(undetermined) + + def variables(self): + return tuple( + entry["input"] + for entry in _SPEC["resources"]["axiom_input_closure"]["entries"] + if entry["entity"] == "Family" + and entry["rulespec_path"].endswith("accommodation_supplement/core.yaml") + ) + + def materialize(self, bundle, variables, period): + table = bundle.table("family") + self.received.append(table.copy()) + payment = np.round( + table["accommodation_supplement_weekly_rent_paid"].to_numpy(float) / 2 + ) + judgment = np.where( + table["accommodation_supplement_cash_assets"].to_numpy(float) + > self.cash_limit, + -1, + 1, + ) + judgment = np.where( + table["family_id"].isin(self.undetermined).to_numpy(), 0, judgment + ) + values = { + "accommodation_supplement_rounded_weekly_payment": payment, + "accommodation_supplement_non_rate_entitlement_requirements": judgment, + } + return {name: values[name] for name in variables} + + def _row(node_id): for row, scenario in _rows(_SPEC)[0]: if row["id"] == node_id: @@ -296,49 +365,91 @@ def _node(row, scenario): @dataclass class Unit: - """One invented benefit unit: its adults' and children's ages.""" + """One invented benefit unit; every amount is fixture data.""" partnered: bool = False children: tuple[int, ...] = () receipt_group: str = "beneficiary" - super_amount: float = 0.0 + adult_age: int = 30 + cash_assets: float = 0.0 + rent: float = 400.0 -def _frame(units): - closure = _SPEC["resources"]["axiom_input_closure"] - rate_path = next( +_RECEIPT_FLAGS = { + "superannuitant": "receives_nz_super", + "beneficiary": "receives_jobseeker_support", +} + + +def _closure_inputs(binding, entity): + path = next( row["rulespec_path"] for row in _SPEC["resources"]["axiom_rules_bindings"]["bindings"] - if row["id"] == "main_benefits_rates" + if row["id"] == binding ) + return { + entry["input"]: entry.get("value", 0) + for entry in _SPEC["resources"]["axiom_input_closure"]["entries"] + if entry["rulespec_path"] == path and entry["entity"] == entity + } + + +def _frame(units): + flags = { + flag + for predicate in _SPEC["resources"]["reporting_classifiers"]["receipt_group"][ + "predicates" + ].values() + for flag in predicate["columns"] + } + person_defaults = { + **_closure_inputs("main_benefits_rates", "Person"), + **_closure_inputs("nz_super", "Person"), + } + family_defaults = _closure_inputs("accommodation_supplement", "Family") person, family = [], [] next_person = 1 for index, unit in enumerate(units): family_id = 100 + index adults = 2 if unit.partnered else 1 for member in range(adults + len(unit.children)): + adult = member < adults + age = unit.adult_age if adult else unit.children[member - adults] row = { "person_id": next_person, "person_household_id": family_id, "person_family_id": family_id, - "nz_super_weekly_amount_before_tax": unit.super_amount - if member < adults - else 0.0, + **person_defaults, + "age": age, + "nz_super_person_age": age, + **{ + flag: adult and _RECEIPT_FLAGS.get(unit.receipt_group) == flag + for flag in sorted(flags) + }, } - for entry in closure["entries"]: - if entry["rulespec_path"] == rate_path and entry["entity"] == "Person": - row[entry["input"]] = entry.get("value", 0) person.append(row) next_person += 1 youngest = min(unit.children) if unit.children else None + family_type = ( + ("couple_with_children" if unit.children else "couple") + if unit.partnered + else ("sole_parent" if unit.children else "single") + ) family.append( { "family_id": family_id, + **{ + name: (0.0 if value == 0 else value) + for name, value in family_defaults.items() + }, + "accommodation_supplement_cash_assets": unit.cash_assets, + "accommodation_supplement_weekly_rent_paid": unit.rent, "n_dependent_children": len(unit.children), "is_partnered": unit.partnered, "is_single": not unit.partnered, "is_sole_parent": not unit.partnered and bool(unit.children), "youngest_dependent_child_age": youngest, + "family_type": family_type, "receipt_group": unit.receipt_group, } ) @@ -347,6 +458,7 @@ def _frame(units): "youngest_dependent_child_age" ].astype("Int64") family["receipt_group"] = family["receipt_group"].astype("string") + family["family_type"] = family["family_type"].astype("string") ids = family["family_id"].to_numpy() return Frame( { @@ -359,10 +471,12 @@ def _frame(units): ) -def _engines(schedule=None): +def _engines(schedule=None, *, undetermined=()): return { _REFS["main_benefits_rates"]: JobseekerEngine(schedule), _REFS["family_tax_credits"]: TaxCreditEngine(), + _REFS["nz_super"]: SuperannuationEngine(), + _REFS["accommodation_supplement"]: AccommodationSupplementEngine(undetermined), } @@ -664,3 +778,178 @@ def test_every_as_population_runs_its_own_bridge_and_every_branch_its_base_rate( for node_id in ("masks", "sole_parent_gross_rate", "cutout"): assert rows[f"{prefix}.bridge.{node_id}"]["population"] == population assert rows[f"{prefix}.bridge.base_rate"]["population"] == population + + +# --- Entitlement gate and MC11 (H25, H26) ------------------------------------- + +_PAYMENT = "accommodation_supplement_rounded_weekly_payment" +_JUDGMENT = "accommodation_supplement_non_rate_entitlement_requirements" +_POSITIVE = "accommodation_supplement_positive_payment_indicator" +_ENTITLED = "accommodation_supplement_entitled_weekly_payment" +_BRANCHES = ( + *(f"nz.scn.{name}" for name in ("S0", "S1", "S2", "S3", "S5")), + *(f"nz.v.{name}" for name in ("V1", "V2", "V3", "V4", "VHF")), +) + + +def _as_engine_outputs(frame, engines): + """Write the AS engine's payment and judgment as the branch's .as node would.""" + engine = engines[_REFS["accommodation_supplement"]] + values = engine.materialize(frame, engine.outputs, "2026-27") + for name, data in values.items(): + frame.table("family")[name] = data + + +def _entitle(units, branch, *, undetermined=(), frame=None): + """Run the branch's packaged positive-payment and entitled nodes.""" + frame = _frame(units) if frame is None else frame + engines = _engines(undetermined=undetermined) + _as_engine_outputs(frame, engines) + for suffix in (".positive_payment", ".as.entitled"): + _run(frame, *_row(branch + suffix), engines) + family = frame.table("family") + return frame, dict(zip(family["family_id"], family[_ENTITLED], strict=True)) + + +def test_a_unit_failing_the_non_rate_judgment_reads_zero(): + _, entitled = _entitle([Unit(), Unit(cash_assets=20000.0)], "nz.scn.S0") + assert entitled == {100: 200.0, 101: 0.0} + + +def test_an_undetermined_judgment_reads_zero(): + frame, entitled = _entitle([Unit(), Unit()], "nz.scn.S0", undetermined={101}) + assert frame.table("family")[_JUDGMENT].tolist() == [1, 0] + assert entitled == {100: 200.0, 101: 0.0} + + +def test_s1_differs_from_s0_for_a_unit_over_the_asset_limit(): + from microcosm.frame.input_closure import InputClosure + + unit = Unit(cash_assets=20000.0) + _, central = _entitle([unit], "nz.scn.S0") + # S1's encoding knob zeroes the cash-asset input the encoder supplies. + s1 = next( + row for row in _SPEC["resources"]["scenarios"]["scenarios"] if row["id"] == "S1" + ) + closure = InputClosure.from_dict(_SPEC["resources"]["axiom_input_closure"]) + zeroed = closure.group_knobs(s1["encoding_knobs"]).zeroed + assert zeroed == frozenset({"accommodation_supplement_cash_assets"}) + frame = _frame([unit]) + for column in zeroed: + frame.table("family")[column] = 0.0 + _, asset_test_off = _entitle([unit], "nz.scn.S1", frame=frame) + assert central == {100: 0.0} + assert asset_test_off == {100: 200.0} + + +@pytest.mark.parametrize("branch", [b for b in _BRANCHES if not b.endswith("S5")]) +def test_a_superannuitant_unit_reads_zero_outside_s5(branch): + _, entitled = _entitle( + [Unit(receipt_group="superannuitant", adult_age=70), Unit()], branch + ) + assert entitled == {100: 0.0, 101: 200.0} + + +def test_s5_keeps_a_superannuitant_units_payment(): + _, entitled = _entitle( + [Unit(receipt_group="superannuitant", adult_age=70)], "nz.scn.S5" + ) + assert entitled == {100: 200.0} + + +def test_the_excluded_set_equals_the_superannuitant_receipt_group_cell(): + from microcosm.build.transport.reporting_kernels import ( + register_reporting_kernels, + ) + from microcosm.graph import KernelRegistry + + units = [ + Unit(receipt_group="superannuitant", adult_age=70), + Unit(receipt_group="superannuitant", adult_age=68, partnered=True), + Unit(receipt_group="beneficiary"), + Unit(receipt_group="other", children=(3,)), + ] + frame = _frame(units) + frame.table("family").drop(columns="receipt_group", inplace=True) + registry = register_reporting_kernels(KernelRegistry()) + row, scenario = _row("nz.scn.S0.receipt_group") + node = _node(row, scenario) + result = registry.get(node.kernel).run( + _context(frame, node, weighted_entities=("household",)) + ) + for (entity, column), values in result.columns.items(): + frame.table(entity)[column] = values.to_numpy() + _, entitled = _entitle(units, "nz.scn.S0", frame=frame) + family = frame.table("family") + excluded = set( + family.loc[ + (family[_PAYMENT] > 0) & (family[_JUDGMENT] == 1) & ~family[_POSITIVE], + "family_id", + ] + ) + cell = set(family.loc[family["receipt_group"] == "superannuitant", "family_id"]) + assert excluded == cell == {100, 101} + assert all(entitled[unit] == 0 for unit in cell) + + +def _s5_base_rate(units): + frame = _frame(units) + engines = _engines() + for node_id in ( + "nz.as.bridge.masks", + "nz.scn.S5.bridge.superannuitant_masks", + "nz.scn.S5.bridge.base_rate", + ): + _run(frame, *_row(node_id), engines) + family = frame.table("family") + return dict(zip(family["family_id"], family[_BASE], strict=True)) + + +def test_s5_pays_a_superannuitant_unit_from_its_nzs_base_rate(): + base = _s5_base_rate( + [Unit(receipt_group="superannuitant", adult_age=70), Unit(adult_age=30)] + ) + schedule = JobseekerShapeFixture() + assert base[100] == SuperannuationEngine.weekly + assert base[101] == schedule.single_standard + + +def test_a_partnered_superannuitant_unit_takes_coefficient_two_in_s5(): + base = _s5_base_rate( + [ + Unit(receipt_group="superannuitant", adult_age=70, partnered=True), + Unit(receipt_group="superannuitant", adult_age=70, children=(12,)), + ] + ) + assert base[100] == 2 * SuperannuationEngine.weekly + credit = TaxCreditEngine.eldest / 52 + assert abs(base[101] - (SuperannuationEngine.weekly + credit)) <= 1e-9 + + +def test_the_central_base_rate_keeps_jobseeker_for_superannuitant_units(): + _, _, base, _ = _bridge( + [Unit(receipt_group="superannuitant", adult_age=70, partnered=True)] + ) + assert base[100] == 2 * JobseekerShapeFixture().both_main_without_children + + +def test_reporting_and_gap_read_the_entitled_payment(): + resources = _SPEC["resources"] + conventions = resources["scenarios"]["gap_conventions"] + assert conventions["reporting_cells"]["measure"] == _ENTITLED + rows = { + row["metadata"]["holdout_use"]: row + for row in resources["holdout_references"]["target_references"] + if row["metadata"].get("activation_status") == "active" + } + assert rows["accommodation_supplement_recipient_comparator"]["measure"] == _POSITIVE + assert rows["accommodation_supplement_dollar_comparator"]["measure"] == _ENTITLED + for branch in _BRANCHES: + (family,) = [ + item + for item in _row(branch + ".gap")[0]["inputs"] + if item["entity"] == "family" + ] + assert _ENTITLED in family["columns"] and _PAYMENT not in family["columns"] + excluded = resources["export_contract"]["formula_owned_excluded"] + assert _ENTITLED in excluded diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py index c3a64c8373..675d8a954b 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py @@ -148,6 +148,7 @@ import subprocess import unicodedata from collections.abc import Callable, Iterator, Mapping, Sequence +from fractions import Fraction from functools import cache from pathlib import PurePosixPath from types import SimpleNamespace @@ -170,6 +171,7 @@ ) from microcosm.build.spec_engine import load_yaml12 from microcosm.frame import concepts as frame_concepts +from microcosm.frame.concept_mapping import MAPPING_FORMAT from microcosm.frame.input_closure import INPUT_CLOSURE_FORMAT from test_support.paths import paths_for @@ -992,7 +994,7 @@ def dotted_symbol_citations(value: object) -> set[str]: for key, child in value.items() for nested in ( [str(key)] - if key == "format" and child == INPUT_CLOSURE_FORMAT + if key == "format" and child in {INPUT_CLOSURE_FORMAT, MAPPING_FORMAT} else [str(key), child] ) for dotted in dotted_symbol_citations(nested) @@ -1865,7 +1867,9 @@ def test_export_contract_excludes_exactly_the_bound_outputs(self) -> None: # Differential: the export gate's formula-owned list and the bindings. contract = _load("export_contract.json") bound = {v for binding in _bindings().values() for v in binding["variables"]} - assert set(contract["formula_owned_excluded"]) == bound + # H25: the gated entitlement payment is a formula output too. + entitled = "accommodation_supplement_entitled_weekly_payment" + assert set(contract["formula_owned_excluded"]) == bound | {entitled} assert contract["closed"] is True assert set(contract["forbidden"]) == {"person_weight", "family_weight"} assert ( @@ -1878,21 +1882,44 @@ def test_bridge_evaluates_only_bound_variables_under_real_input_names(self) -> N bindings = _bindings() surface = _input_surface() assert set(bridge["rate_bindings"]) <= set(bindings) - evaluations = [] - for output in bridge["outputs"]: - evaluations += output.get("terms", []) - for branch in output.get("branches", []): - evaluations += branch["evaluations"] + reg17, reg18 = bridge["outputs"] + s5 = bridge["superannuitant_units"]["s5_base_rate"] + # Each declaration's overrides apply to its primary binding; component + # overrides apply to their own binding. + override_sets = [ + (reg17["primary_binding"], reg17["input_overrides"]), + (reg18["gross_rate"]["binding"], reg18["gross_rate"]["input_overrides"]), + (reg18["solve"]["binding"], reg18["solve"]["input_overrides"]), + *( + (component["binding"], component["input_overrides"]) + for declaration in (reg17, s5) + for component in declaration["components"] + ), + ] + evaluations = [ + *reg17["terms"], + reg18["gross_rate"], + *(term for term in reg18["solve"]["terms"] if "variable" in term), + *s5["terms"], + ] assert evaluations + allowed = set(bridge["rate_bindings"]) | {"nz_super"} for evaluation in evaluations: binding = bindings[evaluation["binding"]] - assert evaluation["binding"] in bridge["rate_bindings"] + assert evaluation["binding"] in allowed assert evaluation["variable"] in binding["variables"] assert evaluation["engine_entity"] == binding["engine_entity"] - inputs = set(surface[binding["rulespec_path"]]["canonical_inputs"]) - overrides = [row["variable"] for row in evaluation["input_overrides"]] + for name, rows in override_sets: + inputs = set(surface[bindings[name]["rulespec_path"]]["canonical_inputs"]) + overrides = [row["variable"] for row in rows] assert len(set(overrides)) == len(overrides) assert set(overrides) <= inputs + solve_input = reg18["solve"]["solve_input"]["column"] + assert solve_input in set( + surface[bindings["main_benefits_rates"]["rulespec_path"]][ + "canonical_inputs" + ] + ) def test_bridge_targets_are_the_two_as_inputs_the_module_leaves_open(self) -> None: bridge = _load("as_rate_bridge.json") @@ -1914,12 +1941,28 @@ def test_bridge_targets_are_the_two_as_inputs_the_module_leaves_open(self) -> No def test_bridge_reads_only_unit_attributes_the_unit_rule_declares(self) -> None: declared = set(_load("benefit_unit_rule.json")["unit_attributes"]["columns"]) - bridge_text = json.dumps(_load("as_rate_bridge.json")) + bridge = _load("as_rate_bridge.json") + bridge_text = json.dumps(bridge) used = { f"family.{name}" for name in re.findall(r"family\.([a-z_]+)", bridge_text) } + # The bridge's own mask node derives these columns from unit attributes. + derived = { + f"family.{column['name']}" + for bindings in ( + bridge["mask_bindings"], + bridge["superannuitant_units"]["s5_mask_bindings"], + ) + for column in bindings["columns"] + } | {f"family.{bridge['outputs'][1]['gross_rate']['column']}"} assert used - assert used <= declared + assert used - derived <= declared + for bindings in ( + bridge["mask_bindings"], + bridge["superannuitant_units"]["s5_mask_bindings"], + ): + for column in bindings["required_inputs"]["family"]: + assert f"family.{column}" in declared or column == "receipt_group" def test_reg17_family_tax_credit_term_uses_the_statutory_divisor(self) -> None: (base_rate,) = [ @@ -1927,8 +1970,12 @@ def test_reg17_family_tax_credit_term_uses_the_statutory_divisor(self) -> None: for output in _load("as_rate_bridge.json")["outputs"] if output["id"] == "reg17_base_rate" ] - (ftc,) = [term for term in base_rate["terms"] if "divisor" in term] - assert ftc["divisor"] == 52 + (ftc,) = [ + term + for term in base_rate["terms"] + if term["variable"] == "family_tax_credit_prescribed_amount" + ] + assert Fraction(ftc["coefficient"]) == Fraction(1, 52) # --------------------------------------------------------------------------- @@ -2300,6 +2347,7 @@ def test_committed_grid_satisfies_the_scenario_contract(self) -> None: "V2", "V3", "V4", + "VHF", ] branch_points = { tier: row["branch_point"] for tier, row in document["tiers"].items() @@ -4065,7 +4113,12 @@ def test_income_names_assigned_receipt_and_gross_components_only(self) -> None: } assert all(row["annualisation_factor"] == 1 for row in market) benefits = [row for row in classifier["components"] if row["kind"] == "benefit"] - assert all(row["annualisation_factor"] == 52 for row in benefits) + # Main benefits read the gross-up's annual gross; NZ Super stays weekly. + assert all( + row["annualisation_factor"] + == (52 if row["receipt_column"] == "receives_nz_super" else 1) + for row in benefits + ) assert all(row["tax_basis"] == "before_tax" for row in classifier["components"]) super_income = next( row for row in benefits if row["receipt_column"] == "receives_nz_super" @@ -4092,7 +4145,7 @@ def test_before_tax_paid_amounts_resolve_without_blocked_inputs(self) -> None: for row in classifier["components"] if row["kind"] == "benefit" and row["receipt_column"] != "receives_nz_super" } == { - f"{program}_gross_weekly_payment" + f"{program}_annual_gross" for program in ( "jobseeker_support", "sole_parent_support", @@ -4262,17 +4315,18 @@ def test_pinned_donor_unit_ids_survive_rebuilds_and_row_permutations(self) -> No assert units["family_id"].tolist() == [102, 201, 202] assert units["family_source_household_id"].tolist() == ["same_source"] * 3 - def test_s0_through_s3_structural_zero_cells_are_listed_on_support_entry( + def test_every_scenario_but_s5_lists_the_superannuitant_structural_zero( self, ) -> None: document = _load("reporting_classifiers.json") zeros = document["structural_zero_cells"] + # H26: MC11 excludes superannuitants everywhere but S5. assert zeros == [ { - "scenario": f"S{index}", + "scenario": scenario, "cell": "beneficiary_superannuitant_other/superannuitant", } - for index in range(4) + for scenario in ("S0", "S1", "S2", "S3", "V1", "V2", "V3", "V4", "VHF") ] support = next( row diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py index abcfef6bca..5dcda94b99 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_target_references.py @@ -818,7 +818,7 @@ def test_h1_count_and_h2_historical_annual_dollars_pin_distinct_source_cells(art h1, h2 = rows assert h1["measure"] == "accommodation_supplement_positive_payment_indicator" assert h1["metadata"]["indicator_input_column"] == ( - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_entitled_weekly_payment" ) assert h1["metadata"]["indicator_operator"] == "positive" assert h1["metadata"]["indicator_threshold"] == "0" @@ -826,7 +826,7 @@ def test_h1_count_and_h2_historical_annual_dollars_pin_distinct_source_cells(art assert h1["ledger_selector"]["geography_level"] == "country" assert h1["ledger_selector"]["geography_id"] == "NZ" assert h1["period"] == "2026-06" - assert h2["measure"] == "accommodation_supplement_rounded_weekly_payment" + assert h2["measure"] == "accommodation_supplement_entitled_weekly_payment" assert h2["metadata"]["annualisation_factor"] == "52" assert h2["ledger_selector"]["record_set_id"] == "msd.benefit_expenses.fy2024" assert h2["ledger_selector"]["dimension_values"] == { diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index c1216884c1..0317b924c3 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -219,17 +219,17 @@ def test_h1_counts_positive_rounded_payments_and_h2_annualises_dollars(): assert h1["measure"] != h2["measure"] assert h1["measure"] == "accommodation_supplement_positive_payment_indicator" assert h1["metadata"]["indicator_input_column"] == ( - "accommodation_supplement_rounded_weekly_payment" + "accommodation_supplement_entitled_weekly_payment" ) assert h1["metadata"]["indicator_operator"] == "positive" assert h1["metadata"]["indicator_threshold"] == "0" - assert h2["measure"] == "accommodation_supplement_rounded_weekly_payment" + assert h2["measure"] == "accommodation_supplement_entitled_weekly_payment" assert h2["ledger_selector"]["record_set_id"] assert h2["metadata"]["source_period_start"] == "2024-07-01" assert str(h1["metadata"]["annualisation_factor"]) == "1" assert str(h2["metadata"]["annualisation_factor"]) == "52" measure = resources["scenarios"]["gap_conventions"]["reporting_cells"]["measure"] - assert measure == "accommodation_supplement_rounded_weekly_payment" + assert measure == "accommodation_supplement_entitled_weekly_payment" def test_non_exempt_inactive_rows_still_name_their_activation_gap(): @@ -513,14 +513,28 @@ def test_nz_h1_has_a_positive_payment_producer_and_native_annualisation_factors( assert all(type(value) is int for value in factors.values()) rows = _rows(spec)[0] bindings = spec["resources"]["holdout_comparator_bindings"] - predicate = bindings["columns"][0] - assert predicate["predicates"] == [ - { - "column": "accommodation_supplement_rounded_weekly_payment", - "operator": "gt", - "value": 0, - } - ] + # H25 and H26: payment > 0, the judgment holds, and outside S5 the unit is + # not superannuitant. + payment = { + "column": "accommodation_supplement_rounded_weekly_payment", + "operator": "gt", + "value": 0, + } + holds = { + "column": "accommodation_supplement_non_rate_entitlement_requirements", + "operator": "eq", + "value": 1, + } + receipt = { + "column": "receipt_group", + "operator": "in", + "value": ["beneficiary", "other"], + } + (predicate,) = bindings["central"]["columns"] + assert predicate["predicates"] == [payment, holds, receipt] + (alternative,) = bindings["s5"]["columns"] + assert alternative["predicates"] == [payment, holds] + assert alternative["name"] == predicate["name"] for row, _ in rows: if row["kernel"] == "takeup.gap@1": assert ( @@ -535,6 +549,8 @@ def test_nz_h1_has_a_positive_payment_producer_and_native_annualisation_factors( ) assert positive["kernel"] == "calibration.prepare@1" assert positive["population"] == row["population"] + branch = "s5" if row["id"] == "nz.scn.S5.gap" else "central" + assert positive["params"]["bindings"]["path"] == [branch] assert positive["outputs"] == [ {"entity": "family", "column": predicate["name"], "dtype": "bool"} ] diff --git a/tools/build_nz_entitlement_graph.py b/tools/build_nz_entitlement_graph.py index a3645990d2..e371567160 100644 --- a/tools/build_nz_entitlement_graph.py +++ b/tools/build_nz_entitlement_graph.py @@ -26,6 +26,11 @@ AS_BINDING = "accommodation_supplement" PAYMENT = "accommodation_supplement_rounded_weekly_payment" POSITIVE = "accommodation_supplement_positive_payment_indicator" +ENTITLED = "accommodation_supplement_entitled_weekly_payment" +JUDGMENT = "accommodation_supplement_non_rate_entitlement_requirements" +#: The code the Axiom adapter's judgment decoder gives "holds" (-1 not holds, +#: 0 undetermined); only holds passes. +HOLDS = 1 ENTITIES = ["person", "household", "family"] #: The FILTER branch of nz.as on which the shared bridge nodes run. SHARED_BRIDGE = "nz.as.bridge" @@ -133,7 +138,7 @@ def _term(row, target, primary, bindings): return term -def _bridge_inputs(nz, *extra): +def _bridge_inputs(nz, *extra, person=()): bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} closure = read(nz, "axiom_input_closure") rate_path = bindings["main_benefits_rates"]["rulespec_path"] @@ -154,7 +159,7 @@ def _bridge_inputs(nz, *extra): ), *extra, ] - return [slices("person", rate_inputs), slices("family", family)] + return [slices("person", [*rate_inputs, *person]), slices("family", family)] def bridge_masks(nz, population, prefix): @@ -254,42 +259,89 @@ def cutout_nodes(nz, population, prefix): ] -def base_rate_node(nz, population, prefix): - """Reg 17: one counterfactual over the main-benefit and tax-credit modules.""" +def base_rate_node(nz, population, prefix, *, s5=False): + """Reg 17: one counterfactual over the main-benefit and tax-credit modules. + + S5 replaces the Jobseeker amount for superannuitant units with the NZ + Superannuation amount before tax (``superannuitant_units.s5_base_rate``). + """ bridge = read(nz, "as_rate_bridge") bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} reg17 = bridge["outputs"][0] - primary = reg17["primary_binding"] - target = reg17["target_input"] + declaration = bridge["superannuitant_units"]["s5_base_rate"] if s5 else reg17 + primary = declaration["primary_binding"] + target = declaration["target_input"] components = [] - for component in reg17["components"]: + for component in declaration["components"]: name = component["binding"] components.append( { "engine_ref": binding(name), "period": binding(name, "period"), - "variables": [ - term["variable"] - for term in reg17["terms"] - if term["binding"] == name - ], + "variables": list( + dict.fromkeys( + term["variable"] + for term in declaration["terms"] + if term["binding"] == name + ) + ), "input_overrides": _overrides( component["input_overrides"], bindings[name]["entity"] ), } ) - terms = [_term(row, target, primary, bindings) for row in reg17["terms"]] + terms = [_term(row, target, primary, bindings) for row in declaration["terms"]] + extra, person = (), () + if s5: + masks = bridge["superannuitant_units"]["s5_mask_bindings"]["columns"] + extra = tuple(column["name"] for column in masks) + closure = read(nz, "axiom_input_closure") + super_path = bindings["nz_super"]["rulespec_path"] + person = tuple( + entry["input"] + for entry in closure["entries"] + if entry["rulespec_path"] == super_path and entry["entity"] == "Person" + ) return node( f"{prefix}.bridge.base_rate", - reg17["kernel"], + declaration["kernel"], population, sources=["rulespec_nz"], - inputs=_bridge_inputs(nz), + inputs=_bridge_inputs(nz, *extra, person=person), outputs=[owned("family", target)], params=_counterfactual_params( primary, _overrides(reg17["input_overrides"]), terms, components ), - description="The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit.", + description=( + "The engine evaluates the S5 reg 17 base rate, with NZ Superannuation before tax for superannuitant units." + if s5 + else "The engine evaluates the reg 17 base rate from zero-income Jobseeker Support and the eldest-child family tax credit." + ), + ) + + +def superannuitant_masks(nz, population, prefix): + """S5's single and partnered masks crossed with the superannuitant group.""" + masks = read(nz, "as_rate_bridge")["superannuitant_units"]["s5_mask_bindings"] + return node( + f"{prefix}.bridge.superannuitant_masks", + "calibration.prepare@1", + population, + inputs=[ + slices(entity, columns) + for entity, columns in masks["required_inputs"].items() + ], + outputs=[ + owned(column["entity"], column["name"], "bool") + for column in masks["columns"] + ], + params={ + "bindings": select( + "as_rate_bridge", "json", "superannuitant_units", "s5_mask_bindings" + ), + "references": select("holdout_references"), + "references_sha256": select("holdout_references", "sha256"), + }, ) @@ -385,6 +437,7 @@ def reporting_nodes(nz, population, prefix, scenario, *, baseline=False): def as_nodes(nz, population, prefix, scenario, *, baseline=False): + s5 = scenario == "S5" bindings = {row["id"]: row for row in read(nz, "axiom_rules_bindings")["bindings"]} closure = read(nz, "axiom_input_closure") as_inputs = [ @@ -399,8 +452,16 @@ def as_nodes(nz, population, prefix, scenario, *, baseline=False): "accommodation_supplement_social_housing_exclusion_not_applies", "accommodation_supplement_other_funding_exclusion_not_applies", } + entitled = { + "variable": PAYMENT, + "coefficient": 1, + "entity": "family", + "column": ENTITLED, + "mask": {"entity": "family", "column": POSITIVE, "equals": True}, + } return [ - base_rate_node(nz, population, prefix), + *([superannuitant_masks(nz, population, prefix)] if s5 else []), + base_rate_node(nz, population, prefix, s5=s5), node( f"{prefix}.as", "simulate.rules_by_ref@1", @@ -421,14 +482,40 @@ def as_nodes(nz, population, prefix, scenario, *, baseline=False): f"{prefix}.positive_payment", "calibration.prepare@1", population, - inputs=[slices("family", [PAYMENT])], + inputs=[ + slices( + "family", + [PAYMENT, JUDGMENT, *([] if s5 else ["receipt_group"])], + ) + ], outputs=[owned("family", POSITIVE, "bool")], params={ - "bindings": select("holdout_comparator_bindings"), + "bindings": select( + "holdout_comparator_bindings", "json", "s5" if s5 else "central" + ), "references": select("holdout_references"), "references_sha256": select("holdout_references", "sha256"), }, ), + node( + f"{prefix}.as.entitled", + "simulate.counterfactual@1", + population, + sources=["rulespec_nz"], + inputs=[ + slices("person", ["age"]), + slices("family", [*as_inputs, POSITIVE]), + ], + outputs=[owned("family", ENTITLED)], + params={ + "engine_ref": binding(AS_BINDING), + "period": binding(AS_BINDING, "period"), + "variables": [PAYMENT], + "input_overrides": [], + "output_coefficients": [entitled], + }, + description="The rounded Accommodation Supplement payment where the positive-payment conjunction holds, zero elsewhere.", + ), node( f"{prefix}.gap", "takeup.gap@1", @@ -440,7 +527,7 @@ def as_nodes(nz, population, prefix, scenario, *, baseline=False): slices( "family", [ - PAYMENT, + ENTITLED, POSITIVE, "family_type", "income_decile", @@ -462,6 +549,37 @@ def as_nodes(nz, population, prefix, scenario, *, baseline=False): ] +def comparator_bindings(nz, *, exclude_superannuitants): + """H25's positive-payment conjunction; MC11 adds the receipt-group clause.""" + groups = read(nz, "reporting_classifiers")["receipt_group"] + values = [*groups["priority"], groups["default"]] + required = [PAYMENT, JUDGMENT] + domains = { + PAYMENT: {"kind": "nonnegative_number"}, + JUDGMENT: {"values": [-1, 0, 1]}, + } + predicates = [ + {"column": PAYMENT, "operator": "gt", "value": 0}, + {"column": JUDGMENT, "operator": "eq", "value": HOLDS}, + ] + if exclude_superannuitants: + required.append("receipt_group") + domains["receipt_group"] = {"values": values} + predicates.append( + { + "column": "receipt_group", + "operator": "in", + "value": [value for value in values if value != "superannuitant"], + } + ) + return { + "schema_version": 1, + "required_inputs": {"family": required}, + "input_domains": {"family": domains}, + "columns": [{"entity": "family", "name": POSITIVE, "predicates": predicates}], + } + + def documents(nz=NZ): from build_nz_transport_graph import calibration_nodes @@ -518,6 +636,10 @@ def documents(nz=NZ): ] ) scenario["nodes"] = rows + scenarios_document = {**read(nz, "scenarios"), "scenarios": scenarios} + conventions = copy.deepcopy(scenarios_document["gap_conventions"]) + conventions["reporting_cells"]["measure"] = ENTITLED + scenarios_document["gap_conventions"] = conventions return { "entitlement_graph": { "schema_version": 1, @@ -539,17 +661,10 @@ def documents(nz=NZ): }, "holdout_comparator_bindings": { "schema_version": 1, - "required_inputs": {"family": [PAYMENT]}, - "input_domains": {"family": {PAYMENT: {"kind": "nonnegative_number"}}}, - "columns": [ - { - "entity": "family", - "name": POSITIVE, - "predicates": [{"column": PAYMENT, "operator": "gt", "value": 0}], - } - ], + "central": comparator_bindings(nz, exclude_superannuitants=True), + "s5": comparator_bindings(nz, exclude_superannuitants=False), }, - "scenarios": {**read(nz, "scenarios"), "scenarios": scenarios}, + "scenarios": scenarios_document, } diff --git a/tools/build_nz_transport_graph.py b/tools/build_nz_transport_graph.py index c52d9f2fed..121e2dc1a6 100644 --- a/tools/build_nz_transport_graph.py +++ b/tools/build_nz_transport_graph.py @@ -33,6 +33,7 @@ ROOT = Path(__file__).resolve().parents[1] NZ = ROOT / "packages/microcosm-build/src/microcosm/build/nz" ENTITIES = ("person", "household", "family") +ENTITLED_PAYMENT = "accommodation_supplement_entitled_weekly_payment" def read(name): @@ -755,6 +756,11 @@ def documents(): | {name for names in roster.values() for name in names} - set(export["required"]) ) + # The entitlement graph's gated payment is a formula output like the + # engine's own; the closed export never carries it. + export["formula_owned_excluded"] = sorted( + set(export["formula_owned_excluded"]) | {ENTITLED_PAYMENT} + ) export["entity_slices"] = {"export": roster, "gates": roster} export["_description"] = ( "The graph enforces this closed entity-qualified roster at composition. The export and terminal gate slices retain replay inputs and assigned receipt flags and exclude formula outputs, scratch cents and reporting state. Frame projection supplies structural identifiers and memberships automatically." diff --git a/tools/generate_nz_target_references.py b/tools/generate_nz_target_references.py index 6b8eba7cf5..a9b434b707 100644 --- a/tools/generate_nz_target_references.py +++ b/tools/generate_nz_target_references.py @@ -882,14 +882,14 @@ def _holdout_references(inventory): ), "measure": "accommodation_supplement_positive_payment_indicator", "period": "2026-06", - "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_rounded_weekly_payment exceeds zero. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration.", + "notes": "H1 compares the June 2026 national recipient stock with family units whose accommodation_supplement_entitled_weekly_payment exceeds zero: the rounded payment where the engine judges the non-rate entitlement requirements to hold and, outside S5, the unit is not superannuitant. The declared positive-payment indicator counts each unit once, with factor 1; it never sums dollars. The national fact avoids a Work and Income region to Stats NZ region bridge. MC5 holds this comparison outside calibration.", } ) recipients["metadata"].update( { "activation_status": "active", "annualisation_factor": "1", - "indicator_input_column": "accommodation_supplement_rounded_weekly_payment", + "indicator_input_column": "accommodation_supplement_entitled_weekly_payment", "indicator_operator": "positive", "indicator_threshold": "0", "measurement_basis": "National positive-payment recipient count; June 2026 snapshot stock, not annual recipients or dollars.", @@ -912,8 +912,8 @@ def _holdout_references(inventory): }, ) ), - "measure": "accommodation_supplement_rounded_weekly_payment", - "notes": "H2 annualises accommodation_supplement_rounded_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set.", + "measure": "accommodation_supplement_entitled_weekly_payment", + "notes": "H2 annualises accommodation_supplement_entitled_weekly_payment by 52 and compares model dollars with the historical fiscal-year 2024/25 Accommodation Assistance line in MSD Annual Report 2025. The published appropriation may cover more than Accommodation Supplement; this comparator makes no AS-only scope claim and never uprates the historical observation. The selector pins msd.benefit_expenses.fy2024 because the feed repeats this amount in another record set.", } ) expenditure["metadata"].update( From 15fa011f9d80d6b1610a38623b48fe232b85a7f0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 20:29:12 +0000 Subject: [PATCH 08/15] Compose the packaged NZ graph and refresh its golden The packaged spec's activation preflight names exactly the two engine pins and the three pending money quantile maps, so _GAPS in test_transport_composed_graph.py stays as it was. A new test shows _check_export_contract needs no id or membership column in a slice: compile_graph refuses one with "reads household.household_id, which no node owns", because the executor projects ids for every sliced entity. The country-spec golden now carries the settled resource hashes, from the brief's regeneration script. Every NZ JSON resource already appears in country_package.json. Two test fixes cover failures that predated this session. The toy pending-money test now matches the preflight's actual message ("awaits a donor that carries it"). The axiom input closure tests now give as_area as the string codes the state bindings compare. Tests: test_country_spec.py 143 passed, test_nz_axiom_input_closure.py 17 passed and 1 skipped, test_transport_entitlement_graph.py 67 passed. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- .../shared/test_nz_axiom_input_closure.py | 20 +++++++---- .../shared/test_nz_transport_declarations.py | 36 +++++++++++++++++++ .../shared/test_nz_transport_toy_graph.py | 4 ++- .../tests/golden/nz_country_spec.json | 28 +++++++-------- 4 files changed, 66 insertions(+), 22 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py index 45535209c4..ea86fae457 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_axiom_input_closure.py @@ -265,13 +265,19 @@ def _with_state(tables, data) -> dict[str, pd.DataFrame]: dtype=bool, ) for column in ("as_area", "as_area_alt"): - household[column] = np.asarray( - data.draw( - st.lists( - st.integers(1, 4), min_size=len(household), max_size=len(household) + # The state bindings compare the declared string geography codes. + household[column] = pd.array( + [ + str(code) + for code in data.draw( + st.lists( + st.integers(1, 4), + min_size=len(household), + max_size=len(household), + ) ) - ), - dtype=np.int64, + ], + dtype="string", ) return {"person": person, "household": household} @@ -409,7 +415,7 @@ def _golden_frame() -> dict[str, pd.DataFrame]: "mortgage_interest": [0.0], "mortgage_principal": [0.0], "property_tax": [0.0], - "as_area": np.asarray([1], dtype=np.int64), + "as_area": pd.array(["1"], dtype="string"), } ) return {"person": person, "household": household} diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index 0317b924c3..2539f166b6 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -883,3 +883,39 @@ def test_nz_every_instantiated_encoder_output_declares_an_explicit_graph_dtype() assert row["outputs"], row["id"] for output in row["outputs"]: assert output.get("dtype") in DTYPES, (row["id"], output) + + +def test_nz_export_slices_need_no_ids_because_compile_refuses_them(): + """_check_export_contract counts projected ids; no slice may name one. + + The executor projects ids and memberships for every sliced entity, so a + slice that names one asks for a cell that no node owns. + """ + from microcosm.frame import EntitySchema + from microcosm.frame.unit_construction import BenefitUnitRule + from microcosm.graph import GraphError + + spec, config = _nz_composition_spec_and_config() + resources = spec["resources"] + rule = BenefitUnitRule.from_spec(resources["benefit_unit_rule"]) + schema = EntitySchema(group_entities=("household", rule.entity)) + automatic = { + schema.person_id_column, + *(schema.membership_column(group) for group in schema.group_entities), + *(schema.id_column(group) for group in schema.group_entities), + } + for roster in resources["export_contract"]["entity_slices"].values(): + assert not automatic & {column for names in roster.values() for column in names} + for role in ("export", "gates"): + resources["export_contract"]["entity_slices"][role]["household"].append( + "household_id" + ) + for row in resources["transport_graph"]["nodes"]: + if row["id"] in {"nz.export.prepare", "nz.gates.terminal"}: + for item in row["inputs"]: + if item["entity"] == "household": + item["columns"].append("household_id") + with pytest.raises( + GraphError, match=r"reads household\.household_id, which no node owns" + ): + compose.compose_transport_graph(spec, config) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py index 39b2e01ce1..3950f1f339 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py @@ -301,8 +301,10 @@ def test_consumed_pending_money_names_its_missing_producer(toy): if row["id"] == "nz.encode.person" ) row["inputs"].append(_slice("person", ["dividend_income"])) + # A pending column's gap names what it awaits, here a carrying donor. with pytest.raises( - ValueError, match="dividend_income.*pending|pending.*dividend_income" + ValueError, + match=r"money column person\.dividend_income awaits a donor that carries it", ): validate_transport_activation(spec) diff --git a/packages/microcosm-build/tests/golden/nz_country_spec.json b/packages/microcosm-build/tests/golden/nz_country_spec.json index 3b424dabe2..cf2bf1f24a 100644 --- a/packages/microcosm-build/tests/golden/nz_country_spec.json +++ b/packages/microcosm-build/tests/golden/nz_country_spec.json @@ -1,6 +1,6 @@ { "country": "nz", - "fingerprint": "e35055f63946fbd6b84a3963803e7655d86e6cd1eede111f351a6fc827993077", + "fingerprint": "b5ecdb55e7b36d157a805594e7429c423c134c06589e3ef28309006e134aaf8c", "gate_ids": [ "calibration_per_family_fit", "demography_per_family_fit", @@ -40,11 +40,11 @@ "resource_hashes": { "as_area_crosswalk.json": "56eeb638d77c73fd92ca541d9d2f249fd3062bece0503470e0e85dde70c4c05b", "as_encoding.json": "91e0e9972abfaaa202a13ede6e2dbc815a4c6c9514726c970928a47adfef0e32", - "as_rate_bridge.json": "c6e21af7b090283431973a5610cc3adf5d783a4a01fb0051d5dc6c8347eeabb0", + "as_rate_bridge.json": "25fa43210fd91655988933fe23ac6411bc30ddeb73c480c24da19999ffa2da22", "atomic_geography_support.json": "6efd09d5cde2f16d4d01e522a721191a829a754d2ce019d75bb0407085ecb4b7", - "axiom_input_closure.json": "28724fc0535093d12802430546eed74b4f8729b33dff936ef7a85c16f09de14c", + "axiom_input_closure.json": "1c237a316eecffd8d8eb9258a451b992373b804d72b411895337647c272731aa", "axiom_rules_bindings.json": "fb163e4842c8a910d63bd0ecf0fc81e5a55a2dddaa9cde66a52d9f4ff2c791f3", - "benefit_gross_up.json": "0f5779b2d0c78f8435867fc8bacd4bb471dad62bc2f55720dfaea30ce15ee862", + "benefit_gross_up.json": "bb0100927c3d666f497b24694109463de247d53d6e7ee0cfa092255e33c5514e", "benefit_unit_rule.json": "a9e8cbfd38a64d2f8db0002fe8c31bb5a18fb34dbe59fa943336487ce95e2ca8", "calibration_bindings.json": "abf5278b51a13530e2c589a932942a185f5dda095c1eb3e4bc703999c24852b3", "calibration_settings.json": "56e4d1da8468245da6bd41daf263425cc65e4e9c9f11ff45eee459d3aed1989e", @@ -52,23 +52,23 @@ "concept_mapping.json": "25171d7599a9d565e158af9ca010477db87ff0876bd374374329c0c58bf9f8bf", "country_package.json": "18e57f36d4d5f3d047e1a9c7b832371332205a25c78140d38bf5876dbd2e39bd", "currency_bridge.json": "a23fcf09d364d22f346d3faf2ed59ddb6d2b2da88c9757e46f1d624b175ad21b", - "entitlement_graph.json": "f2395ad3a92b8e9594d12b00b70cff9a4ce99ca7ea1f4649acbb2c1ca5215d92", - "export_contract.json": "3f6c9fff388d51aa2d8cc3e75883e5637db1537f56c161d9d29de0bbb30c4155", - "export_replay_bindings.json": "0c4eda95e7f9c9d50876c6f6e8370e83e86b28aac33ec47b2e8d649b05345e13", + "entitlement_graph.json": "75be6d21bae116691711a4c2191b2120603a3e048758d37e21361166ab120b5a", + "export_contract.json": "9483b44ef0646aee4556ec2bce1e744bd102685ebf393d6a3eef5ee1b4b377b5", + "export_replay_bindings.json": "49f070588488eaf1250edef89104fe7713994b2ebf89c4b2075e2071732f1ab5", "family_reconciliation.json": "20e3f9f3ce6266d57828d721c99d15bd3642e6c6314a7076ec38972de02bc69e", "gap_annualisation.json": "54762c18c549d2f1f35a630358080e3d581abab901b52a62b4f279830f3f8536", - "gates.json": "f6cab4f965f9fe278ada6ebd6d315df0b727b0b3e29962103ab8649cdc1bb96e", + "gates.json": "a60f3c077d1a3b0bc22128447aab88a4cc0275e1fdec274cd56db2120d2bada3", "geography_assignment.json": "e25c687e061dc0eac863570d233236329c62e253585bea194af2d7213b1ac088", "geography_spine.json": "5f2b1bdd9f8768249912ffd0fbcb2f7d4ed493b51c74306f793ec12441fd383f", - "holdout_comparator_bindings.json": "6207ad2043dc5abf8526b672738f5a63db40b77edae4a1b1fe196d47ccbac8a0", - "holdout_references.json": "2b8ccb4a5bdc427ccf5247994dfbfe703877f5c05baa66dfeda6883f83677daf", + "holdout_comparator_bindings.json": "bee86794af30953c4f7f922edd07900dbcad38f17ecb398be10bdd8b2d43297c", + "holdout_references.json": "c779749905c8266020122734e8a468eebf27a222e919b03bce5472cb65076a32", "mass_references.json": "1c1e7e6e1af8917917fc84072ed39b4298ad0444f04906fa6a594ebc2e48a926", "money_normalization.json": "5e817f0b859eacc44a4f96a57923b8af8498b0bbe169565650312b9547c8157c", "money_normalization_hold_fixed.json": "0c18df28a18a8cc80cf7249ddc4e094b9931cdcdeb52e964155f8d56ae1b718d", "msd_benefit_rates_20260401.json": "1d03bcbe2ff34a27e6efe42e69871a71271c4e16fe9e3327f79acb8dba7d6b26", "msd_pre_activation_reconciliation.json": "375f69ae216b4a8ea553ad85b7fabc97b6b96dc2d6ac064df2cde076b9451be4", "precal_references.json": "a66dac9acd9becd3cc901dbd2d386813923400d403bd32b72db240ff351b3e30", - "precalibration_stages.json": "f2a13c707a57626ef98f3f9218c1405012840ef484e92a2665763cf67da7a009", + "precalibration_stages.json": "f2136a69ebbfc0ee4d5e657034bc44ed4814a85122520f29bf0b568dc3bbc6a8", "receipt_contract.json": "a8a7f863e76ec97d3660d5aa1cdcc9e538f70ffb210409a847097db9dc27858b", "reference_aging.json": "e7619ec7a02ae5f460a46d160e89c9c9836c8b1d03140aed2348761e590504f0", "reference_intervals.json": "fcc88c0efd5f416aa15a7d5afbeee1d103dd78a136e13b1efc3973d203188412", @@ -76,8 +76,8 @@ "reference_profiles.json": "703f3eec0fe7071d601487c314e76e697dd242c1ce174a02b90fb2b56fcc6fec", "reference_selection.json": "687ab45531b5d45a07508b9ea035a70ae1ded6dd572c8ae6b031d950450714c5", "release_contract.json": "6cd5e3a4a2bf30e4025e04e964c393b24040937d13db7e6a07b3966a55f3b114", - "reporting_classifiers.json": "a1ec2a1d50ae97a76ec0c663621796fa8015aa26c983cd8e6cf47842c63c3c2e", - "scenarios.json": "808dc7a2beb7e3d322a815f66a5f7a09183c8df13b0a9cfe5461b93d4da693e8", + "reporting_classifiers.json": "5ce609b1da063add6f80ce8f226de05434bae4ded3fb14055432b844ae3e1fbc", + "scenarios.json": "55d724310896a4f1ad3cd4224eb3c14292339310102ec687a15e478414747fc9", "source_stages.json": "cc82c68878ac0fc07ecbd796c1a66de6f34786ef8785125046425c37f26aff31", "spec/bundle.yaml": "e9716ce827e9006d4efdc392e7aaf9cbc33c16112a8fbc423e8f3e74ec506d8e", "spec/catalogs.yaml": "3ab2025af39cba93ead707b9463e428430a45b30696a43d0906cbcd97ed36631", @@ -87,7 +87,7 @@ "spec/vintages.yaml": "1ecc1a3f952bd25b834c394314e8c933ddb5b095fd64ba492dddb03e3cdd803e", "target_references.json": "feb8630eac964e616dfb9a3de264a551a3834fb891e5b54417868965118ef5b3", "transport_atomic_geography_support.json": "53465827f67c87aaf5a06c305c082cbf1e6cdf28f3843e853d1e012635517d10", - "transport_graph.json": "e44f2065192bddac56d67a398b6161f2a18deb47795ce1e437aa70db9d824c84", + "transport_graph.json": "6f487b5d10bbee7f5062f84b5a81014cbd6cdfdafdd9d9133f71a4bb45c59e8f", "transport_inputs.json": "16d3957214d6305e3d3f41fe6343143a411d6055c75c43d3f171db3ee659ec2d" }, "resources": [ From cab751b5f0c95fc8f17b4601f5925056e470d1f4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 20:37:17 +0000 Subject: [PATCH 09/15] Reach the exact-slice refusal in the closed export test The test cut the export slice to person.age alone. That dropped the household and family entities, so the executor projected none of their ids and the earlier "required columns" refusal fired first. The test now drops one person roster column and keeps every entity, so only the exact-slice check can refuse. This failure predated this session. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- .../shared/test_transport_composed_graph.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py index 250e62f646..8030c58f9d 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py @@ -2199,12 +2199,13 @@ def test_closed_export_contract_enforces_exact_entity_slices(composed): "family_id", } assert "family_household_id" in selected - spec["resources"]["transport_graph"]["nodes"] = [ - {**row, "inputs": [{"entity": "person", "columns": ["age"]}]} - if row["id"] == "nz.export.prepare" - else row - for row in spec["resources"]["transport_graph"]["nodes"] - ] + # Keep every sliced entity, so ids still project, and drop one roster + # column: only the exact-slice check can refuse. + for row in spec["resources"]["transport_graph"]["nodes"]: + if row["id"] == "nz.export.prepare": + for item in row["inputs"]: + if item["entity"] == "person": + item["columns"] = item["columns"][:-1] with pytest.raises(ValueError, match="exact entity-qualified whole-row slice"): compose_transport_graph(spec, composed.config) From daeafb1c5b4cbf7d16cb809df2f8edad0e371c84 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 1 Nov 2026 21:22:27 +0000 Subject: [PATCH 10/15] Follow the money tests to the graph that now reads donor money Two tests in test_nz_money_normalization.py failed on this branch before the main merge. They asserted that no graph reads the normalized money and that the exchange rate lives in one resource. The packaged graph now reads donor money, so the preflight test asserts the three pending quantile maps by name. The VHF sibling declaration copies the central rate, so the rate test lists both locations and checks the two rates are equal. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FLymaTkqTaw45hgwZ --- .../shared/test_nz_money_normalization.py | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_money_normalization.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_money_normalization.py index 7ec6639e84..1e94149fb0 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_money_normalization.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_money_normalization.py @@ -378,9 +378,16 @@ def test_the_rate_has_one_source_and_the_bridge_points_to_it(): assert rate == Fraction(827, 500) assert evidence["citation"]["url"].startswith("https://www.irs.gov/") assert evidence["citation"]["column"] == "2024" + # The VHF sibling declaration copies the central rate; only its four + # index families differ (tools/build_nz_transport_graph.py). assert _spec_rate_locations(rate) == [ - ("money_normalization.json", ("rate", "text")) + ("money_normalization.json", ("rate", "text")), + ("money_normalization_hold_fixed.json", ("rate", "text")), ] + assert ( + _load("money_normalization_hold_fixed.json")["rate"] + == _load("money_normalization.json")["rate"] + ) assert _load("money_normalization.json")["rate"]["text"] == "1.654" bridge = _load("currency_bridge.json") assert bridge["rate"] == {"resource": "money_normalization.json", "path": ["rate"]} @@ -490,6 +497,15 @@ def test_a_tax_year_factor_is_refused_on_donor_money(profile): check_money_factor(relabelled, _declaration()) -def test_no_graph_reads_it_yet_so_preflight_names_no_money_gap(): +def test_preflight_names_exactly_the_three_pending_quantile_maps(): + """The packaged graph now reads donor money; only quantile maps remain.""" spec = compose_module.load_transport_spec("nz") - assert compose_module._money_producer_gaps(spec) == [] + gaps = compose_module._money_producer_gaps(spec) + assert [gap.split(" <- ")[0] for gap in gaps] == [ + f"money column {name} awaits quantile map" + for name in ( + "household.rent", + "person.employment_income", + "person.liquid_financial_assets", + ) + ] From 182cd234101e05bce31775f0f8a1a5e65c2d5cad Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 16:46:44 -0500 Subject: [PATCH 11/15] Run the shared AS bridge on its FILTER branch in the toy and spec Ruling H29 keeps the three shared bridge nodes on nz.as.bridge, a FILTER branch of nz.as, because any node on nz.as would re-key nz.terminal. The cloud build placed them there but never saw the ruling, so its two additions land here. scenarios.json's entitlement branch point now names nz.as.bridge. The synthetic NZ toy takes the packaged shape, so its scenarios descend from the branch. Two new tests hold the ruling: the FILTER keeps every person, unit and weight, and nz.terminal keeps the skeleton's own predecessors, with no bridge node anywhere in its ancestry. Local pytest waits on free disk, so CI runs these first. Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/nz/scenarios.json | 2 +- .../shared/test_nz_spec_package.py | 5 ++++- .../shared/test_nz_transport_declarations.py | 21 +++++++++++++++++++ .../shared/test_nz_transport_toy_graph.py | 17 +++++++++++++++ .../microcosm_build/transport_nz_toy.py | 12 ++++++++++- 5 files changed, 54 insertions(+), 3 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json index e8e720d13d..37f66861c1 100644 --- a/packages/microcosm-build/src/microcosm/build/nz/scenarios.json +++ b/packages/microcosm-build/src/microcosm/build/nz/scenarios.json @@ -6,7 +6,7 @@ "status": "The hub adopts the declared scenario set under H7; C1 rent ageing and D2 publication approval remain open.", "tiers": { "entitlement": { - "branch_point": "nz.as" + "branch_point": "nz.as.bridge" }, "calibration": { "branch_point": "nz.open" diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py index 675d8a954b..92cb573cc8 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_spec_package.py @@ -2352,7 +2352,10 @@ def test_committed_grid_satisfies_the_scenario_contract(self) -> None: branch_points = { tier: row["branch_point"] for tier, row in document["tiers"].items() } - assert branch_points == {"entitlement": "nz.as", "calibration": "nz.open"} + assert branch_points == { + "entitlement": "nz.as.bridge", + "calibration": "nz.open", + } assert [s["id"] for s in document["scenarios"] if not s["knobs"]] == ["S0"] def test_input_overrides_name_real_accommodation_supplement_inputs(self) -> None: diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index 2539f166b6..a5e1bbbc7f 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -752,6 +752,27 @@ def add_quantiles(rows): return spec, config +def test_nz_terminal_filter_keeps_the_skeletons_predecessors_and_ancestry(): + from microcosm.graph import compile_graph + + spec, config = _nz_composition_spec_and_config() + extended = compile_graph(compose.compose_transport_graph(spec, config)) + bare = copy.deepcopy(spec) + del bare["resources"]["entitlement_graph"] + skeleton = compile_graph(compose.compose_transport_graph(bare, config)) + assert set(extended.predecessors["nz.terminal"]) == set( + skeleton.predecessors["nz.terminal"] + ) + # Export and the terminal gates descend from here, so no bridge column can. + seen, frontier = set(), ["nz.terminal"] + while frontier: + fresh = set(extended.predecessors[frontier.pop()]) - seen + seen |= fresh + frontier += fresh + assert seen <= set(skeleton.order) + assert not {name for name in seen if ".bridge" in name} + + def test_nz_packaged_graph_produces_region_and_bridge_columns_from_named_nodes(): spec = _spec() rows = _instantiated_nz_rows(spec) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py index 3950f1f339..5a1398d9e7 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_toy_graph.py @@ -107,6 +107,23 @@ def test_synthetic_nz_graph_exports_and_packages_every_scenario(toy): assert report["enforcement"]["artifact_permitted"] is True +def test_bridge_filter_keeps_every_person_unit_and_weight(toy): + populations = toy[1][0].populations + whole, bridge = populations["nz.as"], populations["nz.as.bridge"] + for entity, identifiers in ( + ("person", ["person_id", "person_household_id", "person_family_id"]), + ("family", ["family_id"]), + ("household", ["household_id"]), + ): + pd.testing.assert_frame_equal( + bridge.table(entity)[identifiers], whole.table(entity)[identifiers] + ) + np.testing.assert_array_equal( + bridge.resolve_weights(entity).values, whole.resolve_weights(entity).values + ) + assert bridge.resolve_weights(entity).kind == whole.resolve_weights(entity).kind + + def test_s0_deciles_carry_by_unit_id_and_each_scenario_reports_shares(toy): fixture, run = toy manifest = run[0] diff --git a/test_support/microcosm_build/transport_nz_toy.py b/test_support/microcosm_build/transport_nz_toy.py index e5a8c7aee8..85bc3a11c5 100644 --- a/test_support/microcosm_build/transport_nz_toy.py +++ b/test_support/microcosm_build/transport_nz_toy.py @@ -82,6 +82,7 @@ ) SCENARIOS = ("S0", "S1", "V1", "V3", "VHF") +SHARED_BRIDGE = "nz.as.bridge" FLAGS = ("receives_main", "receives_other", "receives_pension") GROSS = ("toy_main_annual_gross", "toy_other_annual_gross") DEMOGRAPHY = tuple( @@ -771,11 +772,20 @@ def make_nz_toy_fixture(root): ] entitlement = r["entitlement_graph"] entitlement["scenario_nodes"] = [] + # As in the package, the shared bridge runs on its own FILTER branch. + shared = [ + row for row in entitlement["nodes"] if row["id"].startswith(SHARED_BRIDGE + ".") + ] + for row in shared: + row["population"] = SHARED_BRIDGE + entitlement["nodes"].insert( + entitlement["nodes"].index(shared[0]), _boundary(SHARED_BRIDGE, "nz.as") + ) for scenario in scenarios: name = scenario["id"] if name in ("S0", "S1"): pop = f"nz.scn.{name}" - nodes = [_boundary(pop, "nz.as")] + nodes = [_boundary(pop, SHARED_BRIDGE)] if name == "S1": nodes.append( _seed(pop, f"{pop}.override", scenario=True, fields=("as_assets",)) From 3e2181c0a5a8b23c438e61091312d903bd0cb44e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 18:48:23 -0500 Subject: [PATCH 12/15] Refresh the NZ golden for the entitlement branch point The golden pins every resource's hash, so H29's scenarios.json edit moves that hash and the spec fingerprint. Nothing else in the golden changes. Co-Authored-By: Claude Opus 5.5 --- packages/microcosm-build/tests/golden/nz_country_spec.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/microcosm-build/tests/golden/nz_country_spec.json b/packages/microcosm-build/tests/golden/nz_country_spec.json index cf2bf1f24a..8318fd8570 100644 --- a/packages/microcosm-build/tests/golden/nz_country_spec.json +++ b/packages/microcosm-build/tests/golden/nz_country_spec.json @@ -1,6 +1,6 @@ { "country": "nz", - "fingerprint": "b5ecdb55e7b36d157a805594e7429c423c134c06589e3ef28309006e134aaf8c", + "fingerprint": "fc9e3f65841862016207a1baa368e8ecf0476d194675ad8ec771811a5ea54f4f", "gate_ids": [ "calibration_per_family_fit", "demography_per_family_fit", @@ -77,7 +77,7 @@ "reference_selection.json": "687ab45531b5d45a07508b9ea035a70ae1ded6dd572c8ae6b031d950450714c5", "release_contract.json": "6cd5e3a4a2bf30e4025e04e964c393b24040937d13db7e6a07b3966a55f3b114", "reporting_classifiers.json": "5ce609b1da063add6f80ce8f226de05434bae4ded3fb14055432b844ae3e1fbc", - "scenarios.json": "55d724310896a4f1ad3cd4224eb3c14292339310102ec687a15e478414747fc9", + "scenarios.json": "b312f02b8555fcc083863456b38ba1c2faf07a71e841492acd5739fef77b60fe", "source_stages.json": "cc82c68878ac0fc07ecbd796c1a66de6f34786ef8785125046425c37f26aff31", "spec/bundle.yaml": "e9716ce827e9006d4efdc392e7aaf9cbc33c16112a8fbc423e8f3e74ec506d8e", "spec/catalogs.yaml": "3ab2025af39cba93ead707b9463e428430a45b30696a43d0906cbcd97ed36631", From a873b7b557650bcf6ddb39cf8cbae69c04ff3806 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 19:34:15 -0500 Subject: [PATCH 13/15] Read the export contract's automatic columns from declared units _check_export_contract read benefit_unit_rule directly, so a create@2 spec with an export contract refused for the missing resource. A stale legacy rule beside two declared partitions was worse: the check took the legacy schema and missed the second membership column, which the export node still receives. Belgium plans a create@2 spec with a contract, found this by running it and supplied the fix. The check now takes the schema from the CREATE declaration, with the same fallback as the relation check, so create@1 behaves as before. New tests cover one declared unit with no legacy rule, and two partitions with and without a stale rule, for a silent, allowing and forbidding roster. No kernel attests compose.py, so no hash moves. CI runs these first: local pytest waits on free disk. Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/transport/compose.py | 12 ++-- .../shared/test_transport_composed_graph.py | 70 +++++++++++++++++++ 2 files changed, 76 insertions(+), 6 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/transport/compose.py b/packages/microcosm-build/src/microcosm/build/transport/compose.py index 50d6dd4db0..506c8f0e62 100644 --- a/packages/microcosm-build/src/microcosm/build/transport/compose.py +++ b/packages/microcosm-build/src/microcosm/build/transport/compose.py @@ -88,7 +88,6 @@ from microcosm.calibrate.ordered_kernels import OUTPUT_TYPES from microcosm.frame.kernels import missing_relation_inputs from microcosm.frame.materialize import _WEIGHT_COLUMN_SUFFIX -from microcosm.frame.unit_construction import BenefitUnitRule from microcosm.graph import ( ROWS_ALL, ArtifactInput, @@ -1289,11 +1288,12 @@ def _check_export_contract( return if not _is_text(resource): raise ValueError("Transport export_contract must name a resource.") - from .registry import transport_entity_schema - - schema, _ = transport_entity_schema( - BenefitUnitRule.from_spec(transport_resource(spec, "benefit_unit_rule")) - ) + declaration = _versioned_create_units(spec) + if declaration is None: + declaration = create_unit_declaration( + CREATE_V1_REF, transport_resource(spec, "benefit_unit_rule") + ) + schema = declaration.entity_schema()[0] automatic = { entity: {schema.entity_id_column(entity)} for entity in schema.entities } diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py index 8030c58f9d..7a6ef3cb9f 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_composed_graph.py @@ -83,6 +83,7 @@ from microcosm.build.transport.target_kernels import CALIBRATION_PREPARE from microcosm.build.transport.terminal_kernels import materialize_export from microcosm.frame.kernels import SimulateRulesKernel +from microcosm.frame.unit_construction import MultiUnitRule, UnitDeclaration from microcosm.graph import ( ArtifactInput, ArtifactOutput, @@ -133,6 +134,7 @@ make_entitlement_fixture, ) from test_support.microcosm_build.transport_graph import descendants +from test_support.microcosm_build.transport_population import UNIT_RULE from test_support.paths import paths_for TRANSPORT = paths_for("microcosm-build").package / "src/microcosm/build/transport" @@ -2235,6 +2237,74 @@ def test_closed_export_contract_applies_roster_to_automatic_structural_columns( compose_transport_graph(spec, composed.config) +def _on_declared_units(value): + if isinstance(value, dict): + rows = {key: _on_declared_units(item) for key, item in value.items()} + if rows.get("resource") == "benefit_unit_rule": + rows["resource"] = "unit_declarations" + return rows + if isinstance(value, list): + return [_on_declared_units(item) for item in value] + return value + + +def _closed_export_on_create2(fixture, units, *, keep_legacy_rule=False): + """Move the closed-export spec to ``transport.create@2`` over ``units``.""" + spec = _closed_export_spec(fixture) + resources = spec["resources"] + legacy = resources.pop("benefit_unit_rule") + for name in ("transport_graph", "entitlement_graph", "scenarios"): + if name in resources: + resources[name] = _on_declared_units(resources[name]) + resources["unit_declarations"] = units.to_dict() + create = next( + row + for row in resources["transport_graph"]["nodes"] + if row.get("structural") == "create" + ) + create["kernel"] = "transport.create@2" + resources["axiom_rules_bindings"]["entity_names"]["assessment"] = "Assessment" + if keep_legacy_rule: + resources["benefit_unit_rule"] = legacy + return spec + + +def test_closed_export_contract_on_one_declared_unit_needs_no_legacy_rule(composed): + units = MultiUnitRule.from_benefit_unit(UNIT_RULE) + spec = _closed_export_on_create2(composed, units) + assert "benefit_unit_rule" not in spec["resources"] + compile_graph(compose_transport_graph(spec, composed.config)) + + +@pytest.mark.parametrize("keep_legacy_rule", [False, True]) +def test_closed_export_contract_covers_every_declared_partition( + composed, keep_legacy_rule +): + units = MultiUnitRule( + units=( + UnitDeclaration(kind="benefit_unit", rule=UNIT_RULE), + UnitDeclaration( + kind="benefit_unit", rule=replace(UNIT_RULE, entity="assessment") + ), + ) + ) + silent = _closed_export_on_create2( + composed, units, keep_legacy_rule=keep_legacy_rule + ) + with pytest.raises(ValueError, match="outside its closed roster"): + compose_transport_graph(silent, composed.config) + allowed = copy.deepcopy(silent) + allowed["resources"]["closed_export"]["optional"] += [ + "person_assessment_id", + "assessment_id", + ] + compile_graph(compose_transport_graph(allowed, composed.config)) + forbids = copy.deepcopy(allowed) + forbids["resources"]["closed_export"]["forbidden"] = ["person_assessment_id"] + with pytest.raises(ValueError, match="outside its closed roster"): + compose_transport_graph(forbids, composed.config) + + @pytest.mark.parametrize("kind", ["scratch_cents", "reporting", "formula"]) def test_closed_export_contract_refuses_scratch_reporting_and_formula_outputs( composed, kind From fe33541b0d8542c51ef97f429bec78b93a92fe48 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 19:47:39 -0500 Subject: [PATCH 14/15] Clear #1440's roster failures and pin the graph builders Belgium's run at a873b7b5 found two failures on this tree that main doesn't have. CI couldn't show them, because the engine-free run stops at its first failure. - A packaged concept mapping spells each binding's RuleSpec file as `module`. ConceptMapping.from_dict reads that field and the transport kernels select bindings by it, so the entrypoint scan now admits it, only at a concept_mapping.json binding and only for a country's RuleSpec YAML path. A new test shows every other shape stays refused. - NZ's closed legacy_json roster gains the eleven resources this PR declares. No test ran the graph builders' --check, so a later edit to the adapter's nz.json would have left the packaged mapping behind. The new test needs no artifact, and a mutant of nz.json on a copy turns the check red. Co-Authored-By: Claude Opus 5.5 --- .../shared/test_nz_transport_declarations.py | 22 +++++++++++ .../test_spec_engine_country_bundles.py | 11 ++++++ .../shared/test_spec_only_country_packages.py | 39 ++++++++++++++++++- 3 files changed, 71 insertions(+), 1 deletion(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py index a5e1bbbc7f..9b66723888 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_nz_transport_declarations.py @@ -300,6 +300,28 @@ def test_declaration_generators_round_trip_through_check(generator): assert result.returncode == 0, result.stdout + result.stderr +@pytest.mark.parametrize( + "builder", + [ + "build_nz_benefit_gross_up.py", + "build_nz_entitlement_graph.py", + "build_nz_transport_graph.py", + ], +) +def test_packaged_graph_resources_match_their_builders(builder): + # The transport builder reads the adapter's nz.json, so this also keeps the + # transport kernels and the Axiom adapter on one concept mapping. + root = paths_for("microcosm-build").repository + result = subprocess.run( + [sys.executable, str(root / "tools" / builder), "--check"], + cwd=root, + capture_output=True, + text=True, + check=False, + ) + assert result.returncode == 0, result.stdout + result.stderr + + def _instantiated_nz_rows(spec): from microcosm.build.transport.entitlement import _rows diff --git a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py index 2eeff5bdf8..5b4c45ee6c 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_country_bundles.py @@ -237,6 +237,7 @@ def test_nz_generation_zero_views_come_from_the_country_spec_seam() -> None: assert not spec.release_contract.artifact_repo_private assert {row.path for row in spec.resource_rows if row.kind == "legacy_json"} == { "as_area_crosswalk.json", + "as_encoding.json", "as_rate_bridge.json", "atomic_geography_support.json", "axiom_input_closure.json", @@ -246,14 +247,21 @@ def test_nz_generation_zero_views_come_from_the_country_spec_seam() -> None: "calibration_bindings.json", "calibration_settings.json", "chronicle_feed.json", + "concept_mapping.json", "currency_bridge.json", + "entitlement_graph.json", "export_contract.json", + "export_replay_bindings.json", "family_reconciliation.json", + "gap_annualisation.json", "gates.json", + "geography_assignment.json", "geography_spine.json", + "holdout_comparator_bindings.json", "holdout_references.json", "mass_references.json", "money_normalization.json", + "money_normalization_hold_fixed.json", "msd_benefit_rates_20260401.json", "msd_pre_activation_reconciliation.json", "precal_references.json", @@ -269,6 +277,9 @@ def test_nz_generation_zero_views_come_from_the_country_spec_seam() -> None: "scenarios.json", "source_stages.json", "target_references.json", + "transport_atomic_geography_support.json", + "transport_graph.json", + "transport_inputs.json", } diff --git a/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py b/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py index 4225969967..3b162f52f0 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py @@ -224,6 +224,28 @@ def test__given_schema_kernel_reference__then_it_is_not_an_entrypoint() -> None: assert not _looks_like_python_entrypoint("kernel:fit_qrf") +@pytest.mark.parametrize( + ("location", "value", "refused"), + [ + ("pkg/nz/concept_mapping.json.bindings[0]", "nz/statutes/a/b.yaml", False), + ("pkg/nz/concept_mapping.json.bindings[0]", "dotted.module", True), + ("pkg/nz/concept_mapping.json.bindings[0]", "dotted.module:callable", True), + ("pkg/nz/concept_mapping.json.bindings[0]", "../outside.yaml", True), + ("pkg/nz/concept_mapping.json.bindings[0]", "nz/statutes/a/b.py", True), + ("pkg/nz/concept_mapping.json", "nz/statutes/a/b.yaml", True), + ("pkg/nz/transport_graph.json.bindings[0]", "nz/statutes/a/b.yaml", True), + ], +) +def test__given_a_concept_mapping_module__then_only_a_rulespec_path_is_data( + location, + value, + refused, +) -> None: + offenders = [] + _collect_executable_content({"module": value}, location, offenders) + assert (f"{location}.module" in offenders) is refused + + def _partition_fact_key_roster() -> dict: keys = [ "ledger.aggregate_fact.v2:" + "a" * 24, @@ -619,4 +641,19 @@ def _is_compiler_identity_field(*, key: str, value: object, location: str) -> bo and isinstance(value, str) and re.fullmatch(r"ledger\.[a-z_]+\.v\d+:[0-9a-f]{24}", value) is not None ) - return virtual_resource_label or generated_lock_count or ledger_fact_identity + # A concept mapping's ``module`` names the RuleSpec file that scopes one + # binding. ``ConceptMapping.from_dict`` reads that field and the transport + # kernels select bindings by it, so a packaged mapping has to spell it so. + # Anything other than a country's RuleSpec YAML path stays refused. + concept_mapping_module = ( + key == "module" + and isinstance(value, str) + and re.fullmatch(r"[a-z]{2}(?:/[a-z0-9_]+)+\.yaml", value) is not None + and re.search(r"/concept_mapping\.json\.bindings\[\d+\]$", location) is not None + ) + return ( + virtual_resource_label + or generated_lock_count + or ledger_fact_identity + or concept_mapping_module + ) From bac6dc222f0ce31c84cb4982f04cfd1131219ef1 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 19:56:09 -0500 Subject: [PATCH 15/15] Admit Belgian regional and hyphenated RuleSpec paths Belgium's check of rulespec-be found 32 of its 116 rule files outside the scan's path pattern: regional trees such as be-vlg/ and one article with a hyphen. Widen the pattern to those two shapes. A segment still can't hold a dot, so .. stays refused. Co-Authored-By: Claude Opus 5.5 --- .../engine_free/shared/test_spec_only_country_packages.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py b/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py index 3b162f52f0..373f7e1670 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_spec_only_country_packages.py @@ -228,6 +228,8 @@ def test__given_schema_kernel_reference__then_it_is_not_an_entrypoint() -> None: ("location", "value", "refused"), [ ("pkg/nz/concept_mapping.json.bindings[0]", "nz/statutes/a/b.yaml", False), + ("pkg/be/concept_mapping.json.bindings[0]", "be-vlg/statutes/a/b.yaml", False), + ("pkg/be/concept_mapping.json.bindings[0]", "be/statutes/a/37-10.yaml", False), ("pkg/nz/concept_mapping.json.bindings[0]", "dotted.module", True), ("pkg/nz/concept_mapping.json.bindings[0]", "dotted.module:callable", True), ("pkg/nz/concept_mapping.json.bindings[0]", "../outside.yaml", True), @@ -648,7 +650,8 @@ def _is_compiler_identity_field(*, key: str, value: object, location: str) -> bo concept_mapping_module = ( key == "module" and isinstance(value, str) - and re.fullmatch(r"[a-z]{2}(?:/[a-z0-9_]+)+\.yaml", value) is not None + and re.fullmatch(r"[a-z]{2}(?:-[a-z]+)?(?:/[a-z0-9_-]+)+\.yaml", value) + is not None and re.search(r"/concept_mapping\.json\.bindings\[\d+\]$", location) is not None ) return (